Database Google BigQuery底层架构

Database Google BigQuery底层架构,database,architecture,cloud,google-bigquery,Database,Architecture,Cloud,Google Bigquery,所以我在大约10分钟前才开始玩弄Google BigQuery,我想知道是否有人知道他们用来存储数据的底层架构?例如,这只是他们自己的BigTable基础设施的下一代吗 另外,是否清楚他们在索引、索引重建等方面使用了哪些策略?我只是想分析这是否足够成熟,在这一点上,您可以100%确定端到端的数据发生了什么,或者是否存在“一切正常”的黑匣子区域?没有索引。。。每个查询都是表扫描。描述了查询体系结构。 您的数据在巨像(GFS的继承者)上以一种名为ColumnIO的专有列格式存储。巨像在数据中心内复制

所以我在大约10分钟前才开始玩弄Google BigQuery,我想知道是否有人知道他们用来存储数据的底层架构?例如,这只是他们自己的BigTable基础设施的下一代吗


另外,是否清楚他们在索引、索引重建等方面使用了哪些策略?我只是想分析这是否足够成熟,在这一点上,您可以100%确定端到端的数据发生了什么,或者是否存在“一切正常”的黑匣子区域?

没有索引。。。每个查询都是表扫描。描述了查询体系结构。 您的数据在巨像(GFS的继承者)上以一种名为ColumnIO的专有列格式存储。巨像在数据中心内复制数据,您的数据也会复制到其他地理区域,以确保即使谷歌数据中心离线,数据仍然可用

回答你的具体问题

  • 虽然数据可能暂时存储在Bigtable中,但所有数据都会长期存储在巨像中(目前!)
  • 添加到bigquery的新数据在静止时(即,无论何时将其写入永久存储器)进行加密。它在通过网络发送时也会加密
  • 如前所述,没有索引,因此没有重建索引的策略。根据向表中添加数据的方式,可以合并表,这意味着以更高效的方式重写底层文件
  • ColumnIO是整个谷歌的一个标准,它在各种各样的服务中隐藏着大量的谷歌数据。我认为这两种技术都是成熟的
  • 但是,你也应该把它看成一个黑匣子。这里的所有细节可能会随着谷歌存储系统的成熟或架构的变化而变化。但是,它应该总是“正常工作”(当然,在SLA警告中)

如果您对BigQuery如何在封面下工作或如何有效地使用它的更多细节感兴趣,这里有一个关于这个主题的无耻插件,将于6月发布。

Great insight Jordan。谢谢你的回复。我认为缺少索引是非常有趣的。关于我的“成熟”评论,我可能会用更恰当的措辞询问客户对其数据的控制程度。我更喜欢搭上谷歌的马车,不费吹灰之力就从架构改进中获益的想法。我想这最终会成为许多企业架构师和首席技术官以及财务人员的一个巨大卖点。嗨@Jordan,你提到了巨像,你有关于它的参考资料吗?论文或书籍等。I research.google.com通常拥有大部分谷歌技术知识,但对巨人来说并没有任何意义。