我想知道BigTable是否有单元格内容大小的上限。通过BigTable单元格,我的意思是,表格的特定列族,特定行和特定时间戳中的单元格。如果是,那么上限是多少,如果不是,那么在不对性能产生负面影响的情况下,可以将单元的大小扩大到多少呢?
BigTable论文称每个SSTable文件内部都有64Kb块和一个索引。这是否意味着索引的键是行+列+时间戳(其中+表示串联),而某个键映射的值是64kb的对应单元格?那么这是否意味着BigTable单元格不能超过64 Kb?
由于
答案 0 :(得分:1)
你指的是google对大表的具体实现吗?我想只有谷歌的人才能回答这个问题。
纸张本身不会将细胞限制在64 kb。虽然它没有提到它,但我想小组可以跨越多个sstable块。
大表数据模型的两个主要开源实现都允许大于64kb的单元。 Apache Cassandra的技术限制为2GB,但实际限制要小得多。 Apache HBase faq建议不要使用超过10mb的单元大小,但我不确定实际的技术限制。
答案 1 :(得分:0)
根据BigTable文档中的Designing Your Schema,建议对单个值进行限制和硬限制。
推荐限制:~10 Mebibytes(10.4858兆字节)
硬限制:100 Mebibytes
但值得注意的是,对行也有建议和硬限制,并且具有满足建议/硬限制的足够单元可能会超出行限制。