什么是即席查询及即席查询实现

即席查询概念:

百度对即席查询的解释:

即席查询(Ad Hoc)是用户根据自己的需求,灵活的选择查询条件,系统能够根据用户的选择生成相应的统计报表。即席查询与普通应用查询最大的不同是普通的应用查询是定制开发的,而即席查询是由用户自定义查询条件的。

个人对即席查询的理解:

尽可能快的执行自定义的SQL语句(可能无法提前运算和预测)
    重点关注
        1.数据存储格式
        2.缓存/索引

大厂对即席查询的解决方案


    自己造轮子  
    谷歌Dremel
    腾讯Hermes
    阿里MDRLL

开源的解决方案


    CDH有impala + Parquet
    Apache有Drill  + IndexR
    Hortonworks有Stinger  //使用较少,且Hortonworks已经被CDH收编了
    国产有延云YDB(NP吹得响 没有大量测试支持其官网的说法)

总结


    各种方法都各有千秋,并没有一种方案是十全十美的
    各种解决方案都需要优化后的数据存储结构,例如:Parquet ORC indexR(瞬飞) CarbonData(华为) 
    但是各种解决方案的查询接口基本上都是传统SQL

扩展 


1.Drill
    官网:drill.apache.org
    中文:https://drill.smartloli.org/
    
2.IndexR
    官网:https://github.com/shunfei/indexr
    白皮书: https://github.com/shunfei/sfmind/blob/master/indexr_white_paper/indexr_white_paper.md

你可能感兴趣的:(什么是即席查询及即席查询实现)