我想知道BigTable是否对单元格内容的大小有上限。所谓BigTable单元格,指的是表的特定列族、特定行和特定时间戳中的单元格。如果是,那么上限是多少?如果不是,那么单元的大小可以扩展到多少而不会对性能产生负面影响?
BigTable的论文说,每个SSTable文件在内部都有64Kb的块和一个索引。这是否意味着索引的键是row+column+timestamp (其中+表示连接),并且由某个键映射的值是64kb的对应单元格?那么,这是否意味着一个BigTable单元不能超过64KB?
谢谢
发布于 2012-01-15 01:05:49
你指的是google对big table的具体实现吗?我想只有谷歌的人才能回答这个问题。
论文本身并没有将单元格限制在64kb。虽然没有提到,但我认为cell可以跨越多个sstable块。
大表数据模型的两个主要开源实现都允许大于64kb的单元格。Apache Cassandra有2 2gb的技术限制,尽管实际限制要小得多。Apache HBase常见问题解答建议不要使用超过10mb的单元大小,但我不确定实际的技术限制。
发布于 2017-12-28 02:16:42
根据BigTable文档中的Designing Your Schema,对于单个值有建议的限制和硬限制。
建议限制:~10兆字节(10.4858兆字节)
硬限制:100兆字节
然而,值得注意的是,对于行也有推荐的和硬的限制,如果有足够的单元格满足推荐/硬限制,可能会远远超过行限制。
https://stackoverflow.com/questions/8862995
复制相似问题