最近有客户准备上线Gaussdb,我们作为数据库维护方,需要把相关的准备工作做到位,因此,先对Gaussdb做一个初步的了解。
这几天看了一些Gaussdb的资料,从官宣文档来看,Gaussdb还是挺牛逼的,今天先介绍一下对Gaussdb的基本情况。
Gaussdb主要分两类,一个是Gaussdb 200,主要负责OLAP类型数据库,一个是Gaussdb 100,主要负责OLTP类型数据库。这里主要介绍Gaussdb 100数据库(明年将会更名为Gaussdb oltp),据说这是一个从2002年开始研发的数据库,到目前为止已经有17个年头了,全部都是由华为内部开发,自主可控,目前已经在数百个局点上线。
Gaussdb OLTP是一款高可用、高性能、高安全的分布式关系型数据库,从介绍来看,类似于分布式的Mysql数据库,但是内部管理方式和体系架构又跟oracle很相似,所以可以看作是Oracle和Mysql的结合体。
从安装方式上来看,可以单机安装,可以1主1从、1主多从HA架构安装,也可以分布式集群安装,不过在分布式集群安装中,每个集群都是1主2从的HA架构。
如下图:
|
从体系架构来看,90%跟oracle一样,文件类型有数据文件、日志文件、控制文件;实例层面有SGA,有六大核心进程,SGA中有data buffer,有log buffer,有shared pool等等,核心进程有DBWR,有LGWR,有CKPT,有SMON,有ARCH,不过少了一个PMON进程,多了一个STAT进程;客户端也是通过连接监听程序来连接数据库,不过没有PGA,有的是一个个的进程,暂时还不清楚进程是怎么管控的,后续了解后再介绍。
体系架构图如下:
|
摘取华为云论坛的一点介绍,如下:
高斯体系架构主要由三部分组成: 1、网络及服务:当我们搭建完一台数据库服务器后,需要通过tcp/ip网络连接,这个时候服务器侧的lsnr线程会对用户的连接行为进行监听,符合连接条件,就可以进入数据库; 2、实例:实例由两部分构成 2.1 内存:内存是我们高斯数据库处理数据的核心区域,有4个关键的buffer: 2.1.1 data buffer:将磁盘上的数据读入内存进行缓存的地方,对于oltp系统而言,这个值设置的过小,会导致栓争用,影响系统性能,设置过大,会加大数据块的检索时间,所以要不断的调整,力求达到一个临界的值; 2.1.2 log buffer:主要缓存DML、DDL等语句变更向量的日志 2.1.3 temporary buffer:主要用户内存排序,如果不够用,直接用临时表空间排序 2.1.4 share pool:主要存放sql、pl/sql语句及执行计划的地方 2.2 进程:介绍几个核心的进程 2.2.1、smon 主要负责实例恢复 2.2.2、dbwr 数据库写进程 2.2.3、arch 归档进程,就是备份在线日志 2.2.4、ckpt 检查点进程,主要负责打系统级的标记 2.2.5、stats 收集统计信息进程 3、数据库:数据库由三部分文件组成 3.1 控制文件:数据库的记忆,记录控制点、数据文件的地址等等 3.2 数据文件:装在数据的文件 3.3 日志文件:用户数据库恢复 |
然后在客户端方面,Gaussdb在服务器端使用zsql进行管理数据库,在开发端使用data studio进行开发,类似oracle中的sqlplus和pl/sql工具,在监控上使用的是database manager进行管理和监控,类似oracle的EM.
初步来看,从Mysql或者Oracle转到Gaussdb是比较容易的,很多理念跟Oracle相似,打倒美帝,支持华为,妈妈不担心我失业了,哈哈。
今天先介绍到这里,改天安装后再做进一步的介绍。