聊聊GaussDB(for Mysql)【这次高斯不是数学家】

举报
周杰伦本人 发表于 2022/06/11 21:49:56 2022/06/11
【摘要】 聊聊GaussDB(for Mysql)GaussDB的产品GaussDB 是华为出的一款数据库产品,从华为云的官网我们就能看到,GaussDB有多个产品,包括关系型数据库的GaussDB(for openGauss)和GaussDB(for Mysql)的,GaussDB(for Mysql)可以完全兼容我们用的Mysql,非关系型的数据库中包括GaussDB(for Cassandra)...

聊聊GaussDB(for Mysql)

GaussDB的产品

GaussDB 是华为出的一款数据库产品,从华为云的官网我们就能看到,GaussDB有多个产品,包括关系型数据库的GaussDB(for openGauss)和GaussDB(for Mysql)的,GaussDB(for Mysql)可以完全兼容我们用的Mysql,非关系型的数据库中包括GaussDB(for Cassandra)、GaussDB(for Mongo)、GaussDB(for Redis)和 GaussDB(for Influx),还有大数据相关的GaussDB(DWS)云数据仓库,可以说产品还是比较丰富的,我们这篇文章主要聊聊GaussDB(for Mysql)

GaussDB(for Mysql)

从数据库的演进过程来看,从一开始的集中式数据库再到分布式数据库,分布式数据库两大特点,复制和分片,分片又分为水平分片和垂直分片,这里就不细说了,现在的数据库基本都上云了,以及多态数据库,GaussDB(for Mysql)在数据库管理系统的定位来说,它是一款关系型的云数据库库管理软件,那么GaussDB为什么选择部署在云端呢?传统数据库的大小容易受到本地的存储容量的限制 ,而云存储就可以很方便的增加数据库的容量,当数据库容量变大的时候,云存储也会面临数据备份时间长的问题,那么云存储的一大特点就可以解决这个问题,那就是云数据库实现了计算和存储的分离,计算层将日志信息发送给存储层,而存储层使用日志记录进行更新数据。

完整性约束

数据的完整性约束就是在对数据进行增删改查操作的时候,DBMS进行的数据检测,确保数据库中存储的数据正确有效,数据的完整性约束包括下列几种:

实体完整性,也就是某个属性的值不能重复,通过主键来进行约束。

参照完整性,这个体现是在于外键,当违背了参照完整性的时候,可能有的策略是拒绝策略,也就是sql执行失败,级联操作,也就是与之相关的表也会别修改,设置控制,也就是外键的值设置为空。

那么GaussDB(for Mysql)在数据库管理系统中支持完整性约束条件机制、支持完整性检查和违背完整性约束之后的处理。

用户自定义完整性,也就是用户可以定义哪个字段可以非空,哪个字段值唯一,哪个字段的值唯一,这里说一下主键 PRIMARY KEY 也可以设置字段的值唯一,但一个表可以有多个 UNIQUE 约束,而只能有一个主键约束,对于违背约束的拒绝执行。

恢复机制

一次事务的执行可以称为一次调度,在事务执行的过程中可能会出错,那么我们回滚事务来处理,恢复机制可以通过中止日志来进行中止事务。当出现系统故障的时候,可能没有完成事务的数据已经写入数据库中,也可能完成的事务在缓存区没有来得及写入数据库中。当系统重启后,对于没有完成的事务,我们要撤销调,对于已经完成的事务重新执行,确保数据一致,也可以使用日志文件来回复数据。当出现磁盘等硬件故障的时候,通过副本文件、日志文件、数据镜像等来进行数据恢复。

数据备份

GaussDB(for Mysql)是数据库备份这一块也是做的很友好的,可以进行自动备份和手动备份,它是主备结构的数据库,三备份机制,当出现故障的时候能够做到闪恢复。

数据安全

数据库安全级别有DBMS级别、网络级别、OS级别、用户级别和环境级别,对于数据的安全有很多方法:

  1. 用户标识,通过输入密码、人脸识别、声音识别等等鉴别用户
  2. 给不同用户分配不同权限,对权限严格限制
  3. 定义存取权限
  4. 通过视图创建临时表来隐藏其他数据,保证安全
  5. 对执行的sql写入日志,也就是审计功能。
  6. 对数据库中的数据进行加密处理。

总结

这篇文章我们讲述了GaussDB旗下的产品有哪些,重点说了GaussDB(for Mysql)的内容,包括他的完整性约束、数据安全和数据备份等等知识点,在使用GaussDB(for Mysql)方面,GaussDB(for Mysql)的语法等完全兼容Mysql8.0,包括视图、索引、数据的联合查询、函数、单表查询、多表查询、触发器、存储过程、事务等等内容,都和我们用的Mysql一致,无需担心上手不了,我们一般通过GaussDB(for Mysql)管理控制平台来执行相应的SQL命令,比如表的创建、增删改查等等

【这次高斯不是数学家】有奖征文火热进行中:https://bbs.huaweicloud.com/blogs/345260

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。