breezes

Dremel: Interactive Analysis of Web-Scale Datasets

Google云计算BigQuery背后的技术,数据模型是嵌套表(树),列存,类SQL语言,高度并行执行,TB级数据分析秒级完成。要点:

1、2006就已经应用于产品环境,使用的产品非常多。最大的部署几千节点,每月处理的记录数条数过P。大多数分析不过10秒完成,有些分析的吞吐率达到每秒千亿记录以上。

2、没有索引,完全是brute force处理。

3、将树结构拆分为列存不用常用的边表法保存父子关系,可通过有限状态机高效完成重组。

4、查询语言类似于SQL,所有算子的输入是多个嵌套表及模式,输出一个嵌套表及模式。

5、执行器架构是multi-level serving tree,任务层层分解再层层汇聚。

6、允许只处理完部分数据就输出结果,由于数据分布不均匀及系统波动是小范围的,少处理1-2%的少量数据往往比处理全部数据快很多。

7、实验都是针对几百亿记录的简单统计,几千节点并行能在几秒或几十秒出结果,相比MR快百倍。

8、代码量不到10万行,有C++、Java和Python。

9、经验总结:千亿规模的磁盘数据分析也能在秒级完成;如果不需要得到精确结果,完成分析可以快得多。


评论

热度(2)