自有数据库以来,数据处理大致可以分成两大类:联机事务处理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等封闭软件,他们不遵从技术标准,也无法被集成到自己的前端查询系统中。
注: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被用到了诸多如数据仓库,用户行为分析,流量(日志)分析,自助分析平台,电商分析,广告效果分析,实时分析,数据服务平台等各种场景。
事实胜于雄辩,OLAP&SQL在大数据时代也有用武之地,也可以满足海量数据的分析需求!大数据在历史上的出现确实是一种必然,但从技术角度它只是新的手段,为用户提供了更多的选择性,为处理大量非结构化信息提供了可能性,对于大型用户来说混搭的数据分析架构才会更加稳健和合理!
Smartbi配置Kylin数据源的步骤
(后续我们继续讨论OLAP的本质需求和为什么传统OLAP出现了发展的瓶颈,请关注公众号Smartbi,听行业前辈的独到观点)
本文作者:广州思迈特软件有限公司老慢,由作者投稿 数据分析网 发表,并经数据分析网编辑。版权归作者所有,转载此文请与作者联系。
本文采用「CC BY-SA 4.0 CN」协议转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请给「我们」留言处理。