0

Google Bigtable Python 客户端仍处于 Alpha 阶段,这意味着未来的更改可能无法向后兼容并且没有 SLA。

有谁知道图书馆什么时候会有生产支持?

为了提供更多上下文,

  1. 我正在辩论 Bigtable 与 Datastore。而且我更熟悉 C++ 和 Python。
  2. 要构建的服务是 - 用户可以写帖子和添加标签。用户可以搜索或过滤特定用户或标签的帖子。Bigtable 似乎是一个很好的选择(用户 id 作为行键,标签作为列族)。但是 python 客户端库是一个问题。

感谢您提前回答。

4

2 回答 2

1

Google 提供了选择存储选项指南,其中描述了 Google Cloud Platform 上的所有存储和数据库选项,以便您更轻松地为您的项目选择一个。

对于您的用例,Google Cloud Datastore 是更好的数据库选择——我作为 Google Cloud Bigtable 的产品经理这么说。

您正在寻找一个数据库来构建一个能够搜索标签的面向用户的服务。

  • Cloud Datastore 提供内置索引的多区域或多区域同步复制数据库。
  • Cloud Bigtable 是一个单区域存储系统,只有一个索引:行键,没有二级索引,所以你必须自己构建它。

关于您提出的方法:Bigtable 具有单个索引,可以轻松以低延迟查找特定行或行集。因此,如果您的行键是用户或帖子 ID,则可以快速找到它们。但是,如果标签存储在列中,则“查找具有此标签的所有帖子”的查询是耗时的,因为它涉及全面扫描数据库以查看哪些行具有存储在列中的特定标签(列族和列族限定符未编入索引)。

因此,您应该使用 Cloud Datastore 来构建此应用程序。

祝你的项目好运!

于 2016-11-18T18:10:56.257 回答
0

请注意,Cloud Bigtable 的 Python 客户端库现已正式发布 [1]。如果您只需要在特定用户中搜索或过滤标签,则 Cloud Bigtable 可用于此类用例,但正如上面所罗门所说,在 Cloud Bigtable 中按所有用户的标签搜索或过滤效率低下。

[1] https://googleapis.dev/python/bigtable/latest/index.html

于 2019-09-20T17:36:20.607 回答