Bigtable 二级索引:最佳实践/推荐方法

问题描述 投票:0回答:1

在 Google Bigtable(或本身不支持任何二级索引的任何其他分布式数据库)上支持二级索引的替代方案有哪些。

用例

  • 我的“Orders”表上有大约 50 亿行(行键是 orderId),并且想要在“customerID”属性上添加二级索引
  • 我可以接受二级索引最终一致(如果能实现强一致性那就太好了)。

想知道实现这一目标的可能方法。 (优点/缺点)

(我可以想出一种使用单独的表维护这个二级索引并从应用程序层本身管理它的方法。但想了解它的优点/缺点,或任何其他推荐的模式)。

google-cloud-platform google-cloud-bigtable bigtable distributed-database secondary-indexes
1个回答
0
投票

Bigtable 没有对二级索引的明确支持。在 Bigtable 中,模式设计主要由您计划发送到表的查询或读取请求驱动。因为读取行范围是读取 Bigtable 数据的最快方法。

如果您开放其他云服务,可以查看Google的Cloud Spanner,它内置了对二级索引的支持。可以参考这个文档

在 Spanner 中,您还可以向现有表添加新的二级索引,同时数据库继续提供流量。与 Spanner 中的任何其他架构更改一样,向现有数据库添加索引不需要使数据库脱机,也不会锁定整个列或表。

如上所述这里

Bigtable 不支持协处理器。您无法创建实现接口

org.apache.hadoop.hbase.coprocessor
的类。

© www.soinside.com 2019 - 2024. All rights reserved.