阿里云产品介绍(三):云数据库RDS
写完云服务器ECS,本来想先写负载均衡的。
因为发现很多客户,都是直接将单台云服务器应用对外提供访问,如果云服务器宕机,应用就会停止服务。云服务器标称有99.95%的可用率,一年下来宕机四个多小时也是正常的。要想提升应用的可用率,就需要多台云服务器(至少两台,最好分布式两个不同的可用区),然后利用负载均衡将流量按一定规则导向后端的云服务器应用集群。
但这一篇还是决定先写写云数据库RDS,云数据库RDS有好几个曾用名。最早的名字就是RDS(阿里云的产品,大部分在命名的时候故意和亚马逊有一点微小的差异,比如ECS和EC2。只有RDS这个名字是完全一样,Rational Database Service,关系型数据库服务)。
RDS不只是一种数据库,目前阿里云的RDS已经支持包括MySQL、PostgreSQL、PPAS、SQL Server等四种不同的关系型数据库。
然后呢,RDS越做越好,团队也也来越大,后面包括Redis、MongoDB、Greenplum等越来越多的数据存储类产品都被纳入到旗下,所以起了一个更大的品牌叫做AliCloudDB,中文名就叫云数据库,RDS则变成了旗下的一个产品线,中文名就变成了云数据库RDS。后来么,AliCloudDB又换成了ApsaraDB,Apsara就是传说中的飞天啦。
先不说其他的NoSQL数据库产品,这一篇集中精力来看看云数据库RDS。
企业使用阿里云,一般来说,购买云服务器ECS基本上是必须的。但需要数据库的时候,就会面临两种选择:一种当然是直接使用云数据库RDS,另外一种则是在云服务器ECS上自己安装部署数据库。这两种选择有什么不一样呢?
首先,使用RDS当然是最省事的。RDS背后聚集了阿里最好的DBA团队负责运维,最好的数据库内核开发团队负责改进数据库(主要指MySQL和PostgreSQL开源数据库,SQL Server本身只能指望微软了),将很多需要DBA日常运维的工作逐渐纳入实现产品化。
使用的客户就可以从很多底层的任务中解放出来,比如创建新的MySQL备库,只需要在RDS控制台点一下“创建只读实例”、“创建灾备实例”或者“创建临时实例”即可。为什么有三种不同实例?分别对应了三种不同的场景:同城读写分离、异地机房容灾、按时间点恢复取数。
RDS的整体架构,说起来也不复杂。主要有两种模式:
标准模式
标准模式非常简单,只是通过负载均衡SLB将RDS背后的主备库对应用做了屏蔽,发生切换时,只需要修改负载均衡的配置,将后面服务的物理IP更换成新主库的地址即可。标准模式有一个限制,同一时间,RDS只能支持外网访问地址或者内网访问地址中的一种。因为只是加了负载均衡,也不具备SQL拦截的能力。对于用户来说,这种模式的RDS只是提供了一个Web控制台+主备切换。
高安全模式
高安全模式在负载均衡和主备库之间加了一层透明的代理层(Proxy),对数据库的所有访问都会在Proxy进行解析处理,因此在标准模式的基础上,还可以做到防止SQL注入。同时,因为多了一层代理,响应时间也会相应的受到影响,官方的说法是20%左右。该模式支持内外网访问地址同时存在。
和云服务器一样,云数据库RDS的购买也支持包年包月和按量付费两种模式,然后选择对应的地域和可用区,如何选择地域和可用区可以参考之前介绍云服务器ECS的文章。
前面也说到,RDS支持四种不同的关系型数据库,卖的最火的毫无疑问是MySQL,也有不少企业客户因为使用的是Windows平台和.net技术会选择带正版License的SQL Server,其次是最近逐渐升温的老牌开源数据库PostgreSQL,企业客户可以根据自身的业务场景需求来选择。
至于号称和Oracle高度兼容的PPAS,个人观点,尽量还是避免使用吧,如果应用真的对Oracle有重度依赖,目前阿里云已经推出独享型ECS,在独享型ECS中自建Oracle可能是更好的选择。
RDS的规格从1核1G(连接数300,IOPS600)开始,最高的30核220G(连接数64000,IOPS20000)规格也支持独占物理机,对于大部分数据库场景来说,应该都能够很好的支持。
如果需要更高的IOPS支持,要么采用DRDS来做分库分表做水平拆分,要么采用高规格的独享型ECS+4块SSD数据盘(每块盘最高支持IOPS20000)做到单实例80000 IOPS的支持。
RDS是个好东西,在绝大部分场景下,直接使用云数据库,对于企业客户来说都是更优的选择。袋鼠云也选择RDS for MySQL做为自身产品SaaS版本的数据库。
但像上面说的,也有一些场景需要考虑在云服务器上自建数据库,比如说云上Oracle,比如说需要单实例更高IOPS支持,比如说有些客户具备较强的DBA能力,希望能够更多的控制数据库而不是面对一个封装的黑盒子产品,等等。
针对自建数据库的场景,袋鼠云的 EasyDB数据库管理平台(https://easydb.dtstack.com) 可以帮助企业客户更好的管理数据库,不管是云上还是云下的Oracle/MySQL,对于性能监控、高可用、备份恢复等DBA日常运维管理场景都提供了很好的支持。
尤其是云上Oracle场景,袋鼠云做为业界领先的数据库专家团队,和阿里云紧密合作,为阿里云的客户提供独家的云上Oracle解决方案,欢迎有兴趣的客户点击“阅读原文”.
另外,做为RDS的重头产品MySQL,背后使用的并非官方版本,而是积累了阿里多年电商使用场景的经验修改过内核的版本,在8.9的北京云栖大会上已经宣布即将开源,并在9.15中秋节正式开启5.6.32版本内测(https://github.com/alibaba/AliSQL),相信很快就会完全开放。
基于AliSQL在自有服务器或者云服务器ECS上自建数据库也会成为一种选择,EasyDB也将全面支持AliSQL。
阿里云产品介绍(三):云数据库RDS的更多相关文章
- 确保数据零丢失!阿里云数据库RDS for MySQL 三节点企业版正式商用
2019年10月23号,阿里云数据库RDS for MySQL 三节点企业版正式商用,RDS for MySQL三节点企业版基于Paxos协议实现数据库复制,每个事务日志确保至少同步两个节点,实现任意 ...
- 从运维的角度分析使用阿里云数据库RDS的必要性--你不应该在阿里云上使用自建的MySQL/SQL Server/Oracle/PostgreSQL数据库
开宗明义,你不应该在阿里云上使用自建的MySQL or SQL Server数据库,对了,还有Oracle or PostgreSQL数据库. 云数据库 RDS(Relational Database ...
- 阿里云数据库RDS环境搭建
前言 现在云数据库越来越流行,国外的亚马逊AWS微软Azure,国内的BAT和京东都推出了自己的云数据库服务,各自优劣不表,个人推荐国外的用AWS,国内的用阿里云,这是我这几天刚申请的阿里云的过程的一 ...
- Sql Server数据库备份脚本以及如何在阿里云云数据库RDS还原数据库(代码源自阿里云)
今天研究阿里云服务数据库的迁移,备份和还原的时候,在阿里云web后台发现了一个很好用的sql脚本,就默默地偷了过来,它可以支持全量备份,差异备份和日志备份,代码解释也都很清楚,我也尝试着跑了一下,性能 ...
- 阿里云数据库RDS迁移,DTS 迁移过程中,是否会锁表,对源数据库是否有影响?
阿里云数据库RDS迁移,DTS 迁移过程中,是否会锁表,对源数据库是否有影响? DTS 在进行全量数据迁移和增量数据迁移的过程中,均不会对源端数据库进行锁表,因此在全量数据迁移和增量数据迁移的过程中, ...
- Gartner:阿里云位列全球云数据库市场份额前三,数据库未来需上云
近日,国际权威研究机构Gartner发布 <The Future of the Database Management System (DBMS) Market Is Cloud>报告,鲜 ...
- 云数据库 RDS 版怎么创建数据库和账号MySQL 5.7版
若要使用云数据库RDS,您需要在实例中创建数据库和账号.对于MySQL 5.7版本的实例,您需要通过RDS控制台创建一个初始账号,然后可以通过数据管理(DMS)控制台创建和管理数据库.本文将主要介绍在 ...
- 云数据库RDS存储能力进化解析!
数据库是企业IT系统的核心,其性能表现会直接影响整体业务系统的性能表现,而影响数据库性能因素包括系统架构设计.应用程序业务SQL语句.数据库参数优化配置.数据库运行的资源能力.系统架构设计和应用程序业 ...
- 阿里云重磅发布DMS数据库实验室 免费体验数据库引擎
2月27日,阿里云数据管理DMS发布年度巨献——数据库实验室,用户可在该实验室环境下免费体验数据库引擎.以及DMS各项产品功能.数据库实验室是DMS所提供的体验空间,免费赠送数据库引擎资源. 用户只需 ...
随机推荐
- javascript 高级程序设计 十二
1.组合使用原型模式和构造函数模式: 由于原型模式创建对象也有它的局限性------有智慧的人就把原型模式和构造函数模式进行了组合. function Person(name, age, job){/ ...
- C++矩阵运算库armadillo配置笔记
前言 最近在用C++实现神经网络模型,优化算法需要用到矩阵操作,一开始我用的是boost的ublas库,但用着用着感觉很不习惯,接口不够友好.于是上网搜索矩阵运算哪家强,大神们都推荐armadillo ...
- DELPHI优秀的一些开源框架:QDAC,MORMOT,DIOCP
DELPHI优秀的一些开源框架:QDAC,MORMOT,DIOCP 程序员搞任何语言的程序开发上升到一定的层次,要想进步,必须要接触和学习使用优秀的开源框架. MORMOT封装了WINDOWS最新的H ...
- u-boot 编译时间
给定的格式FORMAT 控制着输出,解释序列如下: %% 一个文字的 % %a 当前locale 的星期名缩写(例如: 日,代表星期日) %A 当前locale 的星期名全称 ( ...
- 互联网云生态下DDOS安全产品的一些考虑和测试方法(一)
DDOS攻击简介 安全的三要素——“保密性”.“完整性”和“可用性”中,DOS(Denial of Service拒绝服务攻击)所针对的目标是服务的“可用性”.这种攻击方式利用目标系统的网络服务功能缺 ...
- 第六次课:springMVC与spring的集成
spring在项目中起到了管理bean的作用,即可以通过配置,让系统自动创建所需的对象,通过一定的方式引用系统创建的对象,对象的创建和引用都是由spring自动完成的,用户不必参与,可以直接引用. 实 ...
- select 练习4
21.查询score中选学多门课程的同学中分数不是所有成绩中最高分成绩的记录. select * from score where cno in(select cno from score grou ...
- 各种有用的PHP开源库精心收集
转自:http://my.oschina.net/caroltc/blog/324024 摘要 各种有用的PHP开源库精心收集,包含图片处理,pdf生成,网络协议,网络请求,全文索引,高性能搜索,爬虫 ...
- Dynamic CRM 2013学习笔记(三十五)自定义审批流6 - 审批通过后,再审批 - 二次审批
最近有个特殊的需求,客户想做二次审批,就是审批通过后,再走一次审批流程.最开始一想,这还不简单,审批通过后,直接把状态改成draft就完了,后来一试,发现一堆问题,比如第一次审批完后,界面是不允许修改 ...
- [C++] socket - 3 [线程简单例子 代码]
#include<windows.h> #include<stdio.h> DWORD WINAPI myfun1(LPVOID lpParameter);//声明线程函数 D ...