我對基於地理位置的應用程序沒有經驗,並且希望構建基於geolaction的應用程序,並在後端以nodejs編寫並在Google雲上運行。地理定位應用程序Google Cloud
我的主要問題是如何設計數據庫,我應該使用哪個數據庫(Bigtable的或數據存儲)?主要查詢是查詢給定位置和半徑處的地點。我已經閱讀了很多關於geohash的內容,但是nodejs librarys現在不太好。
那麼你有什麼建議我選擇和設計數據庫?
我對基於地理位置的應用程序沒有經驗,並且希望構建基於geolaction的應用程序,並在後端以nodejs編寫並在Google雲上運行。地理定位應用程序Google Cloud
我的主要問題是如何設計數據庫,我應該使用哪個數據庫(Bigtable的或數據存儲)?主要查詢是查詢給定位置和半徑處的地點。我已經閱讀了很多關於geohash的內容,但是nodejs librarys現在不太好。
那麼你有什麼建議我選擇和設計數據庫?
如果你想將數據存儲在關係格式,執行頻繁 加入位置/座標和數據是 處理量之間較少(> 50 GB),然後去Google Cloud SQL。
Cloud Bigtable非常適用於存儲非常大量的具有非常低延遲的單鍵數據的 數據。它與大多數Apache項目有很好的整合 服務。
如果要在關係格式,
和頻繁的插入和updations需要對大量數據 沒有數據的要求,去Google Cloud Datastore。查詢過程將是
略有不同,很難讓天真的人理解。
如果不需要頻繁的插入和更新,您也可以使用Google BigQuery來處理 幾秒鐘內的TB數據。
它更像是一個數據存儲。
看一看在以下網址獲得更好的見解:https://cloud.google.com/storage-options/
谷歌還宣佈Cloud Spanner這是一個關係型數據庫 服務,提供了極大的一致性和速度(仍然是 測試版)。它還處於早期階段,但是可以徹底改變SQL vs NoSQL的概念 。
上述所有數據庫都查詢爲NodeJS編寫的庫。
GeoMesa,Apache許可的開源工具套件,支持大規模地理空間分析,works with Cloud Bigtable。我不知道這會與node.js交互如何,但是值得考慮像GeoMesa這樣的框架,因爲它可能使您能夠更專注於核心產品。