导图社区 OLTP OLAP
OLTP OLAP 的关于、代表与优缺点
编辑于2022-03-11 15:33:02OLTP & OLAP
OLTP 数据库 联机事务处理
事务处理:OLTP主要用来记录某类业务事件的发生,如购买行为,当行为产生后,系统会记录是谁在何时何地做了何事,这样的一行(或多行)数据会以增删改的方式在数据库中进行数据的更新处理操作,要求实时性高、稳定性强、确保数据及时更新成功,像公司常见的业务系统如ERP,CRM,OA等系统都属于OLTP。
代表:关系型数据库mysql
OLAP是依赖于OLTP的,因为OLAP分析的数据都是由OLTP所产生的,也可以看作OLAP是OLTP的一种延展,一个让OLTP产生的数据发现价值的过程。
OLAP 数据仓 联机分析处理
分析处理:当数据积累到一定的程度,我们需要对过去发生的事情做一个总结分析时,就需要把过去一段时间内产生的数据拿出来进行统计分析,从中获取我们想要的信息,为公司做决策提供支持,这时候就是在做OLAP了
分类
ROLAP
代表
传统关系型数据库
以传统关系型数据库为代表的如Teradata、Oracle等,由于传统架构可扩展性较差,所以对硬件的要求非常高,当计算的数据量达到千万,亿级别时,数据库的计算就会出现延时,使得用户不能及时得到响应,更别提高并发了。
MPP分布式数据库
MPP分布式数据库(GreenPlum/GBase/Vertica)则解决了一部分可扩展性问题,对硬件设备的要求也稍稍下降了(还是有一定的硬件要求),在支持的数据体量(GB,TB级别)上有了很大的提升。当集群有几百、上千节点时,会出现性能瓶颈(增加再多节点,性能提升也不会很明显),扩容成本同样不菲。
基于Hadoop的Spark/Impala
基于Hadoop的Spark/Impala,则对部署硬件的要求很低(常见服务器即可,只是其主要依靠内存计算来缩短响应时间,所以对内存要求较高),在节点扩容上成本上相对较低,但当计算量达到一定级别或并发达到一定级别后,无法秒级响应,且容易出现内存溢出的问题
优点:能同时连接明细数据和汇总数据,实时根据用户提出的需求对数据进行计算后返回给用户,所以用户使用相对比较灵活,可以随意选择维度组合来进行实时计算。
缺点:正因为采用的实时计算技术,所以ROLAP的缺点也比较明显——当计算的数据量达到一定级别或并发数达到一定级别的时候,一定会出现性能问题
MOLAP
代表
Cognos
限制了Cube的大小(即限制了表的复杂度大小)
SSAS
SSAS的cube则受限于单机的容量,即需要专用的服务器来进行存储。
Kylin
Apache Kylin则是目前技术较为先进的一款成熟产品,也是第一个由中国人贡献给Apache社区的顶级开源项目,它基于hadoop框架,Cube以分片的形式存储在不同节点上,Cube大小不受服务器配置限制,所以具备很好的可扩展性和对服务器要求很低,在扩容成本上就非常低廉。另外为了控制整体Cube的大小,Kylin给客户提供了建模的能力,即用户可以根据自身需要,对模型种的维度以及维度组合进行预先的构建,把一些不需要的维度和组合筛选掉,从而达到降低维度的目的,减少磁盘空间的占用。
Kylin的企业版产品,即Kyligence的产品,除了在性能、功能上做了很多优化之外,稳定性上也做了很大提升,还提供了智能建模功能,在满足用户需求的前提下,很大程度上减小了磁盘空间的浪费。
作者:Kyligence 链接:https://www.zhihu.com/question/24110442/answer/851671343 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。