【发布时间】:2019-04-28 13:53:03
【问题描述】:
如果我有一个同时用于海量数据存储和可搜索性的用例,我为什么会选择 Google Cloud Bigtable 而不是 Google Cloud Datastore?
我已经看到一些关于 SO 和其他方面“比较”Bigtable 和 Datastore 的问题,但似乎归结为相同的非特定答案。
这是我目前的知识和想法:
数据存储更昂贵。
在这个问题的背景下,让我们完全忘记定价。
Bigtable 适用于大型数据集。
Datastore 似乎也是?我看不出是什么让 Bigtable 在客观上更胜一筹。
Bigtable 在分析方面比 Datastore 更好。
怎么样?为什么?看来我也可以在 Datastore 中进行分析,没问题。为什么 Bigtable 似乎是全行业一致的分析决策? GMail、eBay 等从 Bigtable 中获得了 Datastore 无法提供的哪些价值?
Bigtable 与 Hadoop、Spark 等集成。
考虑到它是基于 Bigtable 构建的,Datastore 是否也不是很好?
来自this question,这个声明是在一个答案中做出的:
Bigtable 和 Datastore 截然不同。是的,数据存储是建立在 Bigtable 之上的,但这并不像它。这有点像说汽车是建立在 [car] 车轮之上的,因此汽车与车轮没有太大区别。
但是,这种类比似乎是荒谬的,因为汽车(包括车轮)在本质上提供的价值不仅仅是汽车的车轮本身。
乍一看,Bigtable 似乎比 Datastore 差,只提供单一索引,限制了快速搜索。我错过了什么?
【问题讨论】:
-
我建议同时考虑 Cloud Spanner 和 Firestore。我建议在进行比较时考虑每秒 100K+ 操作的性价比。
-
我还查看了 Firestore,并且肯定也将其加入。我不一定会考虑 Cloud Spanner,因为它是一个关系数据库。在 100K ops/second 时,价格肯定会发挥作用,但这里的用例可能永远不会超过 500-1000 ops/second,而且两家商店之间的价格非常相似。
标签: google-cloud-platform nosql google-cloud-datastore bigtable google-cloud-bigtable