0

我对基于地理位置的应用程序没有经验,并且希望构建基于geolaction的应用程序,并在后端以nodejs编写并在Google云上运行。地理定位应用程序Google Cloud

我的主要问题是如何设计数据库,我应该使用哪个数据库(Bigtable的或数据存储)?主要查询是查询给定位置和半径处的地点。我已经阅读了很多关于geohash的内容,但是nodejs librarys现在不太好。

那么你有什么建议我选择和设计数据库?

回答

1
  • 如果你想将数据存储在关系格式,执行频繁 加入位置/坐标和数据是 处理量之间较少(> 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编写的库。

0

GeoMesa,Apache许可的开源工具套件,支持大规模地理空间分析,works with Cloud Bigtable。我不知道这会与node.js交互如何,但是值得考虑像GeoMesa这样的框架,因为它可能使您能够更专注于核心产品。

相关问题