聊聊人大金仓 KingbaseES 数据库
作者 | JiekeXu来源 |公众号 JiekeXu DBA之路(ID: JiekeXu_IT)如需转载请联系授权 |(个人微信 ID:JiekeXu_DBA)大家好,我是JiekeXu,江湖人称“强哥”,荣获 Oracle ACE Pro 称号,墨天轮 MVP,墨天轮年度“墨力之星”,拥有 Oracle 11gOCP/OCM 认证,MySQL 5.7/8.0 OCP 认证以及 PCA...
作者 | JiekeXu
来源 |公众号 JiekeXu DBA之路(ID: JiekeXu_IT)
如需转载请联系授权 | (个人微信 ID:JiekeXu_DBA)
大家好,我是 JiekeXu,江湖人称“强哥”,荣获 Oracle ACE Pro 称号,墨天轮 MVP,墨天轮年度“墨力之星”,拥有 Oracle 11g OCP/OCM 认证,MySQL 5.7/8.0 OCP 认证以及 PCA、PCTA、OBCA、OGCA、KCP 等众多国产数据库认证证书,今天和大家一起来聊聊人大金仓 KingbaseES 数据库,欢迎点击最上方蓝字“JiekeXu DBA之路”关注我的微信公众号,然后点击右上方三个点“设为星标”顶,更多干货文章才能第一时间推送,谢谢!
前 言
人大金仓是具有自主知识产权的国产数据管理软件与服务提供商,是央企中国电子科技集团有限公司(CETC)的下属成员企业,由原中国人民大学信息学院院长,中国数据库学科领袖王珊教授和国内最早一批从事数据库教学、科研、开发专家于 1999 年 6 月 30 日成立,自成立以来,始终专注数据管理领域,立足自主研发,先后承担了国家“863”、“核高基”、北京市科技计划等国家及省市级重大专项课题,如今已走过 25 载岁月,风华茂,勇向前,祝金仓 25 岁生日快乐。
金仓产品简介
人大金仓官网上有如下三款数据库 KES、KADB、KSOne 及六款数据库周边工具,简介如下图所示。
1、KES(金仓 OLTP 数据库管理系统)
KES 是一款为企事业单位管理信息系统、业务及生产系统、决策支持系统等量身打造的承载数据库,致力于解决高并发、高可靠的数据存储计算问题,具有“三高”(高可靠、高性能、高安全)、“三易”(易管理、易使用、易迁移)、运行稳定等特性,是真正具有高成熟度的数据库产品,在市场竞争中对标 Oracle、SQLServer、DB2、MySQL 等 OLTP 类产品。
2、KADB(金仓 OLAP 分布式分析型数据库系统)
KADB 是一款企业级分布式分析型关系数据库,应对大数据时代海量数据分析处理需求。基于 shared-nothing 分布式集群架构,采用 MPP 大规模并行处理技术,具有良好的线性扩缩容能力;内置并行存储、并行计算、并行查询和优化技术,内嵌回归、聚类、图计算等数十种AI算法,具备 PB 级行列混合存储、分析计算能力,能满足各行业对大量数据采集、存储、挖掘、分析等多种能力。该产品对多种异构数据源支持,低 TCO,并具备极强的存储、分析等业务处理能力,在市场竞争中对标 Greenplum、Vertica、Teradata 等产品。
3、KSone(金仓分布式关系型数据库系统)
KSOne 是人大金仓自主研发的分布式关系型数据库系统。产品具备企业级复杂事务混合负载能力,同时支持跨 AZ 部署,数据 0 丢失,支持大规模横向扩展,PB 级海量数据存储等企业级数据库特性。拥有高可靠,高安全,弹性伸缩,高效备份恢复等关键能力,能为企业提供功能全面,稳定可靠,扩展性强,性能优越的企业级数据库服务。
另外还有六款数据库周边工具这里就不介绍了。
下面我们来一起看看金仓 KES 数据库。
金仓 KES 数据库
当前金仓数据库管理系统 KingbaseES 的最新发布版本为 V009R001C001B0030,V8、V9 系列大概发布了如下十几个版本。
版本号 发布日期
============== V9 ================
V009R001C001B0030 2024-6-19
V009R001C001B0025 2023-11-4
V009R001C001B0014 2023-3-27
============== V8 ================
V008R006C008B0014 2023-9-14
V008R006C007B0024 2023-3-27
V008R006C007B0012 2022-11-9
V008R006C006B0021 2022-9-5
V008R006C006B0013 2022-6-29
V008R006C005B0054 2022-4-12
V008R006C005B0041 2022-3-3
V008R006C005B0033 2022-1-12
V008R006C005B0023 2021-11-8
V008R006C005B0013 2021-9-26
V008R006C004B0021 2021-7-28
V008R006C003B0071 2021-5-27
V008R006C003B0062 2021-3-31
金仓 KES 版本命名
上图所示为 KingbaseES 版本号命名规则。其中:[] :表示可选项。
详细说明如下:
Vxxx:V (Version)代表某一产品或其系列产品,即该产品的大版本号。xxx 为三位数字, 数字间不准许有任何其他字母、符号出现。
Rxxx:R (Release)表示产品特性版本,可以包含若干个特性,形成一个具体系列的产品。xxx 为三位数字表示,数字间不准许有任何其他字母、符号出现,从001开始,在同一个V下以1为单位连续递增,例如:R001、R002。
Cxxx:当 Cxxx
后无 Mxxx[$]
字符出现时,表示该版本为通用版。xxx 以三位数字表示,数字间不准许有任何其他字母,从 001 开始,以1位单位连续递增。同一Cxxx
可能对应一个或多个 Bxxxy
版本。
Mxxx:M(Modify)表示针对某客户的定制版本。xxx 标识定制项目,从``001`` 开始,每一位表示一个定制项目。代表标识客户名称的字符串,允许输入1-20个字符,包括:字母、数字或下划线_` ` 。支持大小写输入。同一
Mxxx$ 可能对应一个或多个
Bxxxy`` 版本。
Bxxxy:B (Build)表示开发过程中的Build版本。xxx 表示当前发布的Build版本号。以三位数字表示定制版本编号,数字间不准许有任何其他字母,从001开始,以1位单位连续递增。y 表示每个Build的过程改错版本,包含现场问题修改版本和转测试回归版本。
PSxxx:PS (Patch Set)表示版本的补丁。xxx 表示补丁号,从 001 开始,以1为单位连续递增。同一 VxxxRxxxCxxx[Mxxx[$]]Bxxxy 版本可包含一个或多个 PSxxx 版本。当 Vxxx 、 Rxxx 、 Cxxx 、 Mxxx 及 Bxxxy 中的任何一项发生变更时, PSxxx 复位为 PS001 。
KES 单机架构
KingbaseES 数据库中管理和组织数据的逻辑结构单元有数据块、段和表空间。在每一个数据库内部存在着若干个表空间,所有的数据库内部对象分别存放在这些表空间中。每个表空间中的关系又被划分为若干个段,每个段中有若干个数据块存储实际的数据。
下图展示了物理存储结构和逻辑存储结构的对应关系。
表空间允许在文件系统里定义那些代表数据库对象的文件存放的位置,一个数据库可以有一个或多个表空间,创建数据库时自动创建系统表空间,并为缺省的默认表空间,一个表空间只隶属于一个数据库,只有在创建了数据库之后才能创建属于它的表空间。
KingbaseES 中表或索引等对象都被记录在表空间中,并被拆分成若干个段存储。一个段对应了一个物理文件,并只存储一个关系的部分数据。段内部会被划分为若干个数据块进行数据的管理和组织。
KingbaseES 中管理数据的最小单元叫做数据块,或者也可以称为页面,一个数据块是最小的 IO 单元,即每次读入或写出数据只能以数据块做为单位。
KingbaseES 进程结构这个就和 PG 非常相似了,除了 KingbaseES 主进程之外,还有后台写进程、检查点进程 、自动 vacuum 进程、WAL 日志写进程、统计进程、归档进程、日志收集进程等,根据这个进程名字也就大概知道了它的作用了,这里就不做介绍了。
除以上后台进程外,在特定时机或使用一些特性时会有额外的后台进程,例如:
恢复进程:实例处于从恢复状态或开启热备份时恢复进程负责重做 WAL 日志。
WAL 日志发送、接收进程:使用 KingbaseES RWC 集群时,主节点通过 WAL 日志发送进程发送 WAL 给备节点上的 WAL 日志接收进程实现数据复制。
kwr、ksh进程:开启 kwr 和 ksh 功能时,对应的 kwr、ksh 后台进程负责收集和维护负载、会话历史数据。
自动作业进程:开启自动作业功能时,自动作业后台进程实现作业的自动调度。
[root@jiekexu ~]# ps -ef | grep kingbase
kingbase 1490 1 0 23:24 ? 00:00:00 /KingbaseES/V8/Server/bin/kingbase -D /data
kingbase 2079 1490 0 23:24 ? 00:00:00 kingbase: logger
kingbase 2337 1490 0 23:24 ? 00:00:00 kingbase: checkpointer
kingbase 2338 1490 0 23:24 ? 00:00:00 kingbase: background writer
kingbase 2339 1490 0 23:24 ? 00:00:00 kingbase: walwriter
kingbase 2340 1490 0 23:24 ? 00:00:00 kingbase: autovacuum launcher
kingbase 2341 1490 0 23:24 ? 00:00:00 kingbase: stats collector
kingbase 2342 1490 0 23:24 ? 00:00:00 kingbase: kwr collector
kingbase 2343 1490 0 23:24 ? 00:00:00 kingbase: logical replication launcher
root 4207 4154 0 23:37 pts/0 00:00:00 grep --color=auto kingbase
[root@jiekexu ~]# su - kingbase
[kingbase@jiekexu ~]$ ksql -Usystem -d jiekexu
ksql (V8.0)
Type "help" for help.
jiekexu=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+--------+----------+-------------+-------------+-------------------
jiekexu | system | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |
security | system | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |
template0 | system | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/system +
| | | | | system=CTc/system
template1 | system | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/system +
| | | | | system=CTc/system
test | system | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |
(5 rows)
jiekexu=# SELECT version();
version
----------------------------------------------------------------------------------------------------------------------
KingbaseES V008R006C005B0023 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46), 64-bit
(1 row)
上面简单说明了 KES 单机数据库的基本信息,那么现在我们来看一下 KES RAC 相关信息。
KES RAC 架构
KingbaseES RAC 是人大金仓推出的、完全自主研发的国产共享存储数据库集群,具备稳定、高可用、高性能、高扩展特性。KingbaseES RAC 共享存储集群方案可以提供性能扩展和可用性,同时保持低存储成本和中等维护成本,适用于大部分业务的需求。
下表从性能、可用性和成本角度详细描述了共享存储集群方案和 KingbaseES 的其他方案的差异。
下图是 KES 的逻辑架构图。
KingbaseES 提供了数据库的连接驱动,实现了客户端的负载均衡,并且支持连接级,在每个节点上提供了 Clusterware 软件,管理集群中的成员,进行故障检测,处理数据库的调度问题,新增的 KingbaseES RAC 数据库提供跨节点一致的读写服务,集群的文件系统支持各节点对共享存储的一致性访问。当前的 KingbaseES RAC 还不支持 Oracle 的 ASM 设备管理方案,是依赖于本身的可用可靠方案来实现的。
KingbaseES RAC 集群进程支撑维护全局一致性,提供节点管理、封锁、缓存交换等功能。集群文件系统提供锁管理进程,进行跨节点并发控制,提供 I/O 进程完成数据存取。Clusterware 故障检测处理进程提供故障检测以及自动处理,成员管理进程提供全局一致的成员列表。
它的特点是读写请求横向扩展、高可用性、多种部署模式。
最后,如果你想要将自己的 Oracle 或者 MySQL 数据库迁移至 KingbaseES,可以查看 KES 官方文档迁移最佳实践。
Oracle 至 KingbaseES 迁移最佳实践 https://help.kingbase.com.cn/v9/development/develop-transfer/transplant-oracle/index.html
MySQL 至 KingbaseES 迁移最佳实践 https://help.kingbase.com.cn/v9/development/develop-transfer/transplant-mysql/index.html
以上,只是最简单的关于 Kingbase 的初探,后续如有机会,继续学习了解 Kingbase,最后,祝人大金仓 25 岁生日快乐,祝人大金仓社区未来更上一个台阶,祝国产数据库能有一个美好的未来。
参考链接
https://bbs.kingbase.com.cn/kingbase-html/v9/index.html
https://bbs.kingbase.com.cn/kingbase-html/v9/highly/RAC/index.html
https://help.kingbase.com.cn/v9/development/develop-transfer/transplant-oracle/index.html
全文完,希望可以帮到正在阅读的你,如果觉得有帮助,可以分享给你身边的朋友,同事,你关心谁就分享给谁,一起学习共同进步~~~
❤️ 欢迎关注我的公众号【JiekeXu DBA之路】,一起学习新知识!
分享几个数据库备份脚本
一文搞懂 Oracle 统计信息
我的 Oracle ACE 心路历程
MOP 系列|MOP 三种主流数据库索引简介
Oracle 主流版本不同架构下的静默安装指南
关机重启导致 ASM 磁盘丢失数据库无法启动
Oracle SQL 性能分析(SPA)原理与实战演练
Oracle 11g 升级到 19c 需要关注的几个问题
Windows 10 环境下 MySQL 8.0.33 安装指南
SQL 大全(四)|数据库迁移升级时常用 SQL 语句
OGG|使用 OGG19c 迁移 Oracle11g 到 19C(第二版)
Oracle 大数据量导出工具——sqluldr2 的安装与使用
从国产数据库调研报告中你都能了解哪些信息及我的总结建议
使用数据泵利用 rowid 分片导出导入 lob 大表及最佳实践
在归档模式下直接 rm dbf 数据文件并重启数据库还有救吗?
欢迎关注我的公众号【JiekeXu DBA之路】,一起学习新知识!
————————————————————————————
公众号:JiekeXu DBA之路
墨天轮:https://www.modb.pro/u/4347
CSDN :https://blog.csdn.net/JiekeXu
ITPUB:https://blog.itpub.net/69968215
腾讯云:https://cloud.tencent.com/developer/user/5645107
————————————————————————————
更多推荐
所有评论(0)