2012-06-20 15 views
5

Jestem zdezorientowany między wykorzystaniem ogólnej bazy danych wykresu (neo4j) do mongodb do śledzenia urządzeń GPS.Którego db do śledzenia na podstawie GPS

Funkcjonalność wymagam:

  • Track and profil ścieżkę każdego śledzonego urządzenia.
  • Lat długo/adres oparty wyszukiwanie urządzeń
  • estymacji ruchu na podstawie zagregowanych danych ze wszystkich urządzeń
  • Niektóre bardziej inteligentny rzeczy, za które będzie implementować algorytmy.
  • powinno mieć stabilny interfejs Nodejs

Wszelkie sugestie?

Niektóre odpowiedzi sugerują wykorzystanie bazy danych GIS, niektóre sugerują wykres. Czy ktoś może wyjaśnić różnicę?

NoSQL and spatial data

+0

Zwykle, jeśli zamierzasz wykonywać wiele agregacji, baza danych SQL jest drogą do zrobienia. Jednak bazy danych, takie jak Mongo i co nie przyszło w tym kierunku. Faktem jest, że biorąc pod uwagę twoją listę, trudno jest podjąć decyzję w obu kierunkach. Łatwo jest odpalić MySQL i zrobić wszystko, czego potrzebujesz tutaj, wydajnie. Bez znajomości szczegółów trudno jest coś zasugerować. – Brad

+0

@brad: Niektóre z powyższych rzeczy są, jak powiedziałeś, łatwe do zrobienia w mysql (część śledząca), dla reszty potrzebuję kilku skomplikowanych zapytań, takich jak "pobierz wszystkie dostępne sterowniki w tej lokalizacji, gotowe do lokalizacji b sortuj je na podstawie ich oceny i kto zajmuje mniej czasu " – srinathhs

+0

Cóż, pierwsza część tego zapytania to bułka z masłem. Jeśli chodzi o część "kto zajmuje mniej czasu", zakładam, że zastosujesz algorytm odnajdywania ścieżek. Prawdopodobnie będziesz to robił po stronie aplikacji. – Brad

Odpowiedz

2

Biorąc pod uwagę konkretną implementację, zdecydowano się na konfigurację mongodb + postgis.

+0

jaki rodzaj konfiguracji? możesz wytłumaczyć? – Balu

2

Proponuję obiektu relacyjnej bazy danych, w przeciwieństwie do nie-SQL bazy danych, takich jak Mongo, bo brzmi to jak Twój analiza danych będzie wykorzystując wiele cech relacyjnych że Mongo wyklucza.

Według specyfikacji sugerowałbym PostgreSQL z wtyczką PostGis. PostGIS to dodatek do przestrzennej bazy danych dla relacyjnego serwera baz danych PostgreSQL. Obejmuje obsługę wszystkich funkcji i obiektów zdefiniowanych w specyfikacji OpenGIS "Simple Features for SQL". Wykorzystując wiele funkcji przestrzennych w PostGIS, możliwe jest zaawansowane przetwarzanie przestrzenne i wykonywanie zapytań całkowicie w wierszu poleceń SQL.

1

Możesz chcieć rzucić okiem na rozszerzenie geocouch dla couchdb, które obsługuje informacje przestrzenne wraz z zapytaniami o obwiednię. Oczywiście możesz dodawać własne widoki z funkcjami zmniejszania map do konkretnych przypadków użycia.

Mój przypadek użycia był nieco inny, ale polegał na zapisywaniu współrzędnych GPS co 5 minut przez około 3 tygodnie prawie żadnego zatrzymania ponad 6000 km. Miałem niestandardowe widoki do obliczania odległości, średnią prędkość, itp. Wraz z funkcją listy, aby wyprowadzać trasy w formacie KML i takie. Dostarczono również interfejs sieciowy do śledzenia bieżącej lokalizacji w czasie rzeczywistym. Nie ma problemu z CouchDB.

Jeśli chodzi o bibliotekę kliencką dla węzła, w przypadku niektórych projektów używam cradle i jestem zadowolony ze stabilności i łatwości użytkowania. Upewnij się, że nie buforujesz w trakcie tworzenia, zmieniając widoki i wszystko.

Powiązane problemy