【问题标题】:Google Cloud Bigtable Python Client APIGoogle Cloud Bigtable Python 客户端 API
【发布时间】:2016-11-16 07:19:47
【问题描述】:
Google Bigtable Python 客户端 Library 仍处于 Alpha 阶段,这意味着未来的更改可能无法向后兼容且没有 SLA。
有人知道图书馆什么时候会有生产支持吗?
为了提供更多上下文,
- 我正在讨论 Bigtable 与 Datastore。而且我更熟悉 C++ 和 Python。
- 要构建的服务是 - 用户可以写帖子和添加标签。用户可以搜索或过滤特定用户或标签的帖子。 Bigtable 似乎是一个很好的选择(用户 id 作为行键,标签作为列族)。但是 python 客户端库是一个问题。
感谢您提前回答。
【问题讨论】:
标签:
python
google-cloud-storage
google-cloud-bigtable
【解决方案1】:
Google 提供了Choosing a Storage Option guide,它描述了 Google Cloud Platform 上的所有存储和数据库选项,以便您更轻松地为您的项目选择一个。
对于您的用例,Google Cloud Datastore 是更好的数据库选择——我作为 Google Cloud Bigtable 的产品经理这么说。
您正在寻找一个数据库来构建一个能够搜索标签的面向用户的服务。
- Cloud Datastore 通过built-in indexing 提供多专区或多区域的同步复制数据库。
- Cloud Bigtable 是一个单区存储系统,只有一个索引:行键,没有二级索引,因此您必须自己构建。
关于您提出的方法:Bigtable 具有单个索引,可以轻松找到特定行或行集,并且延迟低。因此,如果您的行键是用户或帖子 ID,则可以快速找到它们。但是,如果标签存储在列中,则“查找具有此标签的所有帖子”的查询是耗时的,因为它涉及对数据库的全面扫描以查看哪些行具有该特定标签存储在列中(列族和列族限定符未编入索引)。
因此,您应该使用 Cloud Datastore 来构建此应用程序。
祝你的项目好运!