BigTable Design - BigTable单元格大小的上限

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BigTable Design - BigTable单元格大小的上限相关的知识,希望对你有一定的参考价值。

我想知道BigTable是否有单元格内容大小的上限。通过BigTable单元格,我的意思是,表格的特定列族,特定行和特定时间戳中的单元格。如果是,那么上限是多少,如果没有,那么在不对性能产生不利影响的情况下,可以将单元的大小扩大到多少?

BigTable文件说每个SSTable文件内部有64Kb块和一个索引。这是否意味着索引的键是行+列+时间戳(其中+表示串联),而某个键映射的值是64kb的对应单元格?那么这是否意味着BigTable单元不能超过64 Kb?

谢谢

答案

你指的是google对大表的具体实现吗?我想只有谷歌的人才能回答这个问题。

该论文本身并不将细胞限制在64kb。虽然它没有提到它,但我想小区可以跨越多个sstable块。

大表数据模型的两个主要开源实现都允许大于64kb的单元。 Apache Cassandra的技术限制为2GB,但实际限制要小得多。 Apache HBase faq建议不要使用超过10mb的单元大小,但我不确定实际的技术限制。

另一答案

根据BigTable文档中的Designing Your Schema,建议对单个值进行限制和硬限制。

推荐限制:~10 Mebibytes(10.4858兆字节)

硬限制:100 Mebibytes

但是值得注意的是,对于行也有建议和硬限制,并且具有满足建议/硬限制的足够单元可能会超过行限制。

以上是关于BigTable Design - BigTable单元格大小的上限的主要内容,如果未能解决你的问题,请参考以下文章

BigTable:来自不同列族的两个列限定符可以具有相同的名称吗?

BigTable 设计 - BigTable 单元格大小的上限

如何将数据从一个 BigTable 表复制到另一个 BigTable 表

从 BigTable 中删除与 BigTable 中的正则表达式匹配的行

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

bigtable论文阅读笔记