什么是Dremel?



BigQuery并非无限能力的工具。事实上,最好避免将BigQuery视为一个谚语中的黑盒。为了加深您的理解,有必要“深入了解”并检查BigQuery引擎的一些内部工作原理。

Google 的 Dremel:一个分布式计算框架

BigQuery基于一个名为Dremel的分布式计算框架,Google在2010年的一篇白皮书中更详细地解释了它:“Dremel:交互式分析网络规模数据集”。

这篇白皮书描述了定义现代BigQuery的许多核心特征的愿景,例如临时查询系统、几乎无限的计算能力以及对处理大数据(TB和PB)的重视。

Dremel是如何工作的?

由于Dremel最初是内部产品(自2006年以来在Google内部使用),它结合了搜索和并行数据库管理系统的各个方面。

为了执行查询,Dremel使用“树状”结构,其中查询的每个阶段都是按顺序执行的,并且可以并行执行多个查询。Dremel将SQL查询转换为执行树。

槽:BigQuery执行的基础单元

“查询执行”标题下,作者描述了BigQuery执行的基础单元:

  • 槽是一个抽象概念,代表可用的处理单元。
  • 槽是有限的,这就是为什么项目中的任何阻塞通常是由于缺乏槽可用性造成的。
  • 由于槽的使用会根据许多因素(例如处理的数据量和一天中的时间)而变化,因此可以想象,在一天早些时候快速执行的查询现在可能需要几分钟。

槽的抽象可能是Dremel论文中表达的最适用的概念;其他信息有助于了解,但主要描述了BigQuery产品的早期迭代。

BigQuery:定价和使用模式

无论您是练习第一个BigQuery查询的学生,还是高层决策者,了解定价对于确定您可以在BigQuery中存储、访问和操作内容的限制至关重要。

要彻底了解BigQuery定价,最好将成本分为两部分:

  • 使用情况(BigQuery的文档称之为“计算”)
  • 存储

使用情况涵盖了您可以想到的几乎所有SQL活动,从运行简单的SELECT查询到部署ML模型或编写复杂的自定义函数。

对于任何与使用相关的活动,BigQuery提供以下选择:

  • 按需付费或“按需”模式。
  • 批量槽或“容量”模式,客户按槽小时付费。

哪种定价模式最适合您?

在决定两种定价模式之间时,务必考虑以下因素:

  • 查询的数据量
  • 产生的用户流量

“按需”模式按TB定价,这意味着对于拥有许多大型(多个TB)表的用户来说,这可能是一种直观且方便的跟踪费用的方式。

“容量”或槽模型对于正在发展其数据基础设施的组织或个人很有帮助,他们可能没有固定数量的数据来帮助他们计算可靠的每月费率。与其担心每个资源产生多少数据,不如将问题转移到改进最佳实践,以便将查询时间分配给计划流程和个人的临时查询。

本质上,槽模型遵循Dremel项目建立的框架,其中槽(服务器)被预留并相应定价。

广告