walter的dril笔记之一-简介

Drill:大数据的交互式分析

简介

        Dril是开源世界中“交互式”的数据分析系统。目标是可以组建超过10000台机器的集群,并且可以在秒级处理PB级别或者万亿条数据。Hadoop作为大数据处理的事实标准,设计目标是实现大数据处理的高吞吐量。MapReduce处理一个数据,需要分钟级的时间。而业界对交互式的低延迟的数据分析和挖掘提出了新的需求,Google的Dremel希望将处理时间缩短到秒级。当前Dremel已经为Google的bigquery提供服务。Drill作为Google Dremel的开源实现,并非Hadoop的替代品,只是其补充。和Dremel一样,Drill可以高效的处理嵌套式数据格式。此外,Drill加入了额外的特性,支持更广泛的查询语言,数据格式和数据源。

alt

​概念模型

​​alt

        现在Drill的已经完成了初始的需求,架构。实现了一个包括一个执行引擎和DrQL的初始系统。和Hadoop一样,Drill想要支持多种存储系统(通过文件系统API)和文件格式(通过输入输出API)。同时,Drill希望支持多种查询语言,数据格式和数据源。

Drill的架构分为了四个组件:

  • 查询语言:这一层是用来分析用户的查询并生成一个查询计划。初始目标是支持类似Dremel和Goolgle BigQuery 使用的 SQL-Like 语言,我们叫做DrQL。当然,Drill也会支持更多的查询语言,比如Mongo Query Language, Cascading 和 Plume。
  • 低延迟的分布式执行引擎:这一层是用来执行物理计划,提供在10000台服务器上高效分析PB级别数据的扩展性和容错性。Drill的执行引擎参考了一些分布式执行引擎(Dremel,Dryad,Hyracks, CIEL, Stratosphere)和列式存储。这里要提一下,Drill的执行引擎非常灵活,同时支持基于列的查询和基于行的查询。
  • 嵌套式数据类型:这一层是为了支持多种数据格式。初始目标是支持Dremel使用的基于列的格式。后期准备支持Protocol Buffers/Dremel, Avro/AVRO-806/Trevni, CSV,JSON, BSON , YAM等格式。
  • 可扩展的数据源:这一层用来支持多种数据源,目前计划支持Hadoop和Hbase。

 

                   alt

drill的发布计划

Milestone 1: 基本功能 2013年9月份已发布

JDBC,分布式执行,Parquet and JSON可读

Milestone 2: 执行时验证

性能,全排序,节点缓存,诊断工具,度量,parquet写

Milestone 3:查询完善

TPC-H, Hive UDF, Hive read SerDe and HBase

Milestone 4:用户交互完善

Pushdown,优化,复杂的向量操作,Hive metastore,额外的文件格式

Milestone 5:产品质量

ODBC,额外的优化器,稳定性,资源调度

 

 

相关资料:相关资料

http://online.liebertpub.com/doi/pdfplus/10.1089/big.2013.0011

你可能感兴趣的:(drill,Dremel)