Ich muss in der Lage sein, die Entfernung zu n Städte von einem bestimmten Ort durch den Benutzer ausgewählt anzuzeigen. Es ist so, als würde man auf eine Karte klicken und alle Ziele innerhalb von 100 Meilen erreichen, nur dass es sich nicht um eine Karte, sondern um einen Link auf der Webseite handelt.So speichern Sie die Entfernung zwischen Städten und Gemeinden in der DB effizient
Ich muss eine Lösung wählen, die von einem Staat zu einem Land global potentiell hochskaliert - also von tausend bis hunderttausend Standorten.
Ich habe zwar CITY1_ID, CITY2_ID & DISTANCE in einer relationalen DB-Tabelle gespeichert, aber ich bezweifle, ob es gut für eine Webanwendung (Millionen von Zeilen) skalieren würde.
Könnte dies mit einer NoSQL-Datenbank oder Graph-DB effizienter gemacht werden? Oder ist RDBMS mit dem richtigen Design gut genug für dieses Problem?
Hinzugefügt: Wenn ich nicht in DB speichern dann wie bekomme ich etwas wie: Hol dir alle Städte im Umkreis von 100 Meilen von San Jose?
Ja ... diese. Obwohl dieser zweite "dann berechnen" Schritt ein bisschen schwierig ist: D Es ist definitiv eine schlechte Idee, Stadt-Stadt-Abstände zu speichern (jedes Mal, wenn du eins hinzufügst, musst du "n" Berechnungen/"Einsätze" machen). Der Datenbanktyp (RDBMS oder NoSQL) macht keinen Unterschied. – Rudu
Wenn ich nicht in DB speichere, wie bekomme ich so etwas wie: Bekommen Sie mir alle Städte innerhalb von 100 Meilen von San Jose? –
nach GROSSER KREISDISTANZ Formel oder HAVERSINE DISTANCE. – Randy