阿里云(aliyun)创立于2009年,是全球领先的云计算及人工智能科技公司,为200多个国家和地区的企业、开发者和政府机构提供服务。截至2017年3月,阿里云付费云计算用户达87.4万。阿里云致力于以在线公共服务的方式,提供安全、可靠的计算和数据处理能力,让计算和人工智能成为普惠科技。
但是对于很多刚刚接触阿里云的用户来说,经常会被这庞大的产品系统、众多的服务弄得眼花缭乱,感觉无法下手,不知道该怎么选择适合自己的产品服务。针对这个问题,我用一系列说明文章,分门别类的对阿里云的各种产品服务进行介绍,帮助您可以快速、安全、高效的使用阿里的各项云服务。
第四篇 云数据库rds
||概述
阿里云关系型数据库(relational database service,简称 rds)是一种稳定可靠、可弹性伸缩的在线数据库服务。基于阿里云分布式文件系统和高性能存储,rds 支持 mysql、sql server、postgresql 和 ppas(postgre plus advanced server,一种高度兼容 oracle 的数据库)引擎,并且提供了容灾、备份、恢复、监控、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。
标准版本如下:
阿里云数据库 mysql 版
mysql 是全球最受欢迎的开源数据库,作为开源软件组合 lamp(linux + apache + mysql + perl/php/python)中的重要一环,广泛应用于各类应用。
web2.0 时代,风靡全网的社区论坛软件系统 discuz 和博客平台 wordpress 均基于 mysql 实现底层架构。web3.0 时代,阿里巴巴、facebook、google 等大型互联网公司都采用更为灵活的 mysql 构建了成熟的大规模数据库集群。
阿里云数据库 mysql 版基于 alibaba 的 mysql 源码分支,经过双 11 高并发、大数据量的考验,拥有优良的性能和吞吐量。除此之外,阿里云数据库 mysql 版还拥有经过优化的读写分离、数据压缩、智能调优等高级功能。
当前 rds for mysql 支持 5.5、5.6 和 5.7 版本。
阿里云数据库 sql server 版
sql server 是发行最早的商用数据库产品之一,作为 windows 平台(iis + .net + sql server)中的重要一环,支撑着大量的企业应用。sql server 自带的 management studio 管理软件内置了大量图形工具和丰富的脚本编辑器。您通过可视化界面即可快速上手各种数据库操作。
阿里云数据库 sql server 版不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的 license 费用,您无需再额外支出 license 费用。
当前 rds for sql server 支持 2008 r2 和 2012 版本。
阿里云数据库 postgresql 版
postgresql 是全球最先进的开源数据库。作为学院派关系型数据库管理系统的鼻祖,它的优点主要集中在对 sql 规范的完整实现以及丰富多样的数据类型支持,包括json 数据、ip 数据和几何数据等,而这些数据类型大部分商业数据库都不支持。
除了完美支持事务、子查询、多版本控制(mvcc)、数据完整性检查等特性外,阿里云数据库 postgresql 版还集成了高可用和备份恢复等重要功能,减轻您的运维压力。
当前 rds for postgresql 支持 9.4 版本。
阿里云数据库 ppas 版
ppas(postgres plus advanced server)是一个稳定、安全且可扩展的企业级关系型数据库,基于全球最先进的开源数据库 postgresql,并在性能、应用方案和兼容性等方面进行了增强,提供直接运行 oracle 应用的能力。您可以在 ppas 上稳定地运行各种企业应用,同时得到更高性价比的服务。
阿里云数据库 ppas 版集成了账号管理、资源监控、备份恢复和安全控制等功能,并将持续地更新完善。
当前 rds for ppas 支持 9.3 版本。
||产品优势
便宜易用
即开即用
您可以通过阿里云官网或者 api 进行 rds 规格定制,下发订单后 rds 实时生成目标实例。rds 配合 ecs 一起使用,在降低应用响应时间的同时还可以节省公网流量费用。
按需升级
在业务初期,您可以购买小规格的 rds 实例来应对业务压力。随着数据库压力和数据存储量的变化,您可以灵活调整实例规格,且升级期间 rds 不会中断数据链路服务。
透明兼容
rds 与原生数据库引擎的使用方法一致,您无需二次学习,上手即用。另外 rds 兼容用户现有的程序和工具。使用通用的数据导入导出工具即可将数据迁移到 rds,迁移过程中的人力开销非常低。
管理便捷
阿里云负责 rds 的日常维护和管理,包括但不限于软硬件故障处理、数据库补丁更新等工作,保障 rds 运转正常。您也可自行通过阿里云控制台完成数据库的增加、删除、重启、备份、恢复等管理操作。
高性能
参数优化
阿里云聚集国内顶尖的数据库专家,所有 rds 实例的参数都是经过多年的生产实践优化而得。在 rds 实例的生命周期内,dba 持续对其进行优化,确保 rds 一直基于最佳实践在运行。
sql 优化建议
针对用户的应用场景特点,rds 会锁定效率低下的 sql 语句并提出优化建议,以便用户优化业务代码。
高端硬件投入
rds 使用的所有服务器硬件都经过多方评测,保证在性能和稳定性上都遥遥领先。
高安全性
防 ddos 攻击
当用户使用外网连接和访问 rds 实例时,可能会遭受 ddos 攻击。当 rds 安全体系认为用户实例正在遭受 ddos 攻击时,会首先启动流量清洗的功能,如果流量清洗无法抵御攻击或者攻击达到黑洞阈值时,将会进行黑洞处理。
流量清洗和黑洞处理的方法及触发条件如下:
流量清洗:只针对外网流入流量进行清洗,处于流量清洗状态的 rds 实例可正常访问。
流量清洗的触发和结束由系统自动完成,单个 rds 实例满足以下任一条件即触发流量清洗:
pps(package per second)达到 3 万;
bps(bits per second)达到 180mb;
每秒新建并发连接达到 1 万;
激活并发连接数达到 1 万;
非激活并发连接数达到 10 万。
黑洞处理:只针对外网流入流量进行黑洞处理,处于黑洞状态的 rds 实例不可被外网访问,此时应用程序通常也处于不可用状态。黑洞处理是保证 rds 整体服务可用性的一种手段。
黑洞触发条件如下:
黑洞结束条件如下:
黑洞在 2.5 小时后自动解除。
bps(bits per second)达到 2gb;
流量清洗无效。
说明: 建议用户通过内网访问 rds 实例,可以使 rds 实例免受 ddos 攻击的风险。
访问控制策略
用户可定义允许访问 rds 的 ip 地址,指定之外的 ip 地址将被拒绝访问。
每个账号只能看到、操作自己的数据库。
系统安全
rds 处于多层防火墙的保护之下,可以有力地抗击各种恶意攻击,保证数据的安全。
rds 服务器不允许直接登录,只开放特定的数据库服务所需要的端口。
rds 服务器不允许主动向外发起连接,只能接受被动访问。
专业安全团队
阿里巴巴集团安全部门负责 rds 的安全技术支持。
高可靠性
双机热备
rds 采用热备架构,物理服务器出现故障后服务秒级完成切换。整个切换过程对应用透明。
多副本冗余
rds 服务器中的数据构建于 raid 之上,数据备份存储在 oss 上。
数据备份
rds 提供自动备份的机制。用户可以自行选择备份周期,也可以根据自身业务特点随时发起临时备份。
数据恢复
支持按备份集和指定时间点的恢复。在大多数场景下,用户可以将 7 天内任意一个时间点的数据恢复到 rds 临时实例或克隆实例上,数据验证无误后即可将数据迁回 rds 主实例,从而完成数据回溯。
rds与自建数据库对比优势
典型应用
异地容灾
阿里云数据库支持创建异地容灾实例,用户可以通过创建异地容灾实例来抵御多可用区级别的故障。 另外,用户通过 dts 数据传输服务,可以将自建机房的数据库实时同步到阿里云数据库上任一地域的 rds 实例里面。即使发生机房损毁的灾难,数据永远在阿里云数据库上有一个备份。
数据多样化存储
rds支持搭配云数据库memcache、云数据库redis和对象存储oss等存储产品使用,实现多样化存储扩展。
1、缓存数据持久化
rds可以搭配云数据库memcache和云数据库redis使用,组成高吞吐、低延迟的存储解决方案。
与rds相比,云数据库缓存产品有两个特性:
响应速度快,云数据库memcache和云数据库redis请求的时延通常在几毫秒以内。
缓存区能够支持比rds更高的qps(每秒处理请求数)。
2、多结构存储
oss是阿里云对外提供的海量、安全、低成本、高可靠的云存储服务。rds可以和oss搭配使用,组成多类型数据存储解决方案。
例如,当业务应用为论坛时,rds搭配oss使用,注册用户的图像、帖子内容的图像等资源可以存储在oss中,以减少rds的存储压力。
开放搜索
开放搜索服务(opensearch)是一款结构化数据搜索托管服务,为移动应用开发者和网站站长提供简单、高效、稳定、低成本和可扩展的搜索解决方案。 通过 opensearch 自带功能,可将 rds 中的数据自动同步至 opensearch 实现各类复杂搜索,如下图所示。
读写分离
阿里云数据库 mysql 版支持直接挂载只读实例,分担主实例读取的压力。mysql 版数据库的主实例和只读实例都具有独立的连接地址,当用户开启读写分离功能后,系统就会额外提供一个读写分离地址,联动主实例及其下的所有只读实例,实现了自动的读写分离。应用程序只需连接同一个读写分离地址进行数据读取及写入操作,读写分离模块会自动将写入请求发往主实例,而将读取请求按照用户设置的权重发往各个只读实例。用户只需通过添加只读实例的个数,即可不断扩展系统的处理能力,应用程序上无需做任何修改。如下图所示:
大数据分析
开放数据处理服务又称大数据计算服务(maxcompute,原名odps),可服务于批量结构化数据的存储和计算,提供海量数据仓库的解决方案以及针对大数据的分析建模服务。
通过数据集成服务,可将rds数据导入maxcompute,实现大规模的数据计算,如下图所示。
||结束
不管是出于性能、性价比还是安全等等诸如此类的考虑,阿里云数据库是企业数据应用的第一选择。