云数据库RDS快速入门

云数据库RDS快速入门       

 

“数据库Clouder认证”系列中的第一阶段。课程基于电商平台应用场景展开,带您了解数据库在实际业务中的作用,理解企业数据库迁移上云的原因,学习开源版MySQL数据库相关技术、RDS产品的常用功能与基础操作,掌握RDS产品的快速入门,快速完成云上数据库搭建。

 

  1. 了解数据库发展史
  2. 掌握数据库基本概念
  3. 了解开源数据库MySQL和RDS for MySQL的区别
  4. 掌握阿里云RDS产品的基本概念和基础操作
 
 

小明初入职场,在一家跨境电商公司做后端开发,为了应对日益增长的用户访问量和数据存储需求,公司决定将数据库迁移到云上,以提高可扩展性和性能。阿里云RDS是公司计划选择的云数据库产品,可以提供完全托管的数据库解决方案,公司技术人员无需花费大量时间和精力去管理数据库服务器,可以将更多精力投入到业务逻辑的开发和优化上。但小明对数据库的技术细节上有一些疑问,公司安排老王带他,小明在老王带领下开启了RDS的学习之旅。

 
 

数据库简介

老王:小明啊,你刚入职公司不久,后端技术方面还有什么问题不明白的吗?

小明:是的,老王,我有个问题一直没太搞懂。为什么跨境电商网站需要数据库呢?我们的网站不是只需要前端展示和一些后台代码吗?

老王:哈哈,这个问题问得好!其实数据库在跨境电商网站中扮演着非常重要的角色。跨境电商网站有大量的数据,比如商品信息用户信息订单信息、仓配信息等等。这些数据需要被存储和管理,否则我们无法对网站的内容和业务进行有效的操作。

小明:我明白了,就像我们平时用的Excel表格一样,把数据存起来,方便查阅和处理。

老王:很对!数据库就是我们存储这些数据的地方。它比Excel更强大,可以高效地存储大量数据,并且支持复杂的数据查询和处理操作。

小明:好的,我大概知道数据库是干什么的了,但还不是很理解。

老王:为了更好理解数据库,你需要掌握数据库的基本概念,知道数据库在我们公司解决的问题,了解一下数据管理系统的发展历史。

 
 
  • Data):描述事物的符号。这个符号可以是文字、图像、音频和视频等等。
  • 数据库(DataBase,DB):长期存储在计算机内、有组织的、可共享的数据集合称为数据库。
  • 数据库管理系统(DataBase Management System,DBMS):管理数据库的软件称为数据库管理系统,通常简称数据库。MySQL、Oracle和PostgreSQL都是比较优秀的数据库管理系统。
  • 数据库管理员(Database Administrator,DBA):从事管理和维护数据库管理系统(DBMS)的相关工作人员, DBA的核心目标是保证数据库管理系统的稳定性、安全性、完整性和高性能。

 

数据管理技术的发展

在应用需求的推动下,在计算机硬件、软件发展的基础上,数据库管理技术经历了人工管理、文件系统数据库三个阶段

 

数据库解决什么问题

将商品、订单、用户、仓配等信息,通过业务应用系统将数据存入数据库供业务使用,然后将数据清洗存入分析型数据库中通过BI系统将商品销售等情况以图表形式展示出来,供公司做决策。

 

老王,我已经掌握了数据库的基本概念,了解了数据库的发展历史,也懂得了数据库给咱们公司解决的问题。

老王:好的,非常棒!那接下来我们学习开源、轻量且非常流行的关系型数据库MySQL。

 
 

MySQL简介

老王:20世纪90年代初,瑞典的Michael Widenius和David Axmark共同开发。最初,他们将这个数据库系统称为“mSQL”,后来改名为MySQL,将“My”命名为他们的女儿My(即Michael的女儿)、“SQL”则表示结构化查询语言。MySQL是一种开源的关系型数数据,它是最受欢迎和广泛使用的数据库之一。

小明:好的老王,我已了解MySQL的出处和他的基本情况。

老王:接下来了解一下MySQL主要特点,重点理解一下MySQL体系架构对你以后处理问题很有帮助。

 
 

MySQL主要特点

MySQL在Web开发、企业应用、数据分析、电子商务等领域都有广泛的应用。它简单易用且功能强大,具备高性能、高并发、高可靠、数据安全、多种存储引擎开源免费等诸多特点。

 

MySQL体系架构

MySQL的体系架构分为客户端Server层存储引擎层,Server层包括连接器、查询缓存、分析器、优化器和执行器,存储引擎有MyISAM、InnoDB、Memory等等,目前主流的是综合性能更强的InnoDB存储引擎。

 

  • 连接器:管理连接,权限验证。
  • 分析器词法分析、语法分析、语义分析。
  • 优化器生成执行计划、索引选择、连表顺序。
  • 执行器:操作存储引擎,返回结果。
  • 查询缓存:命中则直接返回结果。

小明:我已经掌握了MySQL体系架构,Server层有哪些模块也都记下了。

老王:非常棒,你已经掌握了MySQL的基本概念,接下来给你介绍一下我们为啥上云。

 
 

为什么上云

老王:我们之所以选择阿里云的RDS,而不是自己搭建数据库,是因为它具备简单化运维、灵活扩展、高可用性、全球化部署、更好的数据安全和专业的技术支持。

小明:这样一来我们就不需要花费大量时间和精力去管理数据库服务器,可以专注于业务开发和优化。

老王:是的,而且阿里云RDS还为我们提供了高可用的架构,通过自动备份和数据复制,还提供多重安全机制,如网络隔离、访问控制和数据加密,保护数据库免受外部攻击和数据泄露的威胁。

 
 

 

小明:那太好了,数据库的高可用性和安全性都得到保障。还有别的优势吗?

老王:咱们公司是做跨境电商的,业务需要面向全球用户,阿里云RDS提供了全球部署的选项,可以将数据库实例部署在不同的地域,降低访问延迟,提高用户体验

小明:这么一来,阿里云的RDS提供了全面的数据库解决方案,为我们的跨境电商网站提供了可靠的数据库支持。我想先赶紧学习一下RDS,体验一下。

老王:你已经了解数据库发展史、掌握数据库基本概念、了解了RDS相较于开源MySQL的优势,那接下来我给你介绍一下RDS产品,然后带你创建一个RDS实例。

 
 

RDS产品介绍

老王:RDS(Relational Database Service)是一种托管式的关系型数据库服务,它为用户提供了一种简单、可靠、安全的方式来部署、操作和扩展数据库。具有安全可靠、解决运维烦恼、有效降低成本和自研增加等四大特性,如下所示:

 

小明:当我们促销需要扩容,RDS有啥优势呢?

老王:扩缩容操作简单灵活,通常仅约30秒闪断或无闪断。Serverless实例扩缩容为自动、秒级、无闪断。

小明:我听说咱们公司之前用的开源的MySQL,上云的话与RDS是否兼容呢?

老王:阿里云自研的AliSQL在开源数据库的基础上,进行了一系列创新与优化,不仅兼容社区MySQL,还满足企业级的性能和稳定性需求。接下来让我带你创建一个RDS实例,用DMS连接执行SQL体验一下吧!

 
 

实例创建

老王:创建RDS实例是一个简单的过程。登录RDS控制台创建实例,设置相关配置,选择业务需要的实例规格,然后提交订单就可以了。

 

基础资源:不同地域之间内网不通,实例创建后地域不支持更改。

 

  1. 登录RDS控制台点击创建实例

老王:通常情况下我们用RAM账号登录到RDS控制台,如下图所示,点击创建实例跳转到标准创建页,设置基础资源。

 

  1. 设置基础资源

    老王:RDS实例购买后,地域不支持更改。我们的服务部署在上海ECS,因此RDS也选择上海,这样ECS与RDS内网互通。否则,ECS实例只能通过外网访问RDS实例,无法发挥最佳性能。

     

    1. 设置实例配置

      VPC相同,交换机不同,ECS实例与RDS实例也可以内网互通。

      在阿里云中,VPC(Virtual Private Cloud,虚拟私有云) 和 交换机(VSwitch) 是构建和管理云上网络环境的关键组件。它们在部署云资源(如 ECS 实例、RDS 数据库等)时起着至关重要的作用。以下是对 VPC 和交换机的详细解释,以及它们在网络 RDS(Relational Database Service,关系型数据库服务)中的作用。

      1. VPC(虚拟私有云)

      定义

      VPC 是一个隔离的网络环境,允许你在阿里云中创建一个逻辑隔离的网络空间。在 VPC 中,你可以自定义 IP 地址范围、子网(通过交换机实现)、路由表和网络网关。

      作用

      1. 网络隔离:
        • VPC 提供了一个完全隔离的网络环境,确保你的云资源(如 ECS 实例、RDS 数据库等)与其他用户的资源完全隔离,增强了安全性。
      2. 自定义网络配置:
        • 你可以自定义 IP 地址范围、子网划分、路由表和网络网关,满足不同的网络需求。
      3. 灵活的网络拓扑:
        • VPC 支持多种网络拓扑结构,可以根据业务需求灵活配置,例如多区域部署、混合云架构等。
      4. 连接到本地数据中心:
        • 通过 VPN 或专线连接,VPC 可以与本地数据中心无缝连接,实现混合云架构。

      2. 交换机(VSwitch)

      定义

      交换机是 VPC 内的一个子网,用于划分不同的网络区域。每个交换机可以分配一个特定的 IP 地址范围,并且可以配置不同的路由策略。

      作用

      1. 子网划分:
        • 交换机允许你将 VPC 划分为多个子网,每个子网可以分配不同的 IP 地址范围,便于管理和隔离不同的业务模块。
      2. 区域隔离:
        • 通过配置不同的交换机,可以实现不同区域的网络隔离,提高网络的安全性和管理效率。
      3. 灵活的路由策略:
        • 交换机可以配置不同的路由策略,控制子网内的流量走向,实现更复杂的网络拓扑结构。

      3. 网络 RDS 为什么需要 VPC 和交换机

      1. 安全性

      • 网络隔离:
        • RDS 数据库通常包含敏感数据,需要严格的安全措施来保护数据不被未经授权的访问。通过部署在 VPC 和交换机中,RDS 可以与其他网络环境隔离,减少安全风险。
      • 访问控制:
        • VPC 和交换机允许你配置精细的访问控制策略,例如通过安全组和网络 ACL(访问控制列表)来限制对 RDS 的访问,确保只有授权的用户和应用可以访问数据库。

      2. 网络性能

      • 低延迟:
        • 将 RDS 部署在 VPC 和交换机中,可以确保数据库与应用实例(如 ECS)之间的网络通信具有低延迟和高吞吐量,提高应用性能。
      • 带宽保证:
        • VPC 提供了高性能的网络环境,确保 RDS 的网络带宽需求得到满足,避免网络瓶颈。

      3. 灵活的网络配置

      • 多区域部署:
        • 通过 VPC 和交换机,可以灵活地将 RDS 部署在不同的区域和子网中,支持多区域高可用架构。
      • 混合云架构:
        • 如果你的业务需要与本地数据中心进行数据交互,VPC 和交换机可以实现无缝连接,支持混合云架构。

      4. 管理和监控

      • 网络监控:
        • VPC 提供了丰富的网络监控功能,可以实时监控 RDS 的网络流量和性能指标,帮助你及时发现和解决问题。
      • 日志记录:
        • VPC 的网络日志功能可以记录 RDS 的网络访问日志,便于安全审计和故障排查。

      总结

      VPC 和交换机是构建安全、高效和灵活的云网络环境的关键组件。通过将 RDS 部署在 VPC 和交换机中,可以实现以下优势:
      • 增强安全性:通过网络隔离和访问控制,保护数据库免受未经授权的访问。
      • 优化网络性能:确保低延迟和高吞吐量的网络通信,提高应用性能。
      • 灵活的网络配置:支持多区域部署和混合云架构,满足不同的业务需求。
      • 高效的管理和监控:通过网络监控和日志记录,及时发现和解决问题,确保数据库的稳定运行。

       

 
 

完成上述参数配置后,单击去支付

 

核对一下基础资源实例配置购买数据量,然后点击去支付,付完款后系统自动创建实例。

小明:老王,实例已经创建成功了,我怎么连上去看看呢?

老王:要连RDS实例的话,这个时候就需要用于控制访问数据库的安全机制的白名单出场了,你设置好白名单之后才能访问RDS,其他未在白名单中的IP地址将无法访问RDS。

 
 

设置白名单

小明:访问个RDS还要这么麻烦啊,还得设置白名单?

老王:通过设置白名单,你可以限制只有指定的IP地址才能访问数据库,防止未授权的访问。这样可以有效防止黑客和恶意攻击,保护数据库的数据安全。

 

  1. 访问RDS实例列表,然后点击目标实例ID

     

    RDS主库实例ID为rm-开头蓝色字体的字符串。

  1. 在左侧导航栏中,单击白名单与安全组

 

  1. 添加白名单分组

 

多个IP地址用英文逗号隔开,且逗号前后不能有空格。单个实例最多添加1000个IP地址或IP段。如果IP地址较多,建议将零散的IP合并为IP段,例如10.10.10.0/24。

小明:白名单我已添加好了,那我此时可以去体验RDS了?

老王:你还需要创建一个账号,授权后才能登录,授权一般针对某个库授权,因此你还得先创建一个库。

 
 

创建数据库

老王:在创建数据库的页面,你需要设置数据库的名称、字符集、排序规则等信息。

 

 字符集:字符集(Character set)是多个字符的集合,字符集种类较多,每个字符集包含的字符个数不同,常见字符集名称:ASCII字符集、GB2312字符集、BIG5字符集、 GB18030字符集、Unicode字符集等。utf8、utf8mb4是Unicode其中的使用方式。在跨境电商行业里通常选用utf8就够了,若是表情符场景可选用utf8mb4这样会增加一点存储成本。

 
 
  1. 在左侧导航栏中单击数据库管理,然后单击创建数据库

     

    1. 设置库名字符集。

       

      数据库名称是唯一的,要确保起一个有意义且易于识别的名字。字符集和排序规则要根据实际需求来选择,一般来说选择utf8就可以啦。然后单击创建

      小明:好的老王,库已经建好了,你教我创建账号吧!

 
 

创建账号与授权

老王:在RDS上管理用户和授权是非常重要的,它可以确保数据库的安全性和数据的隐私。

 

  1. 在左侧导航栏选择账号管理,然后单击创建账号

     

    1. 设置账号信息

      高权限账号无需选择要授权的数据库,因为高权限账号拥有实例里所有数据库的权限,一个实例只能有一个;普通账号可以有多个,可授读写(DDL+DML)、只读、仅DDL或仅DML中的一个或多个,也可以自定义权限。

      小明:我已经创建账号并授权了,老王赶紧带弟弟连接上RDS体验一下吧!

       

 
 

连接RDS

老王:在RDS基础信息页面点击登录数据库,在弹出的DMS页面中填写数据库账号名和密码,然后单击登录就连上RDS了。

 

  1. 在左侧导航栏选择基本信息,然后单击登录数据库

     

    1. 在弹出的DMS页面中,填写数据库账号名和密码,然后单击登录

       

      填上账号、密码之后点击测试连接,成功之后点击登录,就连上RDS了。

 
 
  1. 登录成功后,在左侧双击目标数据库名称,可以切换数据库。

     

    现在你已通过DMS连上RDS,根据下面SQL去创建一张表,体验一下增删改查吧!

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    -- 创建表结构
    CREATE TABLE `goods` (
      `id` bigint(20) NOT NULL COMMENT '书籍编号',
      `name` varchar(32) NOT NULL COMMENT '书籍名称',
      `price` decimal(10,0) NOT NULL COMMENT '单价',
      `stock` int(10) unsigned NOT NULL COMMENT '库存',
      `author` varchar(128) DEFAULT NULL COMMENT '作者',
      `publishing_house` varchar(32) DEFAULT NULL COMMENT '出版社',
      `publishing_date` date DEFAULT NULL COMMENT '出版日期',
      `type` varchar(16) DEFAULT NULL COMMENT '类型',
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='商品信息';
     
    -- 插入数据
    INSERT INTO
      `goods` (
        `id`,
        `name`,
        `price`,
        `stock`,
        `author`,
        `publishing_house`,
        `publishing_date`,
        `type`
      )
    VALUES
      (
        '1',
        'Python编程从入门到精通',
        '50',
        '4990',
        '张三',
        '图灵出版社',
        '2022-01-15',
        '计算机'
      ),
      (
        '2',
        '数据结构与算法分析',
        '35',
        '700',
        '李四',
        '清华大学出版社',
        '2021-09-30',
        '计算机'
      );
     
    -- 查询
    SELECT * FROM `goods`;
     
    -- 修改数据(修改后执行上面的查询语句检查是否修改成功)
    UPDATE  `goods`
    SET
      `price` = 78
    WHERE
      id = 1
       
    -- 删除数据(删除后执行上面的查询语句检查是否删除成功)
    DELETE FROM `goods`
    WHERE
      `id` = 1
     
    -- 删除表
    DROP TABLE `goods` ;

      

    好的,感谢老王。我已经了解数据库发展史和开源数据库MySQL和RDS for MySQL的区别,掌握了数据库的基本概念和阿里云RDS产品的基础操作,通过DMS连上RDS后,体验了一下SQL的增删改查,但是对于SQL我所知甚少,对于后端开发还远远不够。

    老王:这么短的时间内,你已经入门RDS,这已经非常棒了!下阶段我将带你一起学习SQL基础与进阶,然后用编程语言去连接。

 
 

总结

 

  1. 数据库的发展史
  2. 数据库的基本概念
  3. 开源MySQL与RDS for MySQL的区别
  4. 创建RDS for MySQL 实例并通过DMS操作

 

还需要掌握一些RDS for MySQL的用法,

  1. RDS for MySQL数据库的更改、创建和删除
  2. RDS for MySQL数据库的数据查询、插入、修改和删除
  3. RDS for MySQL数据库的常用函数
  4. RDS for MySQL数据库视图
  5. RDS for MySQL数据库存储过程
  6. RDS for MySQL数据库触发器
  7. RDS for MySQL数据库事件
  8. RDS for MySQL数据库应用编程语言
 
 

Excel文件转存到RDS数据库

https://edu.aliyun.com/lab/courses/d9e3660601ba41a2b22d7c7a9003472c/detail

 

如果您已经完成课程学习和实验练习,可以进入以下页面激活认证流程。

https://edu.aliyun.com/certification/cldb01

 

激活认证流程后,进入个人中心完成考试:

https://edu.aliyun.com/clouder/my/clouderpackage

 
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
posted @   aiplus  阅读(14)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
历史上的今天:
2014-02-17 HexConversion 二进制 八进制 十六进制 十进制
悬浮按钮示例
点击右上角即可分享
微信分享提示