BigQuery:强大的数据仓库解决方案
1. 计算资源扩展
BigQuery 的资源以“插槽”为单位,大致约为半个 CPU 核心。它将插槽作为抽象概念,用以表明可用的物理计算资源数量。若查询运行缓慢,可增加插槽;若更多人要创建报告,也增加插槽;若想削减开支,则减少插槽。
由于 BigQuery 是多租户系统,能管理大量硬件资源,可按查询或用户分配插槽。你既可为项目或组织预留硬件,也能在共享的按需资源池中运行查询。通过这种资源共享方式,BigQuery 可为查询投入大量计算能力。若按需资源池中的计算能力不足,可通过 BigQuery 预留 API 购买更多。
部分 BigQuery 客户预留了数万个插槽,这意味着若一次仅运行一个查询,该查询可同时占用数万个 CPU 核心。基于合理假设,这些实例每秒可处理数十亿甚至数万亿行数据。不同客户的数据使用情况差异大,有的有 PB 级数据但日常使用量少,有的仅存储几百 GB 数据却用数千个 CPU 执行复杂查询。不过,计算与存储分离使 BigQuery 能满足广泛的客户需求。
2. 存储与网络基础设施
2.1 独特的查询数据来源
与其他云数据仓库不同,BigQuery 的查询数据主要来自分布式文件系统中的旋转磁盘。多数竞争对手系统需在计算节点中缓存数据以获良好性能,而 BigQuery 依靠谷歌独有的 Colossus 文件系统和 Jupiter 网络,确保无论数据在计算集群中的物理位置如何,都能快速查询。
2.2 Jupiter 网络架构
谷歌的 Jupiter 网络结构采用小型(因而更便宜)交换机的配置,可实现原本需大型逻辑交换
订阅专栏 解锁全文
401



被折叠的 条评论
为什么被折叠?



