华为HCCDA云技术认证--数据库服务
大家好呀!我是reload。今天继续带大家学习华为HCCDA云技术认证,涵盖华为云最为核心的计算、存储、网络、数据库、安全、部署等服务。今天学习数据库服务相关内容。
登录华为云官网:https://www.huaweicloud.com/ ,进入首页,在产品标题下可以查看所有与数据库相关的云产品及服务。
如上图所圈,这次主要学习云数据库RDS for MySQL、GaussDB和GeminiDB相关内容。
一、数据库服务
1、数据类型与数据治理
什么是结构化数据和非结构化数据?
=> 关于数据治理,在拿到数据后,首先要分析该数据是结构化还是非结构化的,根据类型选择对应的服务。
=> 非结构化数据放到存储(如OBS、EVS)里面存放;结构化数据,完全结构化就用关系型数据库,半结构化用非关系型数据库。
2、关系型、非关系型数据库对比
选择数据库时,首先从模型上分析,是否涉及事务处理、复杂的查询关联,还是数据量大、有并发访问需求。同理,其余指标如访问性能、类型等类似分析。
3、华为云数据库选择
1)完整数据库解决方案:
2)云原生有哪些优势?
=> 云原生通过容器化、微服务架构、自动化运维等技术手段,实现了应用的快速部署、弹性扩展、高效运维和跨云部署。
二、关系型数据库服务
1、RDS概述
关系型数据库RDS相关特性如下:
2、情境分析与问题解决
利用数据库搭建如下简单架构。是否存在问题?问题出在哪里呢?
=> 明显看出,上述架构存在一个故障单点,即RDS。
很好理解,应用服务器不是单点,一台坏了剩下一台也能继续服务,但如果RDS坏了,整个系统就不能正常工作了。
既然如此,又该如何解决呢?主备部署
=> 主备部署,简单理解,就是当主数据库出现故障时,RDS服务会自动把访问接口切换到备用服务器上,然后把主服务器替换掉,变成一台新的备用服务器。通过该机制,当一台服务器坏掉就会被自动的替换,甚至可达秒级切换。
=> 主备服务器可同时放在一个可用区里,以获得较好的同步性;也可选择放在不同的可用区,从而获得跨可用区的容灾能力。
因为可用区可能会坏掉,有了多可用区的选择,就能在一个可用区坏掉时使用另外一个可用区的备数据库服务器,以保持业务连续性。
主备部署这么好,就没有啥缺点吗?
=> 成本增加,如多部署一台服务器、多了一些数据同步的成本。
3、搭建高可用架构
回到最开始的问题,如下是基于主备部署实现的高可用架构的落地方案。
=> 只有主数据库向应用服务器提供服务,即承载所有数据库的访问流量;而备数据库则随时准备切换上来,平常不参与工作。
4、RDS备份的工作特点
有自动Binlog和手动两种备份方式,如下:
5、RDS读写分离
RDS可以通过创建只读副本的方式,建立读写分离的数据库系统。
读写分离是一种常见的数据库架构设计,通过将读操作和写操作分开到不同的数据库实例,来提升系统性能和可扩展性。读写分离将读操作分配到读数据库,而写操作由写数据库处理,该方式能有效分担数据库的负载,避免单个数据库成为瓶颈,且能实现读操作和写操作的并行处理,提高系统的整体处理能力和响应速度。
6、只读副本实现水平扩展
同样,可以通过创建只读副本的方式实现水平扩展,如下:
7、RDS for MySQL产品架构
数据库管理员和数据库交付运维人员通过云上的RDS控制台,对数据库实例进行基础资源的管控,包括弹性伸缩策略、备份、日志和监控等功能。
开发者只需访问数据库管理员提供的访问接口,便可进行应用的开发并操作数据库RDS;根据管理员的配置进行主备数据复制,并遵循读写分离策略访问访问只读数据库副本,在发生灾难时,RDS能够实现主备切换,确保高可用性。
8、GaussDB (for MySQL)
除了 RDS for MySQL,还有没有其他数据库服务和解决方案呢?GaussDB (for MySQL)
8.1 概述及特性
首先是兼容性,可以实现较好的平替;然后是存算分离、三副本等优势,在讲华为云存储服务的时候重点介绍过这两个概念,不明白的可以回去温故。
8.2 存算分离架构
GaussDB (for MySQL)具有存算分离架构,该架构主要优势体现在:
① 计算与存储分离,性能提升至开源MySQL的数倍;
② 通过RDMA协议进行数据库传输,使用IO性能不再成为瓶颈;
③ 华为自研DFV分布式存储,容量高达128TB。
8.3 实现高可靠
数据0丢失,故障闪恢复 => 支持跨可用区部署,跨区域备份,提升实例容灾能力。
注:RPO(Recovery point objective),恢复点目标,是指业务系统所能容忍的数据丢失量。
8.4 多维扩展,海量存储
主要体现在计算节点双向扩展和存储池化,具体如下:
9、GaussDB
除了RDS for MySQL、GaussDB (for MySQL),是否还有更强大的数据库服务?GaussDB
9.1 概述及特性
GaussDB相关特性如下:
注:GaussDB和GaussDB (for MySQL)是两种不同的数据库服务,不要混淆。
9.2 sharding架构
GaussDB基于Shared-Nothing (sharding)架构,如下:
三、非关系型数据库服务
1、非关系型数据库特点
① 每条数据都是一个结构文档。
② 表格中的记录之间没有逻辑关系。
③ 擅长对完整值进行哈希定位而非复杂查询。
2、GeminiDB
当有大量高并发数据涌入系统时,又该使用哪种数据库服务呢?GeminiDB
=> GeminiDB是华为自主研发的分布式多模NoSQL数据库服务,其特性如下:
3、云数据库GeminiDB架构
1)高可用
=> 当计算节点故障:秒级的故障切换;
=> 当存储节点故障:存储三副本,单点故障整体系统仍可运行。
2)弹性扩容
=> 扩容计算节点:计算节点无状态,可快速扩容;
=> 扩容存储节点:共享存储,一键扩容,不中断业务。
4、非关系型数据库使用注意
① 设计好数据键和索引定义。快速定位,避免全表查找。
=> 避免热键;
=> 避免数据过于复杂;
=> 不论数据量多少,毫秒级数据定位。
② 如果需要,在应用层进行逻辑锁和数据逻辑关联。
③ 在压力提高时,合理利用集群来分散压力。
=> 利用分片算法快速定位数据在集群中的位置;
=> 数据设计上让访问压力分散到集群内各个节点,避免热分区。