凭借多年大数据平台建设经验,易观 CTO郭炜为大家分享了易观在大数据实时查询引擎建设过程所获经验与挑战,以及大数据人员如何快速建立自己的大数据查询引擎套件,让自己的数据人员不再是“表哥表妹”的方法。
以下是具体内容:
作为数据人的你,是不是遇到这样的情况?
数据需求80%都是提数、出报表的需求,而很多报表往往只用一次…
临时分析众多,不管怎么提前做汇总加速开发,业务部门总觉得慢…
临时报表数据口径反复和业务部门核对,最后出的数据还是对不上,“写脚本3分钟,对数3小时”…
业务快速变化导致数据源的变化层出不穷,汇总层数据保持准确非常难,数据治理建设不易,维护成本更是高昂…
大数据工程师每日工作在写各种ETL、数据流脚本,而无法专注在大数据技术上…
究其原因会发现,不是数据技术能力不行,而是世界变化太快。数据驱动本身,是一个透明化的进程,挑战是业务变化很快,让数据本身“不透明”。
业务变化,数据定义变化快,例如,APP迭代,页面变化;数据经过层层加工,原始信息丢失,仓库表繁多,层层血缘关系,牵一发动全身;数据处理能力不足,时间滞后:T+1,临时需求 T+N,OLAP Cube也无法满足需求;想用Ad-hoc查询,但数据量过大,Tb 级别数据普通查询以数十分钟为单位出结果,跟不上分析师思路。
怎么办呢?破局的关键在于,将Ad-hoc查询从现有大数据体系中分离出来。
使用最新的大数据技术Ad-hoc,直接让业务人员从最明细的数据中统计,秒级返回结果,把业务口径还给业务人员,技术人员只做最底层的数据整理。
大数据Ad-hoc引擎的优缺点有哪些呢?
优点:
业务人员无需等待,直接统计相关数据
业务人员自定义口径,数据治理工作量小
技术人员无需天天提数,专注在技术平台
缺点:
需要额外的硬件/系统资源
数据场景相对单一,需要优秀的数据模型抽象
新的技术引入,维护、升级工作量问题
企业需根据自己的情况选择是否建立大数据Ad-hoc查询引擎。
那么,如何去构建企业级大数据Ad-hoc查询引擎呢?关键是做好这三步:选择要解决的业务场景并建模;选择数据查询底层引擎与技术生态;企业自建Ad-hoc引擎要点与参考架构。
选择要解决的业务场景并建模
首先需要选择固定的业务场景。
日常业务场景中数据量巨大,秒级返回硬件成本过高,不是每家公司都是Google;由于数据结构复杂,所以多个业务场景导致数据模型很难抽象和固定下来;最后就是查询无法优化,秒回的查询是需要建立大量合适的索引和算法。
固定场景下