RDS-云关系行数据库的解析与实践|学习笔记(一)

本文涉及的产品
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
简介: 快速学习RDS-云关系行数据库的解析与实践

开发者学堂课程【关系型数据库 ACP 认证课程:RDS-云关系行数据库的解析与实践】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/927/detail/14628


RDS-云关系行数据库的解析与实践


内容介绍:

一、RDS 的产品简介

二、RDS 的架构原理

三、RDS 的基本管理

四、RDS 的访问与存储

五、操作演示


一、RDS 的产品简介

1. RDS 产品综述

1什么是RDS

RDS 指阿里云关系型数据库 RDS (Relational Database Service) ,它是一种稳定可靠、可弹性伸缩的在线数据库服务。基于阿里云分布式文件系统和 SSD 盘高性能存储,RDS 支持 MySQL、SQL Server、PostgreSQL 和 MariaDBTX 引擎,并且提供了容灾、备份、恢复、监控、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。

①目标

●将耗时费力的数据库管理任务承担下来,使用户能够专心于应用开发和业务发展

●用户可根据业务需求对 RDS 进行弹性伸缩

②可靠性保证

●RDS 采用主从备份架构,具备高可用性,承诺不低于99.95%的服务可用性

●SSD 云盘每份数据具有3个副本,承诺不低于99.9999%的数据可靠性

RDS 指阿里云关系型数据库 RDS ,它是一种稳定可靠、可弹性伸缩的在线数据库服务。这款数据库服务是在线的,以MySQL 为例在使用上更简单了,并且免去了很多自己在部署 MySQLSQL Server 的问题。并且是基于阿里云的分布式文件系统和 SSD 盘的高性能存储的,它的存储放在阿里云的整个分布式系统里,并且还有本地 SSD 高性能的磁盘提高了整个存储的性能。

RDS 支持 MySQL、SQL Server、PostgreSQL 和 MariaDBTX 引擎,并且提供了容灾、备份、恢复、监控、迁移等方面的全套解决方案,其实数据库在使用的过程中,不仅仅是做表的读写等等,相关的运维操作也是非常多,阿里云是提供了整个全套的解决方案,数据库相关的都有相应的产品去做对应方便做数据库的运维。

可靠性,云数据库对于可靠性,服务可用性是有一定承诺的,例如 RDS 单节点版可用性相对会低一些,一般企业用的是主从备份架构的双节点的主备架构,主备架构版具备高可用性。阿里云每款产品都有一个SLA叫服务可用性承诺书,在购买阿里云各种产品时,在最后交钱之前都有一个协议书,这里就包括了服务可用SLA保障,这里承诺不低于99.95%的服务可用性,并且 SSD 云盘,云盘版基于阿里云底层的分布式存储系统做的3个副本,承诺可以达到99.9999%的数据可靠性。


2为什么选择 RDS

①自研内核

阿里云在 MySQL 社区版的基础上对内核做了深度的定制,增加了一些更强的功能,比如阿里 SQL ,它是 MySQL 的一个分支,除了社区版的功能之外,它还提供了类似企业版的功能,如企业级的备份恢复、线程池等功能,再比如阿里 PG,在社区版的基础上也做了优化,如图片识别速率加快等。

②便宜易用

规格可以进行升配即购买的规格可以根据业务量而定。

③高性能

④高可用容灾

有不同版本的 RDS 可供使用,如基础版、高可用版、集群版(SQL Server)和三节点企业版

⑤高安全性

⑥VS 自建

无论从实例的性能上还是成本上云数据库还是有很大优势的,性价比很高。


(3)RDS 产品系列

image.png

基础版就是单节点版,基础版适用于学习或者临时测连接性

而在生产环境下, RDS 最低使用要求是高可用版。高可用版拥有主备两个实例(只读实例在通常是不会启用的,需要人为开启)。

集群版是 SQL Server 才具备的版本,注意 My SQL 有三个版本基础版,高可用版,三点企业版。SQL Server 有一个集群版)也就是把 SQL Server 做一个主备,只读实例按需扩容,因为要收费那么多开一个实例,本身主实例够只开集群版就可以了,不用读写分离。

三节点企业版是一主两备的设定。

(4)RDS 的核心概念

①地域可用性:

地域指以城市划分,如北京杭州、上海等,新节点如河北、石家庄等。地域下又划分了多个可用区,可用区指有独立的电力和网络的数据中心,在同一个地域内,不同的可用区在同一个 VPC 下,默认内网是互通的在一个 VPC 下,同一地域,同一可用区,同一个VPC下,内网默认是互通的。不同地域要有不同的VPC,所以内网默认是不互通的,不同地域内网的默认是不互通的。

②实例

在实例里需要开通数据库,为了区分数据库,所以称为实例,一台 RDS 称为一个实例例如:安装一个My SQL 里面还要创建库,My SQL 本身要有数据库,为了做区分可以称之为实例,在实例里面创建数据库。

③数据库

④数据库账号

用于管理数据库,分为高权账号和普通账号

⑤运行状态

⑥产品规格


2.RDS 典型应用场景

(1)RDS 的典型应用场景

即数据库的典型应用场景,数据库需要的应用场景都可以通过 RDS 来完成,如:

image.png

①读写分离:

开启读写分离后,系统会额外提供一个读写分离地址或者只读地址,可以使用这个地址实现读写分离。

这比业务升级时开通方便很多,不需要进行很多步骤,只要点击开启只读实例即可。分为两种情况,第一种是读写分离地址,其中读业务实现读分离,写业务实现写分离;第二种是只使用一个地址也就是一个代理地址,自动的进行读写分离的区分

②复杂搜索:

通过 OpenSearch 自带功能。可将 RDS 中的数据自动同步至 OpenSearch 实现各类操作。

③异地容灾:

通过数据传输服务 DTS ,可以将自建机房的数据库或者 ECS 上的自建数据库实时同步到任一地域的 RDS 实例。

这是阿里云的一大优势, RDS 可以通过数据传输服务 DTS 进行跨地域容灾,比如说北京和杭州之间,为了避免数据泄露,往往不会采用公网,而是通过打通内网的方式传输数据,实现异地容灾。

④多样化存储:

RDS 可以搭配云数据库 Redis 、云数据库 Memcache 和对象存储 OSS 等产品使用,组合使用帮助完成业务,实现多样化存储扩展。

⑤大数据计算:

通过数据集成服务,可将 EDS 数据导入 MaxCompute ,实现大规模的数据计算。


(2)RDS 典型应用场景:开启读写分离扩展RDS处理能力

image.png

①企业进行促销时会引入大量数据库查询需求,单个实例可能无法抵抗读取压力,甚至对主流程业务产生影响(在互联网业务中,读占70%,写占30%)。为了实现读取能力的弹性扩展,分担数据库压力,阿里云 RDS 支持在某个地域中创建一个或多个只读实例,利用多个只读实例满足大量的数据库读取工作负载,以此增加应用的吞吐量。

②促销结束后可以对只读实例进行释放按需计费使用,在业务高峰期使用大量的只读实例,低谷期只使用一部分,这样可以节省企业大量成本,有效提升效益。

如图:


(3) RDS 典型应用场景:结合开放搜索服务实现复杂搜索

①开放搜索服务(OpenSearch)是一款结构化数据搜索托管服务,为移动应用开发者和网站站长提供简单高效、稳定、低成本和可扩展的搜索解决方案。通过 OpenSearch 自带功能,可将 RDS 中的数据自动同步至 OpenSearch 实现各类复制搜索。

如图:

image.png

可以支撑 OpenSearch 相当于阿里云产品之间是互相可以联动的。

(4)RDS 典型应用场景:自建库搭配 RDS 实现异地容灾

①自建机房里面的服务器已经非常多了,而且公司有足够的运维能力来管理所有应用。但是为数据容灾在异地建一个机房看起来还是一个投入产出比很低的事情。

②通过 DTS 数据传输服务,用户可以将自建机房的数据库实时同步到公共云上任一地域的 RDS 实例里面。即使发生机房损毁的灾难,数据永远在阿里云有一个备份。

如图:

image.png

自建库搭配 RDS 实现异地容灾,例如:本身 IDC 有数据库为了安全性,如方案本地机房出了问题客户需要上云,考虑一点机房里的服务器还可以用不能浪费,做本地机房和云上做混合云的容灾,利用专线将阿里云和本地机房打通,将数据直接同步到本地机房中,主业务压力在云上,自建库做了一套容灾系统,当真的发生一些隐患的时候,由于业务的问题出现故障,这时可以切到本地库中做一个应急的保障。


(5)RDS 典型应用场景:搭配异构数据库实现数据多样化存储

①在数据类型多样的应用中,可将高热存取数据存储于缓存产品,如云数据库 Memcached 版、云数据库 Redis 版,将图片等非结构化资源存储于对象存储 OSS ,而将链接等结构化数据存储于 RDS 、实现对业务数据高效存取,并相应降低成本投入

如图:

image.png

Redis 在阿里云里叫 KVStore 是一个键值堆存储,非结构化数据可以直接存到 OSS中,


(6)RDS 典型应用场景:搭配大数据计算服务实现大规模数据计算

①云数据库 RDS 搭配大数据计算服(MaxCompute),实现对大数据的分布式分析处理,适用于商业分析、挖掘等大数据处理场景。通过 DataWorks 可自助实现数据从 RDS 至 MaxCompute 的同步,简化数据操作流程。

如图:

image.png

RDS 通过数据集成到ODPS中,在阿里云整个 RDS 中不限于 RDS 这些产品是可以组合成各种解决方案,而且在一个内网去使用像大数据产品,数据可以直接对到ODPS 平台。


3.RDS 功能概览

image.png


(1)基础管理与监控

①实例管理

②库/账号管理

③连接数据库

④参数管理

参数的调整是相对复杂的, 而RDS 中的各种参数模板可以解决这个问题

⑤监控管理

⑥安全管理

⑦可用性管理


(2)访问与存储

①访问方式

②数据库代理

③存储类型

④存储引擎

⑤读写分离


(3)备份与恢复(主要使用 DBS )

①备份方式

②全量/增量

③自动/手动

④数据库恢复

⑤库表级备份/恢复

⑥跨地域备份/恢复


(4)数据迁移(主要使用 DTS )

①数据迁入

②数据迁出

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
数据库 索引
深入探索数据库索引技术:回表与索引下推解析
【10月更文挑战第15天】在数据库查询优化的领域中,回表和索引下推是两个核心概念,它们对于提高查询性能至关重要。本文将详细解释这两个术语,并探讨它们在数据库操作中的作用和影响。
48 3
|
2月前
|
存储 NoSQL 关系型数据库
数据库技术深度解析:从基础到进阶
【10月更文挑战第17天】数据库技术深度解析:从基础到进阶
69 0
|
2月前
|
SQL 关系型数据库 MySQL
数据库导入SQL文件:全面解析与操作指南
在数据库管理中,将SQL文件导入数据库是一个常见且重要的操作。无论是迁移数据、恢复备份,还是测试和开发环境搭建,掌握如何正确导入SQL文件都至关重要。本文将详细介绍数据库导入SQL文件的全过程,包括准备工作、操作步骤以及常见问题解决方案,旨在为数据库管理员和开发者提供全面的操作指南。一、准备工作在导
307 0
|
1月前
|
存储 负载均衡 监控
数据库多实例的深入解析
【10月更文挑战第24天】数据库多实例是一种重要的数据库架构方式,它为数据库的高效运行和灵活管理提供了多种优势。在实际应用中,需要根据具体的业务需求和技术环境,合理选择和配置多实例,以充分发挥其优势,提高数据库系统的性能和可靠性。随着技术的不断发展和进步,数据库多实例技术也将不断完善和创新,为数据库管理带来更多的可能性和便利。
97 57
|
2月前
|
Web App开发 SQL 数据库
使用 Python 解析火狐浏览器的 SQLite3 数据库
本文介绍如何使用 Python 解析火狐浏览器的 SQLite3 数据库,包括书签、历史记录和下载记录等。通过安装 Python 和 SQLite3,定位火狐数据库文件路径,编写 Python 脚本连接数据库并执行 SQL 查询,最终输出最近访问的网站历史记录。
|
2月前
|
关系型数据库 数据挖掘 数据库
解析数据库联结:应用与实践中的 INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL OUTER JOIN 与 CROSS JOIN
解析数据库联结:应用与实践中的 INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL OUTER JOIN 与 CROSS JOIN
66 1
|
2月前
|
SQL 开发框架 .NET
ASP.NET连接SQL数据库:实现过程与关键细节解析an3.021-6232.com
随着互联网技术的快速发展,ASP.NET作为一种广泛使用的服务器端开发技术,其与数据库的交互操作成为了应用开发中的重要环节。本文将详细介绍在ASP.NET中如何连接SQL数据库,包括连接的基本概念、实现步骤、关键代码示例以及常见问题的解决方案。由于篇幅限制,本文不能保证达到完整的2000字,但会确保
|
4月前
|
存储 SQL 安全
【数据库高手的秘密武器:深度解析SQL视图与存储过程的魅力——封装复杂逻辑,实现代码高复用性的终极指南】
【8月更文挑战第31天】本文通过具体代码示例介绍 SQL 视图与存储过程的创建及应用优势。视图作为虚拟表,可简化复杂查询并提升代码可维护性;存储过程则预编译 SQL 语句,支持复杂逻辑与事务处理,增强代码复用性和安全性。通过创建视图 `high_earners` 和存储过程 `get_employee_details` 及 `update_salary` 的实例,展示了二者在实际项目中的强大功能。
43 1
|
3月前
|
SQL 关系型数据库 MySQL
MySQL技术安装配置、数据库与表的设计、数据操作解析
MySQL,作为最流行的关系型数据库管理系统之一,在WEB应用领域中占据着举足轻重的地位。本文将从MySQL的基本概念、安装配置、数据库与表的设计、数据操作解析,并通过具体的代码示例展示如何在实际项目中应用MySQL。
94 0
|
4月前
|
C# 开发者 Windows
全面指南:WPF无障碍设计从入门到精通——让每一个用户都能无障碍地享受你的应用,从自动化属性到焦点导航的最佳实践
【8月更文挑战第31天】为了确保Windows Presentation Foundation (WPF) 应用程序对所有用户都具备无障碍性,开发者需关注无障碍设计原则。这不仅是法律要求,更是社会责任,旨在让技术更人性化,惠及包括视障、听障及行动受限等用户群体。
85 0