InfoQ 极客传媒 15 周年庆征文|国产自研数据库 GaussDB(DWS) 架构详解【高斯数据库】
一,什么是 GaussDB?这次高斯不是数学家
GaussDB 是华为公司数据库产品品牌名。华为公司从开始自研数据库至今已经有近 20 年历史,其中经历了早期发展、GaussDB 的诞生和发展、数据库产业化三个阶段。本文简明介绍华为公司自研数据库的历程,并给出一些 GaussDB 的里程碑时间点。GaussDB 的发展历史是中国数据库发展历程的典型案例。
二,搜索路径
show search_path; 查看模式搜索路径,无论如何搜索路径前两个一定是 pg_temp 和 pg_catalogset search_path to my_schema,public;
将 my_schema,public 两个模式加入搜索路径
三,模式
select current_schema; 查看数据库当前模式
set current_schema=my_schema; 设置当前数据库模式。
\dn 查看所有模式及其所有者
create schema my_schema authorization dlpuser; 创建 schema 并指定 owner 用户只能访问属于自己 schema 中的数据库对象,若要访问其他人的 schema 中数据库对象则必须具有该 schema 的 usage 权限。
四,关键设计
GTM 只维护一个 CSN++ ,快照(snapshot)只包含 CSN。DN(Data Node,数据节点)本地维护事务 ID(唯一标识符),维护 ID 到 CSN 的映射(CSN_LOG)。
DN 本地垃圾回收的过程中回填 CSN。单分片读事务使用本地快照:
① 获取本地最新的 CSN 和准备阶段事务号;
② 如果 CSN 状态为“提交中”则进行等待;
③ 如果 row.CSN< localsnapshot.csn || xid in prepared_xid list 可见,否则不可见。
五,GaussDB 200 详细解释
多:超大集群:Shared-Nothing 架构+独创的大规模集群通讯技术,最大支持 1024 节点,支持在线扩容。快: 并行计算架构:充分利用集群中所有资源,提供极致分析性能,且随着集群规模扩展性能线性增长。 行列混存,极速查询分析:行列混存+向量化执行, 并行 Bulk Load,数据快速入库。
好: 全组件 HA:无单节点故障,支持跨 DC 容灾。 租户隔离:租户资源隔离,适合运营商多部门多业务场景。
省: 开放架构:X86、ARM 服务器部署,降低 TCO。 标准 SQL, 平滑应用迁移: 兼容标准 ANSI SQL92、SQL2003 应用改造小, 提供 Oracle、Teradata 语法迁移工具。
六,数据读写原理
解析器从客户端应用获取输入的数据;
解析器对数据进行解析后,将数据分发给各个处理单元进行处理;
各个处理单元把接受的记录存储到它自己的逻辑磁盘中;
每一个处理单元的逻辑磁盘可以是一个磁盘阵列中的多块物理磁盘。
版权声明: 本文为 InfoQ 作者【黎燃】的原创文章。
原文链接:【http://xie.infoq.cn/article/ce803a5cf55c8e34a9181a5d0】。文章转载请联系作者。
评论