云数据库浅析

云数据库定义

1.部署和虚拟化在云计算环境当中的数据库,以网络提供IT资源服务。
2.云数据库没有一种自己的数据模型,只是将已有的数据模型(关系型数据库、nosql)在云端的实现。

云数据库浅析_第1张图片

特点(分布式+统一管理带来的优势)

按需服务
随时服务
通用性与可用性
高可靠性:冗余备份,失败恢复
廉价性
超大规模
虚拟化:资源在资源池,统一调用,方便扩展
技术安全性

Q:Iaas
Paas
Saas

云数据库满足个性化存储需求

大企业海量数据存储需求
中小企业低成本数据存储需求:0投入,平台已经搭建
企业动态变化的存储需求:企业自己搭建的服务器平台要么在低峰期浪费,要么无法满足高峰期需求

云数据库系统架构

Alibaba UMP(Unified MySQL Platform)系统设计原则

统一资源池
单一对外访问入口
多个管家Controller避免单点故障
动态增加减少计算资源,且有限制要求
资源之间相互隔离

UMP系统架构

云数据库浅析_第2张图片
1.Mnesia:
a.分布式数据库管理系统
b.支持事务,透明的数据分片,两阶段锁实现分布式事务,线性扩展至少50节点
c.运行时动态变更配置
2.RabbitMQ:
a.工业级消息队列产品
b.各组件异步传递消息,协调满足云平台功能
Q:如何满足异步队列可靠消息传递?相比较面向连接

3.Zookeeper
统一命名;状态同步;集群管理
a.监听满足多个服务器配置统一
b.分布式锁:选出一个管家在当前系统发挥作用
Q:如何实现?
c.监控所有MySQL实例,并通知管家

4.LVS(Linux Virtual Service):
a.集群内部负载均衡框架
b.IP负载均衡技术和基于内容请求分发技术
c.调度器:LVS集群系统唯一入口点,集群结构对客户透明

5.Controller服务器
a.集群成员管理:集群成员、用户配置、状态信息、路由表
b.元数据存储
c.MySQL实例管理
d.备份存储恢复
e.备份迁移扩容
6.Web控制台
7.Proxy服务器
向用户提供MySQL数据库服务,实现MySQL协议
8.Agent服务器
管理每台物理机上MySQL实例
部署在运行MySQL进程机器上,和其他组件通讯
9.日志
慢日志查询限制与优化
10.信息统计服务器
记录各种系统运营数据,可用于负载均衡
11.愚公系统
数据迁移、扩容、缩容不停机

一些功能的实现

1容灾

为用户创建两个MySQL实例,主库故障切换

主从切换流程:

探测到发生故障
Controller服务器修改路由表:主库标记不可用
通过RabbitMQ 告知proxy服务器

主库恢复

对从库复制;暂停从库(不可用);完全一致(不可用);切换到主库

2读写分离

用户读写操作分离,对主库写,对主从随机读

3分库分表

对用户透明

系统处理用户查询过程

Proxy服务器解析用户SQL语句,提取出重写和分发SQL语句所需要的信息
对SQL语句进行重写,得到多个针对相应MySQL实例的子语句,分发到对应的MySQL实例上执行
接受执行结果并合并得到最终结果

4资源管理(资源池机制)

多个资源池,根据具体需求决定实例位置

5资源调度

用户可以共享\独占一个\多个MySQL实例
可以对资源动态配置

6资源隔离

Cgroup

多个MySQL实例共享一台物理机

proxy限制QPS

多用户共享一个MySQL实例

7数据安全

a.SSL数据库连接
b.数据访问IP白名单
c.记录用户操作日志
d.SQL拦截

关于Amazon Web Service

亚马逊在数据库方面:关系型数据库Aurora

架构

云数据库浅析_第3张图片
1.AWS global Infrastructure:Region-Availability Zone-Edge Locations
2.Networking:提供直连服务,VPN连接,Route 53建立访问地址与底层数据库位置映射
3.Compute: EC2:弹性计算云 ELB:负载均衡器
Storage: S3:简单对象存储服务 EBS:弹性块存储服务针对EC2虚拟机设置 Glacier:便宜
Database: SimpleDB and DynamoDB and 市面数据库
4.App Services:企业级搜索服务,队列服务,工作流服务,内容分发服务
5.Deployment & Administration:部署与认证

产品分类

云数据库浅析_第4张图片
计算类:
EC2:弹性计算云端虚拟机
弹性MapReduce:执行MapReduce计算任务
存储类:
EBS
SQS
S3
NoSQL
RDS
云数据库浅析_第5张图片

部署EC2

应用程序和相关配置文件
镜像文件
复制到EC2实例上

EC2存储

本地存储是实例自带磁盘空间,并不持久
EBS通过卷来组织数据,挂载到一个EC2实例
EBS卷跟用户账号绑定

流程

云数据库浅析_第6张图片

云数据服务

关系数据库服务RDS

3TB数据;3万个DB实例

键值数据库SimpleDB

云数据库浅析_第7张图片

NoSQL数据库DynamoDB(改进SimpleDB)

提供一致性读的功能
根据主键操作记录不允许批量更新
DynamoDB全部采用固态盘存储

数据仓库Redshift

分布式内存缓存ElastiCache

微软云平台架构

云数据库浅析_第8张图片

你可能感兴趣的:(大数据)