2012-06-20 30 views
5

我對使用通用圖數據庫(neo4j)與mongodb跟蹤GPS設備之間感到困惑。哪個數據庫用於基於GPS的跟蹤

功能我需要:

  • 追蹤和輪廓每個被跟蹤設備的路徑。基於
  • 緯度長/地址搜索基於彙總數據的所有設備
  • 一些更聰明的東西,爲此我將實現算法設備
  • 流量估計。
  • 應該有一個穩定的接口的NodeJS

有什麼建議?

這裏的一些答案建議使用GIS數據庫,一些建議圖,有人可以澄清區別?

NoSQL and spatial data

+0

通常情況下,如果您要進行大量聚合,則需要使用SQL數據庫。然而,像Mongo這樣的DB和這方面沒有出現過。事實是,鑑於你的名單,很難做出任何決定。很容易就可以啓動MySQL並高效地完成您需要的一切。不知道更多細節,很難提出建議。 – Brad

+0

@brad:上面的一些東西就像你說的在mysql(跟蹤部分)中所做的那樣容易,其餘的我需要一些複雜的查詢,比如「讓這個位置的所有可用驅動程序準備好到達位置b」根據他們的評級和誰花更少的時間「 – srinathhs

+0

那麼,該查詢的第一部分是小菜一碟。對於「誰花更少的時間」部分,我假設你要實現路徑尋找算法。無論如何,你可能會在應用程序方面做到這一點。 – Brad

回答

2

考慮具體的實現決定與mongodb + postgis配置。

+0

什麼樣的配置?你可以解釋嗎? – Balu

2

,因爲它聽起來像你的數據分析將利用很多的蒙戈排除關係的特點,我建議,而不是一個沒有SQL數據庫,如蒙戈, 對象關係型數據庫。

根據您的規格我會建議PostgreSQL與PostGis插件。 PostGIS是PostgreSQL關係數據庫服務器的空間數據庫附加組件。它包括對OpenGIS「SQL簡單功能」規範中定義的所有功能和對象的支持。使用PostGIS中的許多空間函數,可以在SQL命令行上完成高級空間處理和查詢。

1

您可能需要查看couchdbgeocouch擴展名,它支持空間信息和邊界框查詢。顯然,您可以添加自己的視圖和地圖縮減功能,以滿足您的特定用例。

我的使用案例有點不同,但是每5分鐘存儲一次GPS座標,持續約3周,幾乎沒有停止超過6000公里。我有自定義視圖來計算距離,平均速度等與列表功能,以KML格式輸出行程等。還提供了一個網絡界面來實時跟蹤當前位置。沒有任何問題與CouchDB。

至於節點的客戶端庫,我對某些項目使用cradle,我對穩定性和易用性感到滿意。只要確保在改變視圖和所有內容時不會緩存開發中。