OLTP(on-line transaction processing)翻译为联机事务处理, OLAP(On-Line Analytical Processing)翻译为联机分析处理。
从字面上来看OLTP是做事务处理,OLAP是做分析处理。从对数据库操作来看,OLTP主要是对数据的增删改,OLAP是对数据的查询。
因为OLTP所产生的业务数据分散在不同的业务系统中,而OLAP往往需要将不同的业务数据集中到一起进行统一综合的分析,这时候就需要根据业务分析需求做对应的数据清洗后存储在数据仓库中,然后由数据仓库来统一提供OLAP分析。
OLAP与商业智能(BI)紧密相关,BI是一种专门的软件开发模式,用于交付业务分析应用程序。换句话说,BI的目标是允许高层管理人员在没有IT人员参与的情况下查询和研究数据。
所以我们常说OLTP是数据库的应用,OLAP是数据仓库的应用,下面用一张图来简要对比。
所以OLAP和OLTP之间的关系可以认为OLAP是依赖于OLTP的,因为OLAP分析的数据都是由OLTP所产生的,也可以看作OLAP是OLTP的一种延展,一个让OLTP产生的数据发现价值的过程。
OLAP分析的分类:ROLAP与MOLAP
OLAP分析分为关系型联机分析处理(ROLAP)、多维联机分析处理(MOLAP)两种。
OLTP和OLAP协同工作
上述示例中上部的数据(HR数据库、CRM、计费系统)一般是通过一个萃取、转置和加载(Extract, Transform and Load, ETL)的过程进行批量处理(通常是在夜间)。
它用于从多个OLTP源收集数据并将其放入OLAP数据仓库(允许跨系统分析)。在图的下半部分,您可以看到数据在OLAP立方体中得到了正确的存储和组织。
这样,进行分析的人员就可以处理最新的信息,并及时做出决定,而不会中断操作。