聊聊人大金仓 KingbaseES 数据库

打印 上一主题 下一主题

主题 832|帖子 832|积分 2496


  
作者 | 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 系列大概发布了如下十几个版本。

  1. 版本号              发布日期
  2. ============== V9 ================
  3. V009R001C001B0030    2024-6-19
  4. V009R001C001B0025    2023-11-4
  5. V009R001C001B0014    2023-3-27
  6. ============== V8 ================
  7. V008R006C008B0014  2023-9-14
  8. V008R006C007B0024  2023-3-27
  9. V008R006C007B0012  2022-11-9
  10. V008R006C006B0021  2022-9-5
  11. V008R006C006B0013  2022-6-29
  12. V008R006C005B0054  2022-4-12
  13. V008R006C005B0041  2022-3-3
  14. V008R006C005B0033  2022-1-12  
  15. V008R006C005B0023  2021-11-8  
  16. V008R006C005B0013  2021-9-26  
  17. V008R006C004B0021  2021-7-28  
  18. V008R006C003B0071  2021-5-27  
  19. 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 后台进程负责收集和维护负载、会话历史数据。

  
主动作业进程:开启主动作业功能时,主动作业后台进程实现作业的主动调度。

  1. [root@jiekexu ~]# ps -ef | grep kingbase
  2. kingbase   1490      1  0 23:24 ?        00:00:00 /KingbaseES/V8/Server/bin/kingbase -D /data
  3. kingbase   2079   1490  0 23:24 ?        00:00:00 kingbase: logger   
  4. kingbase   2337   1490  0 23:24 ?        00:00:00 kingbase: checkpointer   
  5. kingbase   2338   1490  0 23:24 ?        00:00:00 kingbase: background writer   
  6. kingbase   2339   1490  0 23:24 ?        00:00:00 kingbase: walwriter   
  7. kingbase   2340   1490  0 23:24 ?        00:00:00 kingbase: autovacuum launcher   
  8. kingbase   2341   1490  0 23:24 ?        00:00:00 kingbase: stats collector   
  9. kingbase   2342   1490  0 23:24 ?        00:00:00 kingbase: kwr collector   
  10. kingbase   2343   1490  0 23:24 ?        00:00:00 kingbase: logical replication launcher   
  11. root       4207   4154  0 23:37 pts/0    00:00:00 grep --color=auto kingbase
  12. [root@jiekexu ~]# su - kingbase
  13. [kingbase@jiekexu ~]$ ksql -Usystem -d jiekexu
  14. ksql (V8.0)
  15. Type "help" for help.
  16. jiekexu=# \l
  17.                                List of databases
  18.    Name    | Owner  | Encoding |   Collate   |    Ctype    | Access privileges
  19. -----------+--------+----------+-------------+-------------+-------------------
  20. jiekexu   | system | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 |
  21. security  | system | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 |
  22. template0 | system | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/system        +
  23.            |        |          |             |             | system=CTc/system
  24. template1 | system | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/system        +
  25.            |        |          |             |             | system=CTc/system
  26. test      | system | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 |
  27. (5 rows)
  28. jiekexu=# SELECT version();
  29.                                                        version                                                        
  30. ----------------------------------------------------------------------------------------------------------------------
  31. KingbaseES V008R006C005B0023 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46), 64-bit
  32. (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 岁生日快乐,祝人大金仓社区将来更上一个台阶,祝国产数据库能有一个美好的将来。

  
参考链接

  1. https://bbs.kingbase.com.cn/kingbase-html/v9/index.html
  2. https://bbs.kingbase.com.cn/kingbase-html/v9/highly/RAC/index.html
  3. https://help.kingbase.com.cn/v9/development/develop-transfer/transplant-oracle/index.html
复制代码
全文完,希望可以帮到正在阅读的你,假如以为有资助,可以分享给你身边的朋侪,同事,你关心谁就分享给谁,一起学习共同进步~~~

  
❤️ 接待关注我的公众号【JiekeXu DBA之路】,一起学习新知识!

  

  

  分享几个数据库备份脚本

  1. 一文搞懂 Oracle 统计信息
复制代码
  1. [/code]  [size=5][b]我的 Oracle ACE 心路进程[/b][/size]
  2.   [size=5][b]MOP 系列|MOP 三种主流数据库索引简介[/b][/size]
  3.   [code]Oracle 主流版本不同架构下的静默安装指南
复制代码
  1. [/code]  [size=5][b]关机重启导致 ASM 磁盘丢失数据库无法启动[/b][/size]
  2.   [code]Oracle SQL 性能分析(SPA)原理与实战演练
复制代码
  1. [/code]  [size=5][b]Oracle 11g 升级到 19c 需要关注的几个题目[/b][/size]
  2.   [size=5][b]Windows 10 环境下 MySQL 8.0.33 安装指南
  3. [/b][/size]
  4.   [size=5][b]SQL 大全(四)|数据库迁徙升级时常用 SQL 语句[/b][/size]
  5.   [size=5][b]OGG|使用 OGG19c 迁徙 Oracle11g 到 19C(第二版)[/b][/size]
  6.   [code]Oracle 大数据量导出工具——sqluldr2 的安装与使用
复制代码
从国产数据库调研报告中你都能了解哪些信息及我的总结建议


  使用数据泵使用 rowid 分片导出导入 lob 大表及最佳实践

  1. 在归档模式下直接 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
————————————————————————————

  


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

涛声依旧在

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表