如果我同时具有大量数据存储和的用例,为什么我会选择Google Cloud Bigtable而不是Google Cloud Datastore?
我已经在SO和其他方面“比较” Bigtable和Datastore时看到了一些问题,但这似乎可以归结为相同的非特定答案。
这是我目前的知识和想法:
数据存储区更昂贵。
在这个问题中,让我们完全忘记定价。
Bigtable适用于庞大的数据集。
似乎数据存储也是如此?我看不到是什么使Bigtable在客观上优于其他产品。
Bigtable优于Datastore进行分析。
如何?为什么?似乎我也可以在数据存储区中进行分析,没问题。为什么Bigtable似乎是全行业分析界的一致决定? BigTable可以从Datastore无法提供的GMail,eBay等商品中获得什么价值?
Bigtable已与Hadoop,Spark等集成。
考虑到数据存储库是建立在Bigtable上的,它不是很好吗?
在this question中,此声明是在一个答案中提出的:
Bigtable和数据存储区极为不同。是的,数据存储区是建立在Bigtable之上的,但这并没有使其成为现实。这就好比说汽车是在[汽车]车轮上构建的,因此汽车与车轮没有太大区别。
但是,这似乎比喻似乎是荒谬的,因为汽车(包括车轮)从本质上提供的价值比仅靠汽车本身的车轮要多。
乍一看,Bigtable严格比Datastore差,仅提供单个索引并限制了快速搜索性。我想念什么?
答案 0 :(得分:13)
Bigtable和Datastore已针对稍微不同的用例进行了优化,并提供了不同的权衡。主要的是:
数据模型:
成本模式:
通常,Bigtable是您的理想选择:
适用于Bigtable的示例用例包括时间序列数据(用于IoT,监控等-认为极度写入繁重的工作负载和在x单位时间内生成的大量数据),分析(考虑欺诈检测,个性化) ,建议)和广告投放(每毫秒)。
如果需要,数据存储(或Firestore)是一个不错的选择
示例用例包括移动和Web应用程序,游戏状态,用户配置文件和产品目录。
要明确回答您的几个问题: