BigTable 设计 - BigTable 单元格大小的上限
Posted
技术标签:
【中文标题】BigTable 设计 - BigTable 单元格大小的上限【英文标题】:BigTable Design - Upper Limit of the size of a BigTable cell 【发布时间】:2012-01-14 14:56:57 【问题描述】:我想知道 BigTable 是否对单元格内容的大小有上限。我所说的 BigTable 单元格是指表的特定列族、特定行和特定时间戳中的单元格。如果是,那么上限是多少,如果不是,那么在不影响性能的情况下,cell 的大小可以扩大到多少?
BigTable 论文说每个 SSTable 文件内部都有 64Kb 块和一个索引。这是否意味着索引的键是row+column+timestamp(其中+表示连接),并且某个键映射的值是64kb的对应单元格?那么这是否意味着 BigTable 单元格不能超过 64 Kb?
谢谢
【问题讨论】:
好吧,先生。聪明的裤子......如果你没有什么可说的,你最好别这样......usenix.org/event/osdi06/tech/chang/chang_html 【参考方案1】:你指的是google对大表的具体实现吗?我想只有谷歌的人才可以回答这个问题。
论文本身并没有将单元格限制为 64 kb。虽然没有提到,但我想单元格可以跨越多个 sstable 块。
大表数据模型的两个主要开源实现都允许大于 64kb 的单元格。 Apache Cassandra 的技术限制为 2gb,尽管实际限制要小得多。 Apache HBase 常见问题解答建议不要使用超过 10mb 的单元大小,但我不确定实际的技术限制。
【讨论】:
这很有帮助。谢谢!【参考方案2】:根据 BigTable 文档中的Designing Your Schema,有个别值的建议限制和硬限制。
建议限制:~10 兆字节(10.4858 兆字节)
硬限制:100 MB
但值得注意的是,对于行也有推荐和硬限制,并且有足够的满足推荐/硬限制的单元格很可能会超过行限制。
【讨论】:
以上是关于BigTable 设计 - BigTable 单元格大小的上限的主要内容,如果未能解决你的问题,请参考以下文章