OLAP春风得意,你造吗?

浏览: 2215

Apache Kylin

自有数据库以来,数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing)、联机分析处理OLAP(On-Line Analytical Processing)。OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。

简单的来说,OLTP是产生和更改数据的技术,OLAP是查询和分析数据的技术。

大家都知道我们现在所处的时代叫做“大数据”,那么OLTP、OLAP这些技术是不是就过时了呢?我们尝试分析一下吧。

联机分析处理 (OLAP) 的概念最早是由关系数据库之父E.F.Codd于1993年提出的,联机事务处理 (OLTP) 诞生的时间更早,当时关系数据库正处于春风得意的早期,无论交易还是分析,所使用的数据交互技术都是SQL(Structured Query Language),数据也都存储于RDBMS中(Relational Database Management System)。而当大数据(BIG DATA)提出后,尤其Hadoop成为既成事实的大数据平台,大家都认识到无论存储还是交互技术都不一定用“数据库”和“SQL”了,而且由于其系统架构的线性扩展能力和低廉的成本投入,传统的数据库厂商也纷纷开始转型,为客户提供新的数据平台解决方案。

存储和交互技术发生了改变,那么OLTP和OLAP还是否存在呢?我们再说说SQL,还记得Hadoop刚刚以颠覆者形象出现的时候,只有MapReduce可以使用,但大家很快就发现以前SQL所拥有的开发效率不见了(有时用SQL描述就只有一两行,MapReduce写起来大约要几十上百行),于是产生了基于Hadoop的SQL引擎(SQL-on-Hadoop)——Hive等,包括后来效率更高的的impala和Sparksql。

好了,我们看到了在全新的大数据底层存储之上,SQL又重新焕发了活力,同时也包括OLTP和OLAP。这点可以从Impala的设计目标上看到:

■ 分布式环境下通用SQL引擎:既支持OLTP也支持OLAP

■ SQL查询的规模和粒度:从毫秒级到小时级

■ 底层存储依赖HDFS和HBase

■ 使用更加高效的C++编写

■ SQL的执行引擎借鉴了分布式数据库MPP的思想而不再依赖MapReduce

OLTP相对比较简单,无论是RDMBS还是Hadoop,事务都是“小而多”的,或者说性能上从来不是瓶颈(理论上说)。而OLAP面临数据量爆炸和多维分析挑战,一直没有成熟的解决方案,各种产品和技术五花八门。在罗列OLAP产品之前,我们先说明划分规则,OLAP存在2个层次的技术,分别是底层的存储和前端的查询。当然我们不列IBM Cognos等封闭软件,他们不遵从技术标准,也无法被集成到自己的前端查询系统中。

OLTP

注:https://en.wikipedia.org/wiki/Comparison_of_OLAP_Servers

从其中OLAP_on_Hadoop的Kylin,可以知道OLAP不是关系数据库和多维数据库的专利,它是一大类型的市场需求。至于这个Kylin是什么,我们可以从Apache(http://kylin.apache.org/cn/)和Kyligence的网站(http://www.kyligence.io/)获得一些信息。

■ 可扩展超快OLAP引擎: Kylin是为减少在Hadoop上百亿规模数据查询延迟而设计

■ Hadoop ANSI SQL 接口: Kylin为Hadoop提供标准SQL支持大部分查询功能

■ 交互式查询能力:通过Kylin,用户可以与Hadoop数据进行亚秒级交互,在同样的数据集上提供比Hive更好的性能

■ 多维立方体(MOLAP Cube):用户能够在Kylin里为百亿以上数据集定义数据模型并构建立方体

■ 与BI工具无缝整合:Kylin提供与BI工具,如Tableau、Smartbi的整合能力,即将提供对其他工具的整合

■ 其他特性:

- Job管理与监控

- 压缩与编码

- 增量更新

- 利用HBase Coprocessor

- 基于HyperLogLog的Dinstinc Count近似算法

- 友好的web界面以管理,监控和使用立方体

- 项目及立方体级别的访问控制安全

- 支持LDAP

在2014年11月,Kylin正式经投票加入了Apache大家庭,项目名字也改成了“Apache Kylin”,在项目开源伊始即幸运的加入全球最大的开源软件基金会,从而开启了麒麟大数据之旅。

在2015年11月,Apache Kylin经项目管理委员会及孵化器管理委员会共同投票,正式毕业成为Apache顶级项目,和Apache Hadoop, Apache Spark, Apache Kafka等众多软件一起成为顶级项目,这是中国工程师的骄傲,目前为止,Apache Kylin是唯一来自中国的Apache顶级开源项目。

而今经过Kylin社区两年不断的努力和发展,已经有超过100多家国内国外的公司正式使用Kylin作为其大数据分析平台的核心。包括eBay、Glispa、微软、Expedia、百度、美团、网易、京东、唯品会、中国移动、中国电信、国泰君安、华泰证券、联想、〇PP〇、魅族、去哪儿,等等。Apache Kylin被用到了诸多如数据仓库,用户行为分析,流量(日志)分析,自助分析平台,电商分析,广告效果分析,实时分析,数据服务平台等各种场景。

Kylin

事实胜于雄辩,OLAP&SQL在大数据时代也有用武之地,也可以满足海量数据的分析需求!大数据在历史上的出现确实是一种必然,但从技术角度它只是新的手段,为用户提供了更多的选择性,为处理大量非结构化信息提供了可能性,对于大型用户来说混搭的数据分析架构才会更加稳健和合理!

点击查看:Smartbi配置Kylin数据源的步骤

(后续我们继续讨论OLAP的本质需求和为什么传统OLAP出现了发展的瓶颈,请关注公众号Smartbi,听行业前辈的独到观点)

微信公众号

推荐 0
本文由 大麦 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册