美文网首页
数据存储--OLTP与OLAP

数据存储--OLTP与OLAP

作者: MontyOak | 来源:发表于2018-01-21 22:54 被阅读104次

    最初,数据库管理系统是为了应对商务交易的数据存储而诞生的。后来发展到各个方面的应用场景,虽然实际的应用场景不尽相同,但是数据操作的特点却大多是类似的:按照索引查找一些数据(通常量不大),按照用户的交互输入更新或者插入数据。这种数据库访问模式被称作是在线交易处理(online transaction processing, OLTP)
    在另外的场景下,数据分析日益成为普遍需求,而它和OLTP的数据访问模式大不相同。数据分析通常需要一次性获取大量数据来进行统计学分析,通常只会用到一条记录的少数几个字段。这种数据库访问模式被称作是在线分析处理(online analytic processing, OLAP)

    OLAP与OLTP的区别

    数据仓库

    一个企业通常会拥有多个数据库来存储各种数据。一个OLTP系统对于可靠性和延迟要求很高,因为它常常需要支撑实时的线上交易。而在一个OLTP系统上运行数据分析通常代价很大:OLAP操作常常需要一次性获取大量数据,对于OLTP系统而言这是一个很昂贵的查询操作,这会大大影响OLTP系统的性能。
    所以,常见的操作是建立一个数据仓库,来供给数据分析使用。数据仓库常常聚合了多个OLTP系统的数据的只读备份。从OLTP系统抽取数据,整合成方便分析的数据格式,再存放到数据仓库中,这一过程叫做ETL(Extract–Transform–Load)

    ETL图示

    OLTP系统和OLAP系统分离有着明显的好处:可以根据各自不同的数据操作特点进行专门的操作优化。

    在数据仓库中,常常有一个事实数据表,用来记录发生的主事件。主事件包含的各个相关附属属性通常以星型模式组织:事实数据表位于当中,其他相关属性数据在周围。


    数据仓库中的星型模式

    在数据仓库中,事实数据表通常包含许多字段,这时候常见的OLTP系统按行存储的方式就不再适用。

    相关文章

      网友评论

          本文标题:数据存储--OLTP与OLAP

          本文链接:https://www.haomeiwen.com/subject/kvwqaxtx.html