我们每天将大约一百万条记录流式传输到BQ中,并且特定的字符串列的分类值为“高”,“中”和“低”。
我试图了解Biq Query是否在自身末端进行了压缩以外的存储优化,其规模是多少?寻找有关此内容的文档,但找不到相同的解释。
例如,如果我有:
**Col1**
High
High
Medium
Low
High
Low
**... 100 Million Rows**
BQ会在内部按以下方式存储
**Col1**
1
1
2
3
1
3
**... 100 Million Rows**
答案 0 :(得分:2)
值得注意(正确!)的摘要:
正如Elliott在评论中指出的那样,您可以阅读有关BigQuery数据压缩{{3}}的详细信息。
正如Felipe所述,作为BigQuery的用户,无需考虑这些细节。所有这些优化都是在后台进行的,并且随着BigQuery的发展而不断改进,而无需您采取任何行动。
正如米哈伊尔(Mikhail)在评论中指出的那样,无论存储层上进行了任何优化,您都将根据逻辑数据大小来计费。
答案 1 :(得分:1)
BigQuery不断改善基础存储-所有这些操作都无需用户干预。
要了解BigQuery的列式存储背后的原始思想,请阅读Dremel论文:
要查看存储方面最新发布的改进,请参阅电容器:
答案 2 :(得分:1)
BigQuery依赖于Google最新一代的分布式文件系统Colossus。每个Google数据中心都有其自己的Colossus群集,并且每个Colossus群集都具有足够的磁盘,可以为每个BigQuery用户一次提供数千个专用磁盘。 您可以从“引擎盖下的BigQuery” page中收集更多详细信息。