认知OLTP、OLAP和HATP

2017/12/26 Database

数据处理可以大致分为两类:

  • 联机事务处理 On-Line Transaction Processing
  • 联机分析处理 On-Line Analytical Processing

OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,记录即时的增、删、改、查,比如在银行存取一笔款,就是一个事务交易。 也称为实时系统(Real time System)。衡量联机事务处理系统的一个重要性能指标是系统性能,具体体现为实时响应时间(Response Time),即用户在终端上送入数据之后,到计算机对这个请求给出答复所需要的时间

1、实时性要求高; OLTP 数据库旨在使事务应用程序仅写入所需的数据,以便尽快处理单个事务

2、数据量不是很大

3、交易一般是确定的,所以OLTP是对确定性的数据进行存取(比如存取款都有一个特定的金额)

4、支持大量并发用户定期添加和修改数据,并发性要求高并且严格的要求事务的完整、安全性 (比如这种情况:有可能你和你的家人同时在不同银行取同一个帐号的款)。

OLAP即联机分析处理,是数据仓库的核心部心,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。典型的应用就是复杂的动态报表系统。

OLTP和OLAP的不同,主要通过以下五点区分开来:

1、用户和系统的面向性:

OLTP是面向顾客的,用于事务和查询处理

OLAP是面向市场的,用于数据分析

2、数据内容:

OLTP系统管理当前数据

OLAP系统管理大量历史数据,提供汇总和聚集机制

3、访问模式:

OLTP系统的访问主要由短的原子事务组成,这种系统需要并行和回滚恢复机制

OLAP系统的访问大部分是只读操作

4、视图:

OLTP组织内部的当前数据,不涉及历史数据或不同组织的数据

OLAP则相反.

5、数据库设计:

OLTP采用实体-联系ER模型和面向应用的数据库设计

OLAP采用星型或雪花模型和面向主题的数据库设计

HATP 的目标是 OLTP和OLAP的超集

小型应用阶段:为了节省成本,企业选择将这两类业务放在同一个OLTP数据库中运行,在数据规模小时,可以运转的很好; 中型应用阶段:在数据规模上来时,会面临资源争抢的问题:分析业务会消耗数据库大量的cpu和io资源,影响到交易业务的延迟,最终使得每个业务都得不到很好服务。此时,企业选择了数据库读写分离和分时复用,一个主库用于交易,多个读库用于分析,且在线业务和离线业务分时复用; 大型应用阶段:数据规模进一步上升,单一的主库已经不能满足交易需求,读库也跑不动越来越复杂的分析SQL。此时,企业选择了分库分表和分析型数据库,利用分库分表中间件,拆分交易主库,水平扩展交易性能,同时将数据同步到OLAP数据库中,进行分析计算,做到彻底的资源隔离; 巨型应用阶段:数据规模再次上升,每次为OLTP数据库扩容都要消耗极大的人力物力,数据同步到OLAP数据库的时延和成本很高,使用时要为不同业务选择不同数据库入口,管理复杂度极大。此时,企业可以选择HTAP数据库进一步改善业务架构,降低成本,提升易用性,改善运维体验

hatp

参考链接

http://home.eeworld.com.cn/my/space-uid-346593-blogid-309668.html

https://yq.aliyun.com/articles/154348?utm_content=m_27304

Search

    Table of Contents