我需要存儲由地理點組成的地理路徑數據,這些地理點應由唯一鍵進行索引。例如:由其行程編號索引的車輛行駛的路徑。這條路可以是無限長的。使用密鑰存儲無限大小的巨大json數據
截至目前,我正在考慮以JSON對象的形式存儲路徑。我腦海中的選項是Riak
和MongoDB
。我想用開源技術。如果它支持集羣將會很好。如果一個節點出現故障,我們在應用程序中不會出現任何停機。
MySQL
目前是我們的原始數據源(我們將以任何方式轉移到NoSQL DB,但不是現在)。但是,由於數據量巨大(每天有200萬個地理位置條目),因此MYSQL需要很長時間才能根據時間戳過濾數據。 MySQL仍然是我們的主要數據源。我正在尋找的解決方案將作爲基於id的更快路徑檢索的緩存。
在當前MySQL的架構,我有字段有:車輛
system_timestamp,
gps_timestamp,
speed,
lat,
lot
該表存儲中的所有地理點的車輛是否是在旅行或沒有。這裏的旅程是基於駕駛員是否想跟蹤運動。如果他想跟蹤運動,我們會生成一個唯一的行程ID,並將其與駕駛員的行程開始時間和結束時間相關聯。稍後,根據旅程ID顯示路徑,我們使用行程的開始時間結束時間來過濾來自原始表格的數據。
我想將行程路徑作爲緩存存儲到輔助數據庫中,以便檢索速度很快。
哪個數據庫應該是我的理想選擇?我還有什麼其他選擇?
這似乎是一個有趣的話題,但有些事情我不清楚:1.目前數據如何存儲在MySQL數據庫中? 2.你究竟想達到什麼目的?這聽起來像一方面你試圖按時間戳過濾,另一方面你想通過ID檢索這些條目。 3.你通過ID和「路徑」實際上意味着什麼? –
更新了問題中的信息。我在mysql中有兩個表。一個根據時間戳存儲地理點。在另一張桌子上,我有獨特的旅行ID以及旅行的開始和結束時間。在選擇特定行程ID時,時間戳之間可用的所有地理點應以路徑的形式顯示給用戶。 我正在考慮緩存此路徑,以便我可以節省檢索時間。 –
我不清楚你需要執行什麼查詢。鑑於trip_id,顯示路徑?給定位置,列出接近它的車輛?給定時間戳,獲取vehicle_ids及其位置?你的問題在實施上過於詳細,而且在目標上還不夠詳細。 –