eygle.com   eygle.com
eygle.com eygle
eygle.com  
 

« 循序渐进 openGauss :初始化参数的设置、查询和修改 | Blog首页 | 国产数据库沙龙 | 张晓庆:GoldenDB分布式数据库自动安装与备份恢复 »

openGauss 数据库存储概览
modb.pro

文章来源于墨天轮:https://www.modb.pro/db/165300

早期计算机程序通过文件系统管理数据,到了20世纪60年代这种方式就开始不能满足数据管理要求了,用户逐渐对数据并发写入的完整性、高效的检索提出更高的要求。由于机械磁盘的随机读写性能问题,从20世纪80年代开始,大多数数据库一直在围绕着减少随机读写磁盘进行设计。主要思路是把对数据页面的随机写盘转化为对WAL(Write Ahead Log)的顺序写盘,WAL持久化完成,事务就算提交成功,数据页面异步将数据刷新到磁盘上。但是随着内存容量变大、保电内存、非易失性内存的发展,以及SSD(Solid State Disk,固态硬盘)技术逐渐的成熟,IO性能得到极大提高,经历了几十年发展的存储引擎需要调整架构来发挥SSD的性能和充分利用大内存计算的优势。随着互联网、移动互联网的发展,数据量剧增,业务场景多样化,一套固定不变的存储引擎不可能满足所有应用场景的诉求。因此现在的DBMS需要设计支持多种存储引擎,根据业务场景来选择合适的存储模型。

1. 数据库存储引擎要解决的问题

数据库存储引擎要解决的问题如下:

(1) 存储的数据必须要保证:原子性(A)、一致性(C)、隔离性(I)、持久性(D)。

(2) 高并发读写,高性能。

(3) 充分发挥硬件的性能,解决数据的高效存储和检索能力。

2. openGauss存储引擎概述

openGauss整个系统设计是可插拔、自组装的,支持多个存储引擎来满足不同场景的业务诉求。当前openGauss存储引擎有以下3种:

(1) 行存储引擎,主要面向OLTP场景设计,例如订货、发货、银行交易系统。

(2) 列存储引擎,主要面向OLAP场景设计,例如数据统计报表分析。

(3) 内存引擎,主要面向极致性能场景设计,例如银行风控场景。

创建表的时候可以指定为行存储引擎表、列存引擎表、内存引擎表,支持一个事务里包含对三种引擎表的DML操作,可以保证事务的ACID性质。

历史上的今天...
    >> 2016-11-16文章:
    >> 2012-11-16文章:
    >> 2010-11-16文章:
    >> 2009-11-16文章:
    >> 2008-11-16文章:
    >> 2007-11-16文章:
    >> 2006-11-16文章:
    >> 2005-11-16文章:
           推荐Kamus的新Blog
           你从哪里来,我的朋友?
           终于我有自己的blog site了

By enmotech on 2021-11-16 10:03 | Comments (0) | | 3434 |


CopyRight © 2004~2020 云和恩墨,成就未来!, All rights reserved.
数据恢复·紧急救援·性能优化 云和恩墨 24x7 热线电话:400-600-8755 业务咨询:010-59007017-7040 or 7037 业务合作: marketing@enmotech.com