背景:B公司,前美纳斯上市公司,上亿App用户,近年来数据呈爆发式增长,每天行为日志达10T,原有的hive+mysql(查询太慢,存储太大),hive+impala(界面不友好,需要写sql语言,门槛较高,不方便运营人员查询数据,对多维数据查询较慢),已经满足不了当下需求,急需要一个能支持大规模数据查询,速度又快,使用零门槛的查询服务,几套方案选择后,最终选择了Kylin,主要看重的是它支持大规模数据快速查询,而且是兼容我们现有Hadoop框架的,这对我们开发和使用来说成本很低。
基本情况:
2016年初,开始调研,上半年开始部署测试试用,截至17年底,生产环境每天cube要处理数据总条数为150亿条,原始日志大小每天约450G(去重压缩后),纬度16个,单表膨胀率在4%内,单表查询60亿条数据,延迟5秒返回结果。我们部署了kylin集群模式,一个all节点,3个query查询服务节点(32G内存,8核cpu),Nginx实现负载均衡,hbase集群只用了10台机器,所以很多数据只存了30天的。上线初期遇到很多问题,没有达到预期效果,经过慢慢优化和实践,运行2年了,现在运行比较稳定,支撑了我们80%数据业务查询需求,性能也基本符合我们的预期了。其实kylin部署安装很简单,主要是在cube设计优化技巧方面需要花功夫。
查询性能