OLAP最新技术前瞻

      最近一直忙机器学习方面的理论学习,公司事情也比较多,一直没时间更新博客。回顾最近将近一年的技术积累,业界的技术发展,大数据的热潮似乎已经被AI所取代。AI领域的技术变化实在太快了。传统的机器学习(SVM,GBDT,LR,EM等等)到近几年大火的DL(CNN、RNN),使用的是完全不同的方法。大概10年前,图像识别还是在SIFT+SVM,现在已经完全被CNN取代。

      跟AI领域比,从数据库到新兴大数据,外部表现虽然没有AI吸烟眼球,但圈内造轮子热情仍然不减。OLTP领域来说,去年newsql概念很火,目前国内的tidb和美帝竞品cockroachdb都宣布production-ready了。OLAP领域,cloudera重新造了一个分布式存储引擎kudu,新版Hive入CBO,presto各种NoSQL、MQ的connector driver。国内大数据方面也有不少事情,百度开源的Palo,TiDB推出的TiSpark,前段易观组织的olap比赛挺火。

       先列一下几个技术方向,有空后面具体探讨:

       1. CBO designed for distributed storage

       CBO是老生常谈,hadoop生态上的OLAP的轮子越来越多。传统的数仓CBO是标配,大数据领域由于当初糙快猛的mapreduce,这块支持的并不好。sparkSQL 2.2版本才支持CBO,2017.7才release。分布式场景下的CBO做的怎么样就也看各家特色。apache calcite非常值得关注,作为一个CBO的framework,也许能成为OLAP领域的k8s。

       2. code gen/SQL compilation

       提到LLVM就不得不说code gen。提高各种复杂查询的效率,没有code gen无从谈起。复杂SQL解释执行效率太低。impala在这方面比较领先。有人在开源版本的GreenPlum上开始利用LLVM对单机引擎pgsql做gode gen加速。

       3. vector acceleration

       有了code gen,向量加速就很easy了。这些优化可以交给LLVM来做就好了。现在还有热点就是不要cpu的向量加速,直接把数据放到GPU里面,已经有公司做这方面创业。目前物理显存的限制较多(单卡大概10G,远没有主memory几百G那么大),对于OLAP来说,百G内存也不够,GPU还要需要从内存copy到显卡的显存,这些都是潜在的问题。个人认为GPU做数据库计算核心的使用场景还相当有限。

        关于向量加速和代码生成,yandex开源的clickhouse做的不错,有些俄文的设计文档已经公开了。找到一篇中文翻译可以参考。

https://mp.weixin.qq.com/s?__biz=MzAxNTc0Mjg0Mg==&mid=2653286050&idx=1&sn=6401e3c22d42ad8cdca9aa88cbbdec9d&chksm=802e2cb7b759a5a123c9e4c708b972bb5bab580059c66c25876a3b3a67d47de0d1868492b881#rd

       4. off heap memory

        主要是JVM系语言解决major GC带来的stop world问题。这些主要是jam系的框架存在的问题。

       5. 统计算法的应用

         Hyperloglog 、bloom filter及其变种

        6. index

        hadoop生态圈的存储引擎对索引的支持不太好,一般就是一个hbase的LSM tree主键索引。kudu开始支持二级索引了,针对parquet格式做了些修改以支持point update。carbondata这种数据格式的出现,也是期望利用索引加快查询的一种努力。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值