序
本系列文章为《openGauss数据库核心技术》内容摘录与学习笔记,部分内容参照自Gauss松鼠会Gauss松鼠会_CSDN博客-参赛文章展示-第三届openGauss技术文章征集活动,openGauss经验总结,openGauss源码解析领域博主发布的文章,内容与书中内容相对应,清楚详细,可以深入阅读。
本书基于openGauss数据库进行应用开发研制数据库管理系统软件,深入介绍openGauss数据库架构,openGauss SQL引擎各个模块的功能和原理,openGauss执行器技术、存储技术和事务机制等。
本书主要介绍数据库的基础知识和核心技术,以及数据库系统的核心架构,帮助读者更深入地了解数据库的历史、数据库基础知识、数据库技术发展背景和动机、数据库技术的优劣对比、数据库架构的设计和选择、数据库核心技术。
以openGauss为例介绍数据库的基本架构和核心技术,包括分析型和交易型数据库的架构设计、存储引擎的基础知识、数据库事务机制、并发机制、多版本技术、分布式事务机制、执行引擎技术、优化器和SQL引擎技术、数据库安全技术。
从理论到系统再到实践,全方位介绍数据库的核心技术,使读者从中了解数据库设计与实现的核心思想和方法。
GaussDB架构
GaussDB以云服务形式提供商业版本(社区网址为/zh)
高斯部的数据库产品研发历史按照场景和产品特点可分为三个系列:GMDB(内存数据库)、GaussDB 100 OLTP数据库、GaussDB 200 OLAP数据库。
GMDB V2支持SQL/关系模型和ACID能力的全功能内存数据库。GaussDB 100 早期版本主要是面向华为公司内各产品线在操作管理系统中所使用的OLTP类型磁盘数据库场景。2016年起,华为高斯部启动分布式OLTP数据库的研发工作。2012年,华为高斯部启动了PteroDB(羽龙)项目,孵化面向企业数据仓库场景的MPP架构OLAP数据库。经过工商银行2年孵化,GaussDB 200于2016年开始进入商用。
GaussDB采用了分层解耦、可插拔架构,能够同时支持OLTP、OLAP业务场景。
GaussDB采用分布式关键技术架构,实现一套代码同时支持OLAP和OLTP业务场景。主要特点:
(1)支持SQL优化、执行、存储分层解耦架构(2)基于GTM(Global Transaction Management,全局事