【问题标题】:Google BigQuery Underlying ArchitectureGoogle BigQuery 底层架构
【发布时间】:2014-05-09 19:57:18
【问题描述】:

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

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

【问题讨论】:

    标签: database architecture cloud google-bigquery


    【解决方案1】:

    没有索引...每个查询都是表扫描。查询架构描述为here。 您的数据以名为 ColumnIO on Colossus(GFS 的继任者)的专有列格式存储。 Colossus 会在数据中心内复制数据,并且您的数据也会复制到其他地理区域,以确保即使 Google 数据中心离线也能保持可用。

    回答您的具体问题

    • 虽然数据可能暂时存储在 Bigtable 中,但所有数据都长期存储在 Colossus 中(现在!)。
    • 添加到 bigquery 的新数据是静态加密的(即,每当它被写入永久存储时)。它在通过网络发送时也会被加密。
    • 如前所述,没有索引,因此没有重建索引的策略。根据您向表中添加数据的方式,您的表可能会被合并,这意味着以更有效的方式重写基础文件。
    • Colossus 是各种服务中大量 Google 数据的基础,ColumnIO 是整个 Google 的标准。我认为这两种技术都很成熟。
    • 但是,您也应该将其视为一个黑匣子。随着谷歌存储系统的成熟或架构的变化,这里的所有细节都可能发生变化。但是,它应该始终“正常工作”(当然,在 SLA 警告内)

    如果您对 BigQuery 如何在幕后工作或如何有效使用它感兴趣,这里是我们的 book 的无耻插件,该主题将于 6 月发布。

    【讨论】:

    • 伟大的洞察力乔丹。感谢您的回复。我认为缺乏索引是非常令人着迷的。关于我的“成熟”评论,我可能会更好地表达它只是询问客户对其数据的控制程度。我更喜欢搭上 Google 的马车,不费吹灰之力就从架构改进中受益。我想这最终会成为许多企业架构师和 CTO 以及财务人员的巨大卖点。
    • 嗨@Jordan,你提到了巨像,你有这方面的参考资料吗?论文或书籍等。我通常拥有大部分 Google 技术知识的 research.google.com 对 Colossus 没有任何帮助。
    猜你喜欢
    • 1970-01-01
    • 2013-12-11
    • 2016-03-09
    • 1970-01-01
    • 1970-01-01
    • 2010-12-09
    • 1970-01-01
    • 2018-08-14
    • 2023-02-01
    相关资源
    最近更新 更多