第6章 云数据库

6.1 云数据库概述

6.1.1 云数据库概念

云数据库是部署和虚拟化在云计算环境中的数据库。云数据库是在云计算的大背景 下发展起来的一种新兴的共享基础架构的方法,它极大地增强了数据库的存储能力 ,消除了人员、硬件、软件的重复配置,让软、硬件升级变得更加容易。云数据库 具有高可扩展性、高可用性、采用多租形式和支持资源有效分发等特点。

6.1.2 云数据库特性

1.动态可扩展

2.高可用性

3.较低的使用代价

4.易用性

5.高性能

6.免维护

7.安全


6.2 云数据库系统架构

以UMP为例。

6.2.1 UMP系统概述

UMP(Unified MySQL Platform)是由阿里集团核心系统数据库团队设计与实现的,提供低成本和高性能的MySQL云数据服务。

总的来说,UMP系统架构设计遵循了以下原则。

•保持单一的系统对外入口,并且为系统内部维护单一的资源池

•消除单点故障,保证服务的高可用性

•保证系统具有良好的可伸缩,能够动态地增加、删减计算与存储节点

•保证分配给用户的资源也是弹性可伸缩的,资源之间相互隔离,确保 应用和数据安全


6.2.2 UMP系统架构

第6章 云数据库

UMP系统中的角色包括:

•Controller服务器 :为UMP集群提供各种管理服务(成员管理、元数据存储、MySQL实例管理、故障恢复、备份、迁移、扩容等)

•Proxy服务器 :完全实现了MySQL服务,向用户提供访问MySQL数据库的服务

•Agent服务器 :它部署在运行MySQL进程的机器上,用来管理每台物理机上的MySQL实例

•Web控制台 :向用户提供系统管理界面

•日志分析服务器:存储和分析Proxy服务器传入的用户访问日志,支持实时查询一段时间内的慢日志和统计报表

•信息统计服务器 :定期将采集到的用户连接数、QPS(每秒查询次数)数值及MySQL实例的进程状态等信息进行统计展示在Web界面上,或将结果作为以后资源分配等的依据。

•愚公系统:用于做数据迁移,可在不停机的情况下动态扩容、缩容和迁移。

依赖的开源组件包括:

•Mnesia :分布式数据库管理系统

•LVS:Linux虚拟服务器

•RabbitMQ :工业级的消息队列产品

•ZooKeeper :协同工作系统


6.2.3 UMP系统功能

•容灾

•读写分离

•分库分表

•资源管理

•资源调度

•资源隔离

•数据安全