赞
踩
云计算的概念:通过整合、管理、调配分布在网络各处的计算资源,通过互联网以统一界面,同时向大量的用户提供服务。
云计算特点:按需服务,随时服务,通用型,高可靠性,极其廉价,超大规模,虚拟化,高扩展性。
云数据库是部署和虚拟化在云计算环境中的数据库。云数据库是在云计算的大背景下发展起来的一种新兴的共享基础架构的方法,它极大地增强了数据库的存储能力,消除了人员、硬件、软件的重复配置,让软、硬件升级变得更加容易。云数据库具有高可扩展性、高可用性、采用多租形式和支持资源有效分发等特点。
云数据库具有以下特性:
企业类型不同,对于存储的需求也千差万别,而云数据库可以很好地满足不同企业的个性化存储需求:
到底选择自建数据库还是选择云数据库,取决于企业自身的具体需求
从数据模型的角度来说,云数据库并非一种全新的数据库技术,而只是以服务的方式提供数据库功能。
云数据库并没有专属于自己的数据模型,云数据库所采用的数据模型可以是关系数据库所使用的关系模型(微软的SQL Azure云数据库、阿里云RDS都采用了关系模型),也可以是NoSQL数据库所使用的非关系模型(Amazon Dynamo云数据库采用的是“键/值”存储)。
同一个公司也可能提供采用不同数据模型的多种云数据库服务。
许多公司在开发云数据库时,后端数据库都是直接使用现有的各种关系数据库或NoSQL数据库产品。
Amazon是云数据库市场的先行者。Amazon除了提供著名的S3存储服务和EC2计算服务以外,还提供基于云的数据库服务:
Google Cloud SQL是谷歌公司推出的基于MySQL的云数据库。
使用Cloud SQL,所有的事务都在云中,并由谷歌管理,用户不需要配置或者排查错误。
谷歌还提供导入或导出服务,方便用户将数据库带进或带出云。
谷歌使用用户非常熟悉的MySQL,带有JDBC支持(适用于基于Java的App Engine应用)和DB-API支持(适用于基于Python的App Engine应用)的传统MySQL数据库环境,因此,多数应用程序不需过多调试即可运行,数据格式对于大多数开发者和管理员来说也是非常熟悉的。
Google Cloud SQL还有一个好处就是与Google App Engine集成。
SQL Azure具有以下特性:
UMP(Unified MySQL Platform)系统是低成本和高性能的MySQL云数据库方案。总的来说,UMP系统架构设计遵循了以下原则:
UMP系统中的角色包括:
(1)Controller服务器
(2)Proxy服务器
Proxy服务器向用户提供访问MySQL数据库的服务,它完全实现了MySQL协议,用户可以使用已有的MySQL客户端连接到Proxy服务器,Proxy服务器通过用户名获取到用户的认证信息、资源配额的限制(例如QPS、IOPS(I/O Per Second)、最大连接数等),以及后台MySQL实例的地址,然后,用户的SQL查询请求会被转发到相应的MySQL实例上。除了数据路由的基本功能外,Proxy服务器中还实现了很多重要的功能,主要包括屏蔽MySQL实例故障、读写分离、分库分表、资源隔离、记录用户访问日志等。
(3)Agent服务器
Agent服务器部署在运行MySQL进程的机器上,用来管理每台物理机上的MySQL实例,执行主从切换、创建、删除、备份、迁移等操作,同时,还负责收集和分析MySQL进程的统计信息、慢查询日志(Slow Query Log)和bin-log。
(4)Web控制台
Web控制台向用户提供系统管理界面。
(5)日志分析服务器
日志分析服务器存储和分析Proxy服务器传入的用户访问日志,并支持实时查询一段时间内的慢日志和统计报表。
(6)信息统计服务器
信息统计服务器定期将采集到的用户的连接数、QPS数值以及MySQL实例的进程状态用RRDtool进行统计,可以在 Web界面上可视化展示统计结果,也可以把统计结果作为今后实现弹性的资源分配和自动化的MySQL实例迁移的依据。
(7)愚公系统
愚公系统是一个全量复制结合bin-log分析进行增量复制的工具,可以实现在不停机的情况下动态扩容、缩容和迁移。
依赖的开源组件包括:
(1)Mnesia
(2)LVS
(3)RabbitMQ
(4)ZooKeeper
Zookeeper是高效和可靠的协同工作系统,提供分布式锁之类的基本服务(比如统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等),用于构建分布式应用,减轻分布式应用程序所承担的协调任务.
在UMP系统中,Zookeeper主要发挥三个作用:
UMP系统是构建在一个大的集群之上的,通过多个组件的协同作业,整个系统实现了对用户透明的各种功能:
容灾、读写分离、分库分表、资源管理、资源调度、资源隔离、数据安全。
为了实现容灾,UMP系统会为每个用户创建两个MySQL实例,一个是主库,一个是从库主库和从库的状态是由Zookeeper负责维护的。
主从切换过程如下:
宕机后的主库在进行恢复处理后需要再次上线,过程如下:
充分利用主从库实现用户读写操作的分离,实现负载均衡。
UMP系统实现了对于用户透明的读写分离功能,当整个功能被开启时,负责向用户提供访问MySQL数据库服务的Proxy服务器,就会对用户发起的SQL语句进行解析,如果属于写操作,就直接发送到主库,如果是读操作,就会被均衡地发送到主库和从库上执行。
UMP支持对用户透明的分库分表(shard / horizontal partition) 当采用分库分表时,系统处理用户查询的过程如下:
UMP系统采用资源池机制来管理数据库服务器上的CPU、内存、磁盘等计算资源,所有的计算资源都放在资源池内进行统一分配,资源池是为MySQL实例分配资源的基本单位。
整个集群中的所有服务器会根据其机型、所在机房等因素被划分多个资源池,每台服务器会被加入到相应的资源池中。
对于每个具体MySQL实例,管理员会根据应用部署在哪些机房、需要哪些计算资源等因素,为该MySQL实例具体指定主库和从库所在的资源池,然后,系统的实例管理服务会本着负载均衡的原则,从资源池中选择负载较轻的服务器来创建MySQL实例。
UMP系统中有三种规格的用户,分别是数据量和流量比较小的用户、中等规模用户以及需要分库分表的用户。
UMP采用的两种资源隔离方式:
UMP系统设计了多种机制来保证数据安全:
亚马逊的云服务提供了多达几十种服务,涵盖了IaaS、PaaS、SaaS这三层。
(1)AWS Global Infrastructure(AWS全局基础设施)
在全局基础设施中有3个很重要的概念。
(2)Network(网络):
AWS提供的网络服务主要有:
(3)Computer(计算):
亚马逊的计算核心,包括了众多的服务:
(4)DateBase(数据库):
亚马逊提供关系型数据库和NoSQL数据库,以及一些cache等数据库服务:
(5)Application Server(应用程序服务):
(6)Deployment & Admin(部署和管理):
总体而言,Amazon AWS的产品分为几个部分:
计算类
存储类
工具支持
SQL Azure是微软的云关系型数据库,后端存储又称为“云SQL Server”。
构建在SQL Server之上,通过分布式技术提升传统关系数据库的可扩展性和容错能力。
1.逻辑模型:
2.物理模型:
SQL Azure分为四个主要部分: SQL Server实例、全局分区管理器、协议网关、分布式基础部件。
RDS是阿里云提供的关系型数据库服务,它将直接运行于物理服务器上的数据库实例租给用户,是专业管理的、高可靠的云端数据库服务。
RDS由专业数据库管理团队维护,还可以为用户提供数据备份、数据恢复、扩展升级等管理功能,相对于用户自建数据库而言,RDS具有专业、高可靠、高性能、灵活易用等优点,能够帮助用户解决费时费力的数据库管理任务,让用户将更多的时间聚焦在核心业务上。
RDS具有安全稳定、数据可靠、自动备份、管理透明、性能卓越,灵活扩容等优点,可以提供专业的数据库管理平台、专业的数据库优化建议以及完善的监控体系。
RDS实例,是用户购买RDS服务的基本单位。在实例中:
RDS数据库,是用户在一个实例下创建的逻辑单元
地域指的是用户所购买的RDS实例的服务器所处的地理位置。
RDS目前支持杭州、青岛、北京、深圳和香港五个地域,服务品质完全相同。用户可以在购买RDS实例时指定地域,购买实例后暂不支持更改。
RDS可用区是指在同一地域下,电力、网络隔离的物理区域,可用区之间内网互通,可用区内网络延时更小,不同可用区之间故障隔离。
RDS可用区又分为单可用区和多可用区
磁盘容量是用户购买RDS实例时,所选择购买的磁盘大小
实例所占用的磁盘容量,除了存储表格数据外,还有实例正常运行所需要的空间,如系统数据库、数据库回滚日志、重做日志、索引等。
**RDS连接数,**是应用程序可以同时连接到RDS实例的连接数量
以上内容为听华为大数据培训课程和大学MOOC上厦门大学 林子雨的《大数据技术原理与应用》课程而整理的笔记。
大数据技术原理与应用: https://www.icourse163.org/course/XMU-1002335004
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。