技术开发 频道

阿里云RDS:天猫商家双十一数据库保障

  导读:云“和”大数据“当之无愧的成为当今IT圈最热的两个关键词,无论从哪个角度来看,云和大数据都有着千丝万缕的联系,两者相互促进,共同发展。随着云计算的发展,数据量呈现爆炸式增长,大量数据除了在本地存储,也在云上开辟了新的空间。不论是结构化数据还是非结构化数据,云数据库都提供了相应的产品,帮助用户管理和消费数据,并将他们从繁琐的硬件配置和管理中解脱出来。面对市面上纷繁复杂的云数据库产品,企业应该如何选择适合自己的解决方案?在接下来的系列文章将向大家介绍几款主流的云数据库产品。

  【IT168 专稿】你应该还记得去年的11月11日,阿里巴巴在光棍节当天完成了191亿元的交易额,天猫商城占据其中的132亿元。据了解,天猫有50%的订单正在阿里云的云数据库服务中处理,在“双11”大促期间,阿里云数据库确保天猫商家的后台系统稳定、顺畅。

  继腾讯云数据库盛大云数据库后,笔者有幸采访到阿里云飞天部门关系型数据库服务(RDS)产品负责人周光辉,他详细介绍了阿里云数据库的特点和优势。数据库是IT系统重要的一环,数据更是重中之重。周光辉表示,云数据库和传统数据库的应用场景是类似的,适用于各行各业的关系型数据库应用。

  然而,在缺少专业DBA的企业中,数据库管理是一个挑战。很多用户经常会出现数据库异常宕机、数据丢失、数据库运行性能缓慢等现象。周光辉表示阿里云RDS不仅仅是一款IaaS产品,而更多的是一种专业DBA服务,能够帮助用户解决数据库方面的各种问题。

阿里云周光辉:双十一的数据库平台保障
▲阿里云飞天部门关系型数据库服务(RDS)产品负责人周光辉

  一、阿里云数据库产品概览

  阿里云主要分为三大产品线:弹性计算,存储和数据库服务,大规模计算。其中弹性计算产品线包括云服务器(ECS)、负载均衡(SLB)、云监控和云盾;大规模计算产品线即开放数据处理服务(ODPS),它提供云端数据仓库服务,适用于金融、零售、制造业和电商企业的BI团队进行海量数据分析和挖掘。

阿里云周光辉:双十一的数据库平台保障
▲阿里云产品体系

  本文将重点介绍存储和数据库服务。据周光辉介绍,该产品线包括关系型数据库服务(RDS)、开放存储服务(OSS)和开放结构化数据服务(OTS)。 RDS提供安全稳定云数据库服务,它是一个基于高稳定、大规模平台的商用关系型数据库服务,帮助个人与企业用户解决费时、费力的数据库管理,节约硬件成本和维护成本;OSS是一个文件存储服务,它为广大站长、开发者,及大容量存储需求的企业或个人,提供海量、安全、低成本,高可靠性的云存储服务;OTS是结构化的数据存储服务,它提供云端海量结构化数据存储与实时查询服务,适用于高并发、大流量的实时在线数据处理业务。

  1. 关系型数据库服务(RDS)

  阿里云的关系型数据库服务(Relational Database Service,简称RDS),是通过云服务的方式让关系型数据库设置、操作和扩展变得更加简单。帮助企业解决费时、费力的数据库管理,使企业有更多的时间聚焦到应用和业务层面上来,节约用户的硬件成本和维护成本。目前阿里云支持MySQL、MS SQL Server两种关系型数据库,与现有商用MySQL和MS SQL Server完全兼容。2013年还将在RDS for MySQL的基础上推出分布式MySQL中间件,帮助用户水平拆分和动态扩容。

  相比自建数据库,云数据库产品有以下特点:

 

云数据库

自建数据库

服务可用性

99.95%

需自行保障, 自行搭建主从复制,自建RAID

系统安全性

DDoS攻击,流量清洗;及时修复各种数据库安全漏洞

自行部署,价格高昂;自行修复数据库安全漏洞

数据库备份

自动备份

自行实现,但需要寻找备份存放空间以及定期验证备份是否可恢复

软硬件投入

无托管费用,无软硬件投入,按需付费

数据库服务器成本相对较高,每台服务器每年托管费超过5000元;对于SQL Server需支付许可证费用

维护成本

无需运维

需招聘专职DBA来维护,花费大量人力成本

部署扩容

即时开通,快速部署,弹性扩容,按需开通

需硬件采购、机房托管、部署机器等工作,周期较长

资源利用率

按实际结算,100%利用率

考虑峰值,资源利用率很低

  2. 分布式MySQL服务

  随着信息化的不断深入,应用系统产生的数据量也越来越庞大,传统关系型数据库处理和计算数据的能力受到了极大的挑战,同时传统关系型数据库在系统扩容、设备升级等方面的成本也越来越大,而且当数据量达到一定的量级后已经不能简单的通过硬件设备升级来解决问题了。但是关系型数据库又是处理结构化和关系型数据最好的方式、也是使用最广泛、成本较低的数据库技术。所以当前急需要出现这样一个系统,它可以像使用传统关系型数据库一样来使用它用于数据处理和计算及存储,但是在处理海量数据时又具有良好的扩展性和性能,系统的升级、扩容成本非常低廉,并且能确保在扩容、升级期间对生产系统几乎没有影响。

  分布式MySQL服务就是一个为实现上述目的而努力的系统。它以MySQL协议的方式与外部系统交互,并兼容MySQL的大部分功能,使系统从外部来看就是一个MySQL数据库服务系统,但是它具有良好的线性扩展性和海量数据处理能力,并且升级和扩容的成本较低。传统的使用IOE(IBM小型机,Oracle数据库,EMC存储)的应用也可以使用分布式MySQL来实现它的业务,从而可以大大节约硬件成本。

阿里云周光辉:双十一的数据库平台保障
▲分布式MySQL的系统架构图

  分布式MySQL建立在RDS平台之上,系统具有如下一些技术特性:

  (1)高性能,系统整体采用基于事件驱动的工作模式。

  1)高效的网络通讯组件,自主研发的基于NIO模型的网络通讯层有着高效、稳定、高并发处理的特性。

  2)高性能解析器,完全手写的兼容MySQL 5.5语法的解析器,是一般antlr或者javacc生成解析器性能的10倍。

  (2)易用性,系统对外屏蔽复杂的分库分表逻辑,让普通用户可以方便、快捷的使用和定义这些特性。

  (3)可线性扩展性,系统有良好的线性扩展性,如果发现系统处理能力达到瓶颈,可以通过购买单一数据节点,并加入现有服务集群中就可以达到预期的扩容效果。

  (4)高可用性,系统有完善的异常检测机制和有效的failover机制,一旦系统中某个节点出现问题,会快速切换服务并降低对应用最小的影响。系统本身的可用性也可达到99.99%。

0
相关文章