您好,欢迎访问三七文档
《大数据技术及应用》信息科学与技术学院1石家庄铁道大学信息科学与技术学院第六章云数据库《大数据技术及应用》《大数据技术及应用》信息科学与技术学院2提纲6.1云数据库概述6.2云数据库产品6.3云数据库系统架构6.4AmazonAWS和云数据库6.5微软云数据库SQLAzure6.6云数据库实践《大数据技术及应用》信息科学与技术学院36.1云数据库概述6.1.1云计算是云数据库兴起的基础6.1.2云数据库概念6.1.3云数据库的特性6.1.4云数据库是个性化数据存储需求的理想选择6.1.5云数据库与其他数据库的关系《大数据技术及应用》信息科学与技术学院46.1.1云计算是云数据库兴起的基础•通过整合、管理、调配分布在网络各处的计算资源,通过互联网以统一界面,同时向大量的用户提供服务云计算概念云计算特点超大规模计算、虚拟化、高可靠性和安全性、通用性、动态扩展性、按需服务、降低成本云计算应用场景Google个人云服务企业应用实例:AnimotoAmazon云计算示意图《大数据技术及应用》信息科学与技术学院56.1.2云数据库概念物理磁盘云数据库数据节点云数据库管理器客户端云数据库是部署和虚拟化在云计算环境中的数据库。云数据库是在云计算的大背景下发展起来的一种新兴的共享基础架构的方法,它极大地增强了数据库的存储能力,消除了人员、硬件、软件的重复配置,让软、硬件升级变得更加容易。云数据库具有高可扩展性、高可用性、采用多租形式和支持资源有效分发等特点。《大数据技术及应用》信息科学与技术学院66.1.3云数据库的特性云数据库具有以下特性:(1)动态可扩展(2)高可用性(3)较低的使用代价(4)易用性(5)高性能(6)免维护(7)安全腾讯云数据库和自建数据库的比较自建数据库腾讯云数据库数据安全性开发者自行解决,成本高昂15种类型备份数据,保证数据安全服务可用性99.99%高可靠性数据备份0花费,系统自动多时间点数据备份维护成本0成本,专业团队7x24小时帮助维护实例扩容一键式直接扩容,安全可靠资源利用率按需申请,资源利用率高达99.9%技术支持专业团队一对一指导、QQ远程协助开发者《大数据技术及应用》信息科学与技术学院76.1.4云数据库是个性化数据存储需求的理想选择企业类型不同,对于存储的需求也千差万别,而云数据库可以很好地满足不同企业的个性化存储需求:•首先,云数据库可以满足大企业的海量数据存储需求•其次,云数据库可以满足中小企业的低成本数据存储需求•另外,云数据库可以满足企业动态变化的数据存储需求到底选择自建数据库还是选择云数据库,取决于企业自身的具体需求•对于一些大型企业,目前通常采用自建数据库•对于一些财力有限的中小企业而言,IT预算比较有限,云数据库这种前期零投入、后期免维护的数据库服务,可以很好满足它们的需求《大数据技术及应用》信息科学与技术学院86.1.5云数据库与其他数据库的关系从数据模型的角度来说,云数据库并非一种全新的数据库技术,而只是以服务的方式提供数据库功能云数据库并没有专属于自己的数据模型,云数据库所采用的数据模型可以是关系数据库所使用的关系模型(微软的SQLAzure云数据库、阿里云RDS都采用了关系模型),也可以是NoSQL数据库所使用的非关系模型(AmazonDynamo云数据库采用的是“键/值”存储)同一个公司也可能提供采用不同数据模型的多种云数据库服务许多公司在开发云数据库时,后端数据库都是直接使用现有的各种关系数据库或NoSQL数据库产品关系型数据库NoSQL文档数据库键值数据库BigTable图数据库云数据库NewSQLInfobrightNetezzaParAccelSAPSybaseIQTeradataEMCCalpontIBMInfoSphereAsterDataGreenplumVectorWiseHPVerticaOracleIMBDB2SQLServerJustOneCouchDBMongoDBRavenDBHypertableHBaseRiakRedisMembrainVoldemortBekeleyDBCassandraCouchbaseCloudantAppEngineDatastoreSimpleDBInfiniteGraphGraphDBNeo4JMySQLIngresPostgreSQLHandlerSocketAmazonRDSSQLAzureDatabase.comFathomDBXeroundAkibanMySQLClusterClustrixDrizzleGenieDBScalArcSchoonerMySQLCodeFuturesTokutekScaleBaseNimbusDBContinuentVoltDBTranslattice列式数据库OldSQLOrientDB《大数据技术及应用》信息科学与技术学院96.2云数据库产品6.2.1云数据库厂商概述6.2.2Amazon的云数据库产品6.2.3Google的云数据库产品6.2.4Microsoft的云数据库产品6.2.5其他云数据库产品《大数据技术及应用》信息科学与技术学院106.2.1云数据库厂商概述云数据库产品企业产品AmazonDynamo、SimpleDB、RDSGoogleGoogleCloudSQLMicrosoftMicrosoftSQLAzureOracleOracleCloudYahoo!PNUTSVerticaAnalyticDatabasev3.0fortheCloudEnerpriseDBPostgresPlusintheCloud阿里阿里云RDS百度百度云数据库腾讯腾讯云数据库《大数据技术及应用》信息科学与技术学院116.2.2Amazon的云数据库产品Amazon是云数据库市场的先行者。Amazon除了提供著名的S3存储服务和EC2计算服务以外,还提供基于云的数据库服务:—AmazonRDS:云中的关系数据库—AmazonSimpleDB:云中的键值数据库—AmazonDynamoDB:云中的NoSQL数据库—AmazonRedshift:云中的数据仓库—AmazonElastiCache:云中的分布式内存缓存《大数据技术及应用》信息科学与技术学院126.2.3Google的云数据库产品GoogleCloudSQL是谷歌公司推出的基于MySQL的云数据库使用CloudSQL,所有的事务都在云中,并由谷歌管理,用户不需要配置或者排查错误谷歌还提供导入或导出服务,方便用户将数据库带进或带出云谷歌使用用户非常熟悉的MySQL,带有JDBC支持(适用于基于Java的AppEngine应用)和DB-API支持(适用于基于Python的AppEngine应用)的传统MySQL数据库环境,因此,多数应用程序不需过多调试即可运行,数据格式对于大多数开发者和管理员来说也是非常熟悉的GoogleCloudSQL还有一个好处就是与GoogleAppEngine集成《大数据技术及应用》信息科学与技术学院136.2.4Microsoft的云数据库产品SQLAzure具有以下特性:—属于关系型数据库:支持使用TSQL(TransactStructuredQueryLanguage)来管理、创建和操作云数据库—支持存储过程:它的数据类型、存储过程和传统的SQLServer具有很大的相似性,因此,应用可以在本地进行开发,然后部署到云平台上—支持大量数据类型:包含了几乎所有典型的SQLServer2008的数据类型—支持云中的事务:支持局部事务,但是不支持分布式事务《大数据技术及应用》信息科学与技术学院146.3云数据库系统架构6.3.1UMP系统概述6.3.2UMP系统架构6.3.3UMP系统功能《大数据技术及应用》信息科学与技术学院156.3.1UMP系统概述UMP系统是低成本和高性能的MySQL云数据库方案。总的来说,UMP系统架构设计遵循了以下原则:保持单一的系统对外入口,并且为系统内部维护单一的资源池消除单点故障,保证服务的高可用性保证系统具有良好的可伸缩,能够动态地增加、删减计算与存储节点保证分配给用户的资源也是弹性可伸缩的,资源之间相互隔离,确保应用和数据安全《大数据技术及应用》信息科学与技术学院166.3.2UMP系统架构ZooKeeper高可用性成员管理Proxy服务器数据路由分库分表资源限制流量统计日志记录Agent服务器管理MySQL实例备份、迁移双主结构MySQL集群Web控制台用户、集群配置查看集群状态UML集群基础服务Controller服务器API元数据存储集群成员管理实例管理消息队列管理故障恢复数据库备份数据库扩容邮件报警RabbitMQ节点间消息通讯愚公系统数据迁移工具日志分析日志统计和分析信息统计集群状态统计LVSUMP系统中的角色包括:•Controller服务器•Proxy服务器•Agent服务器•Web控制台•日志分析服务器•信息统计服务器•愚公系统依赖的开源组件包括:•Mnesia•LVS•RabbitMQ•ZooKeeper《大数据技术及应用》信息科学与技术学院176.3.2UMP系统架构1.Mnesia•Mnesia是一个分布式数据库管理系统•Mnesia支持事务,支持透明的数据分片,利用两阶段锁实现分布式事务,可以线性扩展到至少50个节点•Mnesia的数据库模式(schema)可在运行时动态重配置,表能被迁移或复制到多个节点来改进容错性•Mnesia的这些特性,使其在开发云数据库时被用来提供分布式数据库服务《大数据技术及应用》信息科学与技术学院186.3.2UMP系统架构2.RabbitMQ•RabbitMQ是一个工业级的消息队列产品(功能类似于IBM公司的消息队列产品IBMWebsphereMQ),作为消息传输中间件来使用,可以实现可靠的消息传送•UMP集群中各个节点之间的通信,不需要建立专门的连接,都是通过读写队列消息来实现的《大数据技术及应用》信息科学与技术学院196.3.2UMP系统架构3.Zookeeper在UMP系统中,Zookeeper主要发挥三个作用:•作为全局的配置服务器•提供分布式锁(选出一个集群的“总管”)•监控所有MySQL实例Zookeeper是高效和可靠的协同工作系统,提供分布式锁之类的基本服务(比如统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等),用于构建分布式应用,减轻分布式应用程序所承担的协调任务《大数据技术及应用》信息科学与技术学院206.3.2UMP系统架构4.LVS•LVS(LinuxVirtualServer)即Linux虚拟服务器,是一个虚拟的服务器集群系统•UMP系统借助于LVS来实现集群内部的负载均衡•LVS集群采用IP负载均衡技术和基于内容请求分发技术•调度器是LVS集群系统的唯一入口点,调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器•整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器端的程序《大数据技术及应用》信息科学与技术学院216.3.2UMP系统架构5.Controller服务器•Controller服务器向UMP集群提供各种管理服务,实现集群成员管理、元数据存储、MySQL实例管理、故障恢复、备份、迁移、扩容等功能•Controller服务器上运行了一组Mnesia分布式数据库服务,其中存储了各种系统元数据,主要包括集群成员、用户的配置和状态信息,以及用户名到后端MySQL实例地址的映射关系(或称为“路由表”)等•当其它服务器组件需要获取用户数据时,可以向Controller服务器发送请求获取数据•为了避免单点故障,保证系统的高可用性,UMP系统中部署了多台Controller服务器,然后,由Zookeeper的分布式锁功能来帮助选出一个“总管”,负责各种系统任务的调度和监控《大数据技术及应用》信息科学与技术学院226.3.2UMP系
本文标题:云数据库
链接地址:https://www.777doc.com/doc-6182136 .html