在了解云数据库之前,先明确一下云计算的概念:
通过整合、管理、调配分布在网络各处的计算资源,通过互联网以统一界面,同时向大量的用户提供服务
- 云数据库的概念:
云数据库是部署和虚拟化在云计算环境中的数据库。云数据库是在云计算的大背景下发展起来的一种新兴的共享基础架构的方法,它极大地增强了数据库的存储能力,消除了人员、硬件、软件的重复配置,让软、硬件升级变得更加容易。云数据库具有高可扩展性、高可用性、采用多租形式和支持资源有效分发等特点。
- 云数据库的特点:
(1)动态可扩展
(2)高可用性
(3)较低的使用代价
(4)易用性
(5)高性能
(6)免维护
(7)安全
- 云数据库的作用
首先,云数据库可以满足大企业的海量数据存储需求
其次,云数据库可以满足中小企业的低成本数据存储需求
另外,云数据库可以满足企业动态变化的数据存储需求
云数据库并没有专属于自己的数据模型,云数据库所采用的数据模型可以是关系数据库所使用的关系模型(微软的SQL Azure云数据库、阿里云RDS都采用了关系模型),也可以是NoSQL数据库所使用的非关系模型(Amazon Dynamo云数据库采用的是“键/值”存储)
- 常见云数据库
1 亚马逊云数据库
Amazon是云数据库市场的先行者。Amazon除了提供著名的S3存储服务和EC2计算服务以外,还提供基于云的数据库服务:
Amazon RDS:云中的关系数据库
Amazon SimpleDB:云中的键值数据库
Amazon DynamoDB:云中的NoSQL数据库
Amazon Redshift:云中的数据仓库
Amazon ElastiCache:云中的分布式内存缓存
2 微软云数据库
SQL Azure具有以下特性:
属于关系型数据库:支持使用TSQL(Transact Structured Query Language)来管理、创建和操作云数据库
支持存储过程:它的数据类型、存储过程和传统的SQL Server具有很大的相似性,因此,应用可以在本地进行开发,然后部署到云平台上
支持大量数据类型:包含了几乎所有典型的SQL Server 2008的数据类型
支持云中的事务:支持局部事务,但是不支持分布式事务
3 国内的阿里云,百度云,腾讯云等
- UMP系统概述
UMP系统是低成本和高性能的MySQL云数据库方案
总的来说,UMP系统架构设计遵循了以下原则:
保持单一的系统对外入口,并且为系统内部维护单一的资源池
消除单点故障,保证服务的高可用性
保证系统具有良好的可伸缩,能够动态地增加、删减计算与存储节点
保证分配给用户的资源也是弹性可伸缩的,资源之间相互隔离,确保应用和数据安全
UML系统架构
Zookeeper介绍:
Zookeeper是高效和可靠的协同工作系统,提供分布式锁之类的基本服务(比如统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等),用于构建分布式应用,减轻分布式应用程序所承担的协调任务
在UMP系统中,Zookeeper主要发挥三个作用:
作为全局的配置服务器
提供分布式锁(选出一个集群的“总管”)
监控所有MySQL实例
UMP系统是构建在一个大的集群之上的,通过多个组件的协同作业,整个系统实现了对用户透明的各种功能:
容灾
读写分离
分库分表
资源管理
资源调度
资源隔离
数据安全