Ich gehe davon aus, dass Sie viele Punkte haben und schnell Ergebnisse brauchen - ansonsten können Sie fast alles verwenden.
Für mich sieht es nach einem Map-Reduce-Job aus
Der Kartenteil wäre eine Schleife "für jeden nicht besuchten Punkt" und sollte ein Datenkonstrukt ausgeben, das Nachbarn, Kandidatencluster und was auch immer enthält. Falls Punkt als Rauschen klassifiziert wird, sollte er nichts aussenden.
Die Cluster-Erweiterung soll in den Reduzierungs- und möglicherweise Finalisierungsteil gehen - auch die Sprachauswahl wäre Javascript und alles würde innerhalb von Mongo passieren