第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系统架构
UMP系统中的角色包括:
•Controller服务器 :为UMP集群提供各种管理服务(成员管理、元数据存储、MySQL实例管理、故障恢复、备份、迁移、扩容等)
•Proxy服务器 :完全实现了MySQL服务,向用户提供访问MySQL数据库的服务
•Agent服务器 :它部署在运行MySQL进程的机器上,用来管理每台物理机上的MySQL实例
•Web控制台 :向用户提供系统管理界面
•日志分析服务器:存储和分析Proxy服务器传入的用户访问日志,支持实时查询一段时间内的慢日志和统计报表
•信息统计服务器 :定期将采集到的用户连接数、QPS(每秒查询次数)数值及MySQL实例的进程状态等信息进行统计展示在Web界面上,或将结果作为以后资源分配等的依据。
•愚公系统:用于做数据迁移,可在不停机的情况下动态扩容、缩容和迁移。
依赖的开源组件包括:
•Mnesia :分布式数据库管理系统
•LVS:Linux虚拟服务器
•RabbitMQ :工业级的消息队列产品
•ZooKeeper :协同工作系统
6.2.3 UMP系统功能
•容灾
•读写分离
•分库分表
•资源管理
•资源调度
•资源隔离
•数据安全