全部产品
云市场

分布式数据库解决方案

更新时间:2018-05-03 15:46:09

行业背景

由于移动互联网和智能终端的普及及发展,数据信息正以每年40%的速度增长,在如此庞大的数据量基础之上,企业在存储数据时还需面对数据种类的多样性、实时交互性。在此背景之下,传统的IOE集中式数据库的应用就出现了扩展瓶颈。

传统IOE数据库架构示意图如下。

fig_01

使用传统IOE数据库将面临以下技术难点:

  • 数据库连接瓶颈:当应用服务器不断扩容时,应用服务器与数据库之间的连接数逐步增高,而此连接数随着应用服务器的不断扩容将到达一个瓶颈。
  • 数据库IO性能瓶颈:当数据库存储需求增加时,需对数据库存储不断扩容,此时数据存储成本增加,且存储规格到达顶配之后无法扩容,会遭遇数据库存储瓶颈。
  • 数据变更风险增加:传统IOE数据库架构中,所有应用服务器的数据库集中在一起,数据库如果执行数据变更时,会有较高风险影响到全局数据。

此时,使用分布式数据库可以解决上述技术难点。分布式数据库架构如下图所示:

fig_02

使用分布式数据有以下优势:

  • 大规模MySQL数据库支持高可用切换,且切换后应用服务器不需要修改配置,自动重连数据库。
  • 应用服务器和数据库可水平扩容,且成本低、性能高。
  • 数据库变更和维护风险分散。

然而,如下图分布式数据库的实现原理示意图所示,在应用分布式数据时仍存在以下挑战:

fig_03

  • 开发挑战:
    • 主键和唯一键不一定能保证全局唯一。
    • 分布式数据库架构下挑战。
    • SQL没有拆分键作为条件时会导致扫描所有分表。
    • 跨库Join性能不好。
    • 跨库事务(分布式事务)不不支持或者性能不不好。
  • 运维挑战:
    • 大规模MySQL实例运维效率不高
    • 大规模MySQL高可用切换比较难做
    • 异地多活或容灾搭建成本高
    • 分表变更和查询不方便

因此,更高效完善的应用分布式数据库,我们需要一个围绕分布式数据库的综合解决方案——阿里云分布式数据库解决方案。

解决方案优势

阿里云分布式数据库解决方案围绕分布式数据库,从开发、运维、数据库迁移及扩展方面提供了统一的综合解决方案,为分部署数据库应用降低门槛提高效率。

阿里云分布式数据库解决方案架构图如下:

fig_04

  • 架构说明
    • 用户在阿里云上购置DTS、DMS、DRDS、RDS、CloudDBA。
    • 通过DTS可将用户本地IDC部署的Oracle、DB2、MySQL等数据库的数据传输至云上分布式数据库DRDS中。
    • 通过DMS可对数据进行高效、自动的管理。
    • 通过CloudDBA可智能监控诊断云上数据库。
  • 方案优势
    • 降低开发门槛:对开发人员屏蔽了分布式下开发技术细节,降低了开发人员对分布式数据库的不适应,降低开发门槛。
    • 提高运维效率:对运维人员屏蔽了分布式下数据库运维细节,降低了运维对分布式数据库的不适应,提高运维效率。
    • 支持数据库迁移:支持用户本地IDC的Oracle/MySQL等数据库迁移到云上分布式数据库DRDS。
    • 支持数据库扩展:云上数据库DRDS和RDS支持弹性扩展、按需使用付费。

核心产品

  • DRDS:Distributed Relational Database Service,是阿里巴巴致力于解决单机数据库服务瓶颈问题而自主研发推出的分布式数据库产品。DRDS 高度兼容 MySQL 协议和语法,支持自动化水平拆分、在线平滑扩缩容、弹性扩展、透明读写分离,具备数据库全生命周期运维管控能力。详细的DRDS介绍请参考DRDS概述章节。
  • RDS:Relational Database Service,是一种稳定可靠、可弹性伸缩的在线数据库服务。基于阿里云分布式文件系统和SSD盘高性能存储,并且提供了公共云数据库的容灾、备份、恢复、监控、迁移等方面的全套解决方案。详细的RDS介绍请参考什么是RDS章节。
  • HDM:Hybrid Cloud Database Management,是混合云数据库管理平台,帮助企业打通混合云数据库架构,提供多环境统一管理、快速弹性、容灾切换的能力。对于混合云灾备场景下,使用阿里云HDM可便捷、快速的将本地IDC的数据同步至云上,并进行容灾切换演练,故障发生时可通过HDM进行容灾切换,保障数据库的可用性。详细的HDM介绍请参考混合云数据管理章节。
  • DTS:Data Transmission Service,是阿里云提供的一种支持多种数据源之间数据交互的数据流服务。它提供了数据迁移、实时数据订阅及数据实时同步等多种数据传输能力。在数据库灾备解决方案中,使用阿里云DTS可实现各数据库间的数据迁移与实时同步,从而为数据库灾备打好最重要的基础。DTS的数据迁移、数据同步详细架构设计及原理请参见产品架构章节。
  • DMS:Data Management,支持MySQL、SQL Server、PostgreSQL、MongoDB、Redis等关系型数据库和NoSQL的数据库管理,同时还支持Linux服务器管理。它是一种集数据管理、结构管理、访问安全、BI图表、数据趋势、数据轨迹、性能与优化和服务器管理于一体的数据管理服务。详细的DMS介绍请参考数据管理章节。
  • CloudDBA:CloudDBA是监控和管理RDS实例性能及运行状况的服务,在RDS控制台的实例管理页面,目前只适用于MySQL类型的实例。针对SQL语句的性能、CPU使用率、IOPS使用率、内存使用率、磁盘空间使用率、连接数、锁信息、热点表等,CloudDBA提供了智能的诊断及优化功能,能最大限度发现数据库存在的或潜在的健康问题。CloudDBA的诊断基于单个实例,该诊断会提供问题详情及相应的解决方案,可为您管理实例运行状况带来极大的便利。详细的CloudDBA的介绍请参考CloudDBA简介章节。

典型应用场景

目前DRDS适合面向用户的OLTP交易易型业务,不适合OLAP分析型业务。应用的主要业务表是根据用户维度拆分,随着用户访问压力的增加,DRDS可以弹性扩展,提供更高的性能。