大规模并行查询引擎 BlinkDB

BlinkDB 是一个用于在海量数据上运行交互式 SQL 查询的大规模并行查询引擎。它允许用户通过权衡数据精度来提升查询响应时间,其数据的精度被控制在允许的误差范围内。

为了达到这个目标,BlinkDB 使用两个核心思想:

  • 一个自适应优化框架,从原始数据随着时间的推移建立并维护一组多维样本;
  • 一个动态样本选择策略,选择一个适当大小的示例基于查询的准确性和(或)响应时间需求。

我们已经使用了 TPC-H 基准测试来评估 BlinkDB 的性能,实际分析工作负载来自 Conviva Inc. 和在 Facebook Inc 的部署。

VLDB 2012 中,BlinkDB 演示了在 Amazon EC2 集群部署了 100 个节点,大约 17TB 的数据中查询不到 2 秒钟,比 Hive 快 200 倍,错误率在 2-10%。

blinkdb