大数据技术---云数据库

一、云数据库概述

云计算:通过网络以服务的方式为用户提供非常廉价的IT资源。
元计算的八大优势:
(1)按需服务
(2)随时服务
(3)通用性:满足各种不同的用户需求
(4)高可靠性:集群中有机器出现故障时,会有一定机制启用备用机器。
(5)极其廉价
(6)超大规模:带宽、CPU、内存、磁盘等资源予取予求。
(7)动态可扩展性
(8)高可用性
大数据技术---云数据库_第1张图片云数据库在云环境中提供这样的数据库服务。
大数据技术---云数据库_第2张图片
腾讯云数据库和自建数据库的比较:
大数据技术---云数据库_第3张图片
云数据库满足个性化存储需求:
(1)大企业海量数据存储需求
(2)中小企业:低成本数据存储需求
(3)满足企业动态变化的存储需求:企业内部的数据存储需求不是恒定的,调试安装。

二、云数据库产品

大数据技术---云数据库_第4张图片微软:SQL Azure,基于关系型数据库构建。

三、云数据库的系统架构

UMP:Unified MySQL Platform,底层本、高性能,开源数据库。
UMP设计原则:

(1)真个系统保持单一的对外访问入口
(2)消除单点故障,保证服务的高可用性
(3)具有良好的可伸缩性,能够动态的增加、减少计算资源
(4)可以实现资源之间的相互隔离:多租户
多租户带来的问题:可能会出现某个用户消耗的资源过多、可能会影响其他用户相关的应用程序执行。
UMP的系统架构:
大数据技术---云数据库_第5张图片
1、Mnesia:是分布式数据库管理系统;支持事务,支持透明的数据分片,利用两阶段锁实现分布式事务,可以线性扩展到至少50个节点;数据库模式可在运行时动态变更。

2、RabbitMQ:工业级的消息队列产品。
大数据技术---云数据库_第6张图片
3、Zookeeper:高效可靠的协调服务,如统一命名服务、状态同步服务、集群管理。
在UMP中发挥的作用,作为全局的配置服务器、提供分布式锁(在集群中选出一个“总管”)、监控各个机器上的MySQL实例(实时监控MySQL实例,发生故障时通知给总管)。

4、LVS:Linux虚拟服务器,是一个虚拟的服务器集群系统。
UMP系统借助LVS来实现集群内部的负载均衡、LVS集群采用IP负载均衡技术和基于内容请求分发技术、调度器是LVS集群系统的唯一入口点、整个服务器集群的结构对客户是透明的。

5、Controller服务器:UMP集群的总管。作用:集群成员的管理、元数据的存储、MySQL实例管理、故障恢复、备份迁移扩容。
Controller服务器避免单点故障,设置多个controller服务器,由zookeeper服务器确定一个总管,对外提供服务。

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

7、Proxy服务器:向用户提供访问MySQL数据库的服务,使用MySQL数据库事时下载客户端、连接MySQL服务器。作用:数据路由、分库分表、资源限制、流量统计、日志记录。

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

9、日志分析服务器:对整个日志分析。

10、信息统计服务器
大数据技术---云数据库_第7张图片
11、愚公系统:数据迁移,系统允许在不停机的情况下,可以实现动态的扩容、缩容、迁移。

UMP系统功能:
1、容灾
容灾:云数据库必须具备的基础功能,为实现容灾UMP系统会为每个用户创建两个MySQL实例(主库->从库)。
故障时,主从切换过程:controller服务器修改路由表,主库标记为不可用,消息中间件rabbitmq向proxy服务器修改(主库和从库调换)。
主库恢复:主库更新复制从库内容,controller服务器命令从库暂停更新(暂停一段时间,为了防止在主库更新期间从库又写入新的数据)
大数据技术---云数据库_第8张图片
2、读写分离
读写分离:充分利用主从库实现用户读写操作的分离,实现负载均衡。
SQL语句查询:写操作,直接发送到主库;读操作,被均衡的发送到主库和从库上执行。

3、分库分表
分库分表:UMP支持对用户透明的分库分表。
分库分表时,查询过程:
(1)proxy服务器解析用户SQL语句,提取出重写和分发SQL语句所需要的信息;
(2)对SQL语句进行重写,得到多个针对相应MySQL实例的子语句,分发到对应的MySQL实例上执行;
(3)接收来自各个MySQL实例的SQL语句执行结果合并得到最终结果。

4、资源管理
资源管理:采用资源池机制对所有资源进行管理。
大数据技术---云数据库_第9张图片
5、资源调度
UMP中三种用户:
(1)小规模用户:多个用户共享一个MySQL实例
(2)中等用户:每个用户独占一个MySQL实例
(3)分库分表用户:占有多个独立的MySQL实例

6、资源隔离
大数据技术---云数据库_第10张图片
7、数据安全
UMP中的数据安全机制:
(1)SSL数据库连接
(2)提供数据访问 IP 白名单
(3)记录用户操作日志
(4)SQL拦截

四、亚马逊和云计算

大数据技术---云数据库_第11张图片
亚马逊在三层中都提供了相关的服务。
大数据技术---云数据库_第12张图片
Amazon AWS平台上的云数据库:
大数据技术---云数据库_第13张图片
1、SimpleDB:第一个nosql数据库;记录有主键和多个属性组成;可以把数据进行多副本存储,支持高并发读取;更新操作只能对主副本进行,但可以快速传播到其他副本,提供最终一致性;更适合存储小型、碎片化的数据。

2、DynamoDB:提供一致性读的功能;根据主键去操作记录不允许进行批量更新;全部采取固态盘存储。

3、RDS:关系型数据库,建立3TB数据,带3万个DB实例

Amazon AWS架构:
大数据技术---云数据库_第14张图片
1、全球基础设施
区域:共16个region,每个region包含数个可用区available zone组成,全球目前有50多个边缘节点edge locations(内容分发,加快对网络资源的访问速度)。
2、网络
提供直连服务,方式和亚马逊连接。
3、计算
EC2,弹性计算云;ELB,提供负载均衡器(多个EC2)。
4、存储
S3,简单对象存储服务;EBS,弹性块存储服务专门针对EC2虚拟机设置;Glacier,存储较少使用的数据。

Amazon AWS产品分类:
1、计算类
(1)弹性计算云EC2:提供了云端的虚拟机。
(2)弹性Map Reduce:在云环境中部署Hadoop mapreduce环境,通过EC2虚拟机动态执行mapreduce计算任务。
2、存储类
(1)弹性块存储EBS
(2)简单消息存储SQS
(3)Blob对象存储S3
(4)nosql数据库
(5)关系数据库RDS

EC2:云上虚拟机,允许用户根据需求动态调整运行的实例类型和数量,实现按需付费。
EC2存储:EC2本地存储是实例自带的磁盘空间,但不是持久的;为了解决本地存储不可靠的问题,推出了EBS;EBS通过卷来组织数据,每个卷只能挂载到一个EC2实例;EBS和用户账号绑定的。
大数据技术---云数据库_第15张图片
EBS和Amazon S3的区别:
大数据技术---云数据库_第16张图片
大数据技术---云数据库_第17张图片
大数据技术---云数据库_第18张图片

五、微软云数据库SQL Azure

SQL Azure:可以实现数据的冗余备份。
大数据技术---云数据库_第19张图片
SQL Azure四个部分:
1、SQL server实例
2、全局分区管理器
3、协议网关
4、分布式基础组件
大数据技术---云数据库_第20张图片

你可能感兴趣的:(big,data,数据库,sqlite,云数据库,亚马逊)