云服务培训五-数据库服务

如上图所圈,这次主要学习云数据库RDS for MySQL、GaussDB和GeminiDB相关内容。

 

 

一、结构化数据、非结构化数据

选择数据库时,首先从模型上分析,是否涉及事务处理、复杂的查询关联,还是数据量大、有并发访问需求。同理,其余指标如访问性能、类型等类似分析。 

结构化数据:有标准的格式

=> 关于数据治理,在拿到数据后,首先要分析该数据是结构化还是非结构化的,根据类型选择对应的服务。

=> 非结构化数据放到存储(如OBS、EVS)里面存放;

=> 结构化数据,完全结构化就用关系型数据库,半结构化用非关系型数据库。

华为云数据库选择

云原生通过容器化、微服务架构、自动化运维等技术手段,实现了应用的快速部署、弹性扩展、高效运维和跨云部署

 

二、关系型数据库服务RDS

 

利用数据库搭建如下简单架构。是否存在问题?问题出在哪里呢?

 

=> 明显看出,上述架构存在一个故障单点,即RDS。

很好理解,应用服务器不是单点,一台坏了剩下一台也能继续服务,但如果RDS坏了,整个系统就不能正常工作了。 

既然如此,又该如何解决呢?主备部署

=> 主备部署,简单理解,就是当主数据库出现故障时,RDS服务会自动把访问接口切换到备用服务器上,然后把主服务器替换掉,变成一台新的备用服务器。通过该机制,当一台服务器坏掉就会被自动的替换,甚至可达秒级切换。

 => 主备服务器可同时放在一个可用区里,以获得较好的同步性;也可选择放在不同的可用区,从而获得跨可用区的容灾能力。

因为可用区可能会坏掉,有了多可用区的选择,就能在一个可用区坏掉时使用另外一个可用区的备数据库服务器,以保持业务连续性。

主备部署这么好,就没有啥缺点吗?

=> 成本增加,如多部署一台服务器、多了一些数据同步的成本。

回到最开始的问题,如下是基于主备部署实现的高可用架构的落地方案。

=> 只有主数据库向应用服务器提供服务,即承载所有数据库的访问流量;而备数据库则随时准备切换上来,平常不参与工作。

自动Binlog手动两种备份方式,如下:

 

 

 

RDS可以通过创建只读副本的方式,建立读写分离的数据库系统。

读写分离是一种常见的数据库架构设计,通过将读操作和写操作分开到不同的数据库实例,来提升系统性能和可扩展性。读写分离将读操作分配到读数据库,而写操作由写数据库处理,该方式能有效分担数据库的负载,避免单个数据库成为瓶颈,且能实现读操作和写操作的并行处理,提高系统的整体处理能力和响应速度。

6、只读副本实现水平扩展

同样,可以通过创建只读副本的方式实现水平扩展,如下:

 

以上为主备部署+只读副本 

RDS for MySQL产品架构

三、GaussDB (for MySQL) 

除了 RDS for MySQL,还有没有其他数据库服务和解决方案呢?GaussDB (for MySQL)

 

 RDMA:远程直接内容访问

注:RPO(Recovery point objective),恢复点目标,是指业务系统所能容忍的数据丢失量。 

 

四、GaussDB 云数据库

 

 

注:GaussDB和GaussDB (for MySQL)是两种不同的数据库服务,不要混淆。 

 

 

五、非关系型数据库:云数据库GeminiDB

1、非关系型数据库特点

① 每条数据都是一个结构文档。

② 表格中的记录之间没有逻辑关系。

③ 擅长对完整值进行哈希定位而非复杂查询。

云数据库GeminiDB架构
1)高可用

=> 当计算节点故障:秒级的故障切换;

=> 当存储节点故障:存储三副本,单点故障整体系统仍可运行。

2)弹性扩容

=> 扩容计算节点:计算节点无状态,可快速扩容;

=> 扩容存储节点:共享存储,一键扩容,不中断业务。

 

非关系型数据库使用注意
① 设计好数据键和索引定义。快速定位,避免全表查找。 

=> 避免热键;

=> 避免数据过于复杂; 

=> 不论数据量多少,毫秒级数据定位。

② 如果需要,在应用层进行逻辑锁和数据逻辑关联。

③ 在压力提高时,合理利用集群来分散压力。 

=> 利用分片算法快速定位数据在集群中的位置;

=> 数据设计上让访问压力分散到集群内各个节点,避免热分区。

六、数据库管理服务 DAS

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/26936.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【愚公系列】《Python网络爬虫从入门到精通》036-DataFrame日期数据处理

标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。近期荣誉2022年度…

类和对象进一步了解c++

初始化列表 虽然构造函数能帮助我们完成初始化,但其实也就是构造函数赋值而已,根本不算真正的初始化。 所以,祖师爷就提出了一个初始化列表,用来初始化成员变量。 注意 每个成员变量在初始化列表中最多出现一次(初始化只能初始…

rust学习笔记9-结构体与206.反转链表

结构体 rust不是面向对象语言,没有类(class),主要采用结构体(struct)来处理结构化数据,这点与go语言相似。 基本使用 struct Person {name: String,age: u32,height: f64, }fn main() {let p…

DDD该怎么去落地实现(4)多对多关系

多对多关系的设计实现 如题,DDD该如何落地呢?前面我通过三期的内容,讲解了DDD落地的关键在于“关系”,也就是通过前面我们对业务的理解先形成领域模型,然后将领域模型的原貌,形成程序代码中的服务、实体、…

论文阅读:CAN GENERATIVE LARGE LANGUAGE MODELS PERFORM ASR ERROR CORRECTION?

CAN GENERATIVE LARGE LANGUAGE MODELS PERFORM ASR ERROR CORRECTION? 生成式大语言模型能否进行自动语音识别(ASR)纠错? https://arxiv.org/pdf/2307.04172 文章目录 速览常规总结通俗版 摘要(Abstract)2. 引言&a…

python面向对象

目录 初识对象 类的成员方法 类和对象 构造方法 魔术方法 __str__ __lt__ __le__ __eq__ 封装 私有成员 继承 单继承 多继承 pass 复写 类型注解 1 变量的类型注解 方法1 使用: 方法2 注释 应用场景 2 函数(方法)的类型注解 3 混合类型注解 多态 初识对象 #设计…

C++的类型转换

C语言中的类型转换 在C语言中,如果赋值运算符左右两侧类型不同,或者形参与实参类型不匹配,或者返回值类型与 接收返回值类型不一致时,就需要发生类型转化,C语言中总共有两种形式的类型转换:隐式类型 转换和…

计算机网络-实验3拓扑结构

三、实验拓扑结构、实验步骤及结果分析 1. 实验拓扑结构 2. 实验步骤 3. 结果分析

[ISP] AE 自动曝光

相机通过不同曝光参数(档位快门时间 x 感光度 x 光圈大小)控制进光量来完成恰当的曝光。 自动曝光流程大概分为三部分: 1. 测光:点测光、中心测光、全局测光等;通过调整曝光档位使sensor曝光在合理的阈值内&#xff0…

聊一聊 IM 如何优化架构?

IM 系列 im doc 实时通讯文档仓库 聊一聊 IM 是什么? IM 即时通讯系统概览 聊一聊 IM 要如何设计? 聊一聊 IM 要如何设计功能模块? 聊一聊 IM 要如何进行架构设计? 聊一聊 IM 要如何进行技术选型? 聊一聊 IM 要…

开启mysql的binlog日志

mysql版本5.7 1.查看是否开启bin_log show global variables like’log_bin’; off的话需要先开启 在mysql的文件夹目录中找到my.ini 加一行log-bin“C:/ProgramData/MySQL/MySQL Server 5.7/logs/log-bin” 并提前创建好目录 2.数据库会把日志放进logs目录中 3.查看log日…

OpenHarmony4.1-轻量与小型系统ubuntu开发环境

因OpenHarmony官网提供包含轻量、小型与标准系统的全量代码非常宠大,解包后大概需要70G以上硬盘空间,如要编译标准系统则需要140G以上空间。 如硬盘空间有限与只使用轻量/小型OpenHarmony系统,则可以下载并直接使用本人裁剪源码过的ubuntu硬盘…

图论题目。

图论题目 检测环(dfsbfs)课程表 拓扑排序(dfsbfs)课程表2 二分图(dfs,bfs)判断二分图可能的二分法 Kruskal算法和Prim算法连接所有点的最小费用 Dijkstra算法概率最大的路径网络延时时间 检测环(dfsbfs) 课程表 题目 dfs: clas…

2025春新生培训数据结构(树,图)

教学目标: 1,清楚什么是树和图,了解基本概念,并且理解其应用场景 2,掌握一种建图(树)方法 3,掌握图的dfs和树的前中后序遍历 例题与习题 2025NENU新生培训(树&#…

如何防止Python网络爬虫爬取网站内容

要防止Python网络爬虫爬取网站内容,可以从以下几个方面入手: 遵守Robots.txt文件:首先,网站管理员可以通过robots.txt文件明确告知爬虫哪些页面可以抓取,哪些不可以。爬虫在抓取之前应先检查该文件,尊重网站…

Java数据结构第十六期:走进二叉树的奇妙世界(五)

专栏:Java数据结构秘籍 个人主页:手握风云 目录 一、非递归实现遍历二叉树 1.1. 二叉树的前序遍历 1.2. 二叉树的中序遍历 1.3. 二叉树的后序遍历 一、非递归实现遍历二叉树 1.1. 二叉树的前序遍历 我们这里要使用栈来进行实现。我们反向思考一下为…

yolov8_pose模型,使用rknn在安卓RK3568上使用

最近在使用rknn的一些功能,看了看文档以及自己做的一些jni,使用上yolov8_pose的模型. 1.我们先下载一下rknn的模型功能代码,rk有自己做的一套demo 地址:GitHub - airockchip/rknn_model_zooContribute to airockchip/rknn_model_zoo development by creating an account on G…

大模型推理时的尺度扩展定律

大模型推理时的尺度扩展定律 FesianXu at 20250212 at Wechat Search Team 前言 大模型的尺度扩展定律告诉我们:『LLM的性能会随着模型的参数量、模型的训练量、模型的训练数据量的增加而增加』。训练存在尺度扩展定律,测试也存在尺度扩展定律&#xff…

ubuntu防火墙iptables

文章目录 步骤开启自启防火墙iptables规则链Chains的区别 在 Ubuntu 上使用 iptables 配置防火墙并保证服务可用 步骤 #防火墙状态 systemctl status iptables systemctl start iptables #开启防火墙并且开启22端口 systemctl start iptables && iptables -A INPUT -p…

聊一聊 IM 如何优化监控

IM 系列 im doc 实时通讯文档仓库 聊一聊 IM 是什么? IM 即时通讯系统概览 聊一聊 IM 要如何设计? 聊一聊 IM 要如何设计功能模块? 聊一聊 IM 要如何进行架构设计? 聊一聊 IM 要如何进行技术选型? 聊一聊 IM 要…