gcp bigtable 中的列族是啥,数据如何存储在 bigtable 中?

Posted

技术标签:

【中文标题】gcp bigtable 中的列族是啥,数据如何存储在 bigtable 中?【英文标题】:What is column family in gcp bigtable and how is data stored in bigtable?gcp bigtable 中的列族是什么,数据如何存储在 bigtable 中? 【发布时间】:2021-12-18 00:08:06 【问题描述】:

在 cassandra 中,列族只是表

What's the difference between creating a table and creating a columnfamily in Cassandra?

但似乎列族指的是 gcp bigtable 中的其他内容

https://cloud.google.com/bigtable/docs/schema-design

gcp bigtable 中的列族到底是什么?

bigtable 是一个键值存储对吗?

bigtable 是如何存储它的数据的?

        column1               column2
row1    row1_column1_value    row1_column2_value
row2    row1_column1_value    row1_column2_value

是否存储为

rowKey1:column1_value:column2_value rowKey2:column1_value2:column2_value2

rowKey1:column1_value rowKey2:column1_value2
rowKey1:column2_value rowKey2:column2_value2

【问题讨论】:

【参考方案1】: Cloud Bigtable 中的

列族是指一组相互关联和/或通常一起使用的列。 Bigtable 中的这些列分组有助于组织数据并限制您撤回的内容。

如Bigtable documentation所示,下面是一个BT表的示例表结构(用值编辑):

为了进一步说明这一点,请使用cbt tool查看此对应表:

----------------------------------------
r1
  cf1:c1                                   @ 2021/12/20-06:27:45.349000
    "val1"
  cf1:c2                                   @ 2021/12/20-06:29:15.517000
    "val3"
  cf2:c2                                   @ 2021/12/20-06:48:09.685000
    "val5"
----------------------------------------
r2
  cf1:c1                                   @ 2021/12/20-06:28:33.973000
    "val2"
  cf1:c2                                   @ 2021/12/20-06:29:29.219000
    "val4"
  cf2:c1                                   @ 2021/12/20-06:49:24.112000
    "val6"

另外,您可以尝试quickstart guide 来熟悉 Bigtable。

【讨论】:

以上是关于gcp bigtable 中的列族是啥,数据如何存储在 bigtable 中?的主要内容,如果未能解决你的问题,请参考以下文章

Bigtable / HBase:丰富的列族与单个 JSON 对象

HBase基础和伪分布式安装配置

Bigtable 列族时间范围扫描返回所有行而不考虑时间戳

Hbase随笔2

尝试在 bigtable 中模拟单元级 TTL,但整个列族数据被垃圾收集删除

使用 GCP Cloud DataFlow 读取 BigTable 并转换为通用记录