2015-06-30 21 views
1

我需要存儲大量的位置座標及其時間戳。下面是表架構如何對現有的樣子:用於在數據庫中存儲大量位置座標的表模式

User_ID, Location_Coordinate, Timestamp 

其中每個用戶被連續跟蹤,並會爲每個用戶產生了大量的位置座標。有多個用戶。什麼是有效存儲這些數據的正確方法?

我需要爲每個用戶檢索過去24小時的數據。

+0

24小時後您是否還需要數據?如果是這樣,您如何訪問超過24小時的數據?有多少用戶? –

回答

1

最簡單的方法是將其全部存儲在一個表格中,該表格中包含該位置的PostGIS geometry列。什麼是「高效」完全取決於您的應用程序。有幾件事要考慮:

  • 如果要存儲每個用戶的每個位置,請使用常規表。是否應使用索引取決於插入的數量(輸入的新位置)以及如何檢索數據。非常頻繁的插入意味着索引必須經常更新;這是一種表現懲罰。
  • 如果您獲得的位置超出您對應用程序所需的位置(例如從(GPS)設備自動推送當前位置),那麼您可能需要考慮使用不帶索引的未記錄表格(因此插入速度非常快),然後定期輪詢該表以查找新記錄,處理它們(即減少僅存儲相關數據的位置數),並將處理的數據永久存儲在具有適當索引的另一個表中。 PostGIS中有許多處理函數可用於此目的。將該未記錄的表保持較小(定期輪詢並刪除處理的數據),並且不會錯過索引。然後,您將查詢過去24小時的後一張表格,並僅將未記錄的表格用於新接收的位置。

否則,沒有太多的建議,可以給你有限的信息,你提供。用更多細節編輯你的問題,你會得到更詳細的答案。

相關問題