【发布时间】:2015-06-12 14:35:14
【问题描述】:
我正在研究 BigTable 如何压缩我的数据。
我已将 1.5GB 加载到 1 个表中;大约 500k 行包含 1 列,平均每个单元格包含大约 3kb。 在进一步的测试中,更多的列将被添加到这些包含相似大小的相似数据的行中。
每个单元格中的数据目前是一个 JSON 序列化的字典数组 [10 elems on avg],例如:
[{
"field1": "100.10",
"field2": "EUR",
"field3": "10000",
"field4": "0",
"field5": "1",
"field6": "1",
"field7": "0",
"field8": "100",
"field9": "110.20",
"field10": "100-char field",
"dateField1": "1970-01-01",
"dateField2": "1970-01-01",
"dateTimeField": "1970-01-01T10:10:10Z"
},{
"field1": "200.20",
"field2": "EUR",
"field3": "10001",
"field4": "0",
"field5": "1",
"field6": "0",
"field7": "0",
"field8": "100",
"field9": "220.30",
"field10": "100-char field",
"dateField1": "1970-01-01",
"dateField2": "1970-01-01",
"dateTimeField": "1970-01-01T20:20:20Z"
}, ...]
BigTable 控制台显示集群拥有 1.2GB。因此,它将我插入的 1.5GB 压缩到原始大小的大约 80%。压缩一个典型的字符串,因为它们存储在单元格中,但是给我一个大约 20% 的压缩率。
鉴于我插入的数据包含许多重复值(例如字典键),BigTable 的这种压缩性能在我看来似乎很低。我知道 BigTable 会以压缩换取速度,但我希望它能够更好地处理我的数据。
对于上述数据,80% 的压缩率是否可以,或者是否可以预期较低的值? 除了对我上传的数据进行重构之外,是否有任何技术可以提高压缩率?
谢谢!
【问题讨论】:
-
我们会在下周初给您答复。
-
嗨 Mathias - 想给我发一封电子邮件,以便我们可以离线讨论这个问题? lesv (at) g...le (dot) com
标签: google-cloud-platform google-cloud-bigtable