《云计算(第二版)》—第八章_其他开源云计算系统

上传人:xmg****18 文档编号:118702165 上传时间:2019-12-23 格式:PPTX 页数:43 大小:2.39MB
返回 下载 相关 举报
《云计算(第二版)》—第八章_其他开源云计算系统_第1页
第1页 / 共43页
《云计算(第二版)》—第八章_其他开源云计算系统_第2页
第2页 / 共43页
《云计算(第二版)》—第八章_其他开源云计算系统_第3页
第3页 / 共43页
《云计算(第二版)》—第八章_其他开源云计算系统_第4页
第4页 / 共43页
《云计算(第二版)》—第八章_其他开源云计算系统_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《《云计算(第二版)》—第八章_其他开源云计算系统》由会员分享,可在线阅读,更多相关《《云计算(第二版)》—第八章_其他开源云计算系统(43页珍藏版)》请在金锄头文库上搜索。

1、电子工业出版社云计算(第二版)配套课件 解放军理工大学 刘鹏 教授主编 华东交通大学 刘鹏 制作 第8章 其他开源云计算系统 云计算(第二版)购买网址: 当当网 京东商城 姊妹力作实战Hadoop购买网址: 当当网 京东商城 提 纲 简介 Cassandra Hive VoltDB Cassandra Cassandra 一套高度可扩展、最终一致、分布式的结构化键值存储系统 结合了Dynamo的分布技术和Google的BigTable数据模型,更好满 足了海量数据存储需求,解决了应用与关系数据库模型之间存在的 非依赖关系 设计目标 高可用性 最终一致性 动态可伸缩 动态调整一致性/持久性与延时

2、 节点管理要保持低开销 最小化管理开销 Cassandra Cassandra突出特点 321 n模式灵活 n真正的可扩展性 n多数据中心识别 6 5 n范围查询 n列表数据结构 n分布式写操作 4 Hive Hive -起源于Facebook,是一个基于Hadoop的数据仓库工具,同时也是 Hadoop的一个主要子项目 -提供了一系列的工具,可以用来进行数据的提取、转换和加载( ETL),同时可以实现对Hadoop中大规模数据存储、查询和分析 Hive已经增加和将要增加的一些新特性 (1)增加了用于收集分区和列的水平统计数值的命令 (2)支持在Partition级别去更改Bucket的数量

3、(3)在Hive中实现检索 (4)为Hive增加并发模型 (5)支持在两个或两个以上列中的差别选择 (6)利用bloom过滤器提高连接的效果 (7)建立Hive的授权结构和认证结构 (8)在Hive中使用位图检索 VoltDB VoltDB -Mike Stonebraker(Postgres和Ingres的联合创始人)领导团队 开发的下一代开源数据库管理系统 -在VoltDB内部,采用并行单线程从而保证了事务一致性和高效率 优点 可达到几乎线性的扩展 满足ACID特性 提供相比传统数据库好 很多的性能 SQL作为数据库接口 限制 不支持动态修改Schema 增加节点需要停止服务 不支持xDB

4、C Adhoc查询性能不优化 Enomaly ECP Enomaly ECP是一个开放源代码 项目,提供了一个功能类似于 EC2的云计算框架 Enomaly ECP特性 (1)自动供应 (2)灵活性 (3)可扩展性 (4)整合现有基础设施 Enomaly ECP两个版本 -免费的社区版 -提供全方位技术支持的服务 提供商版 Nimbus Nimbus是一个开源的工具集,它可以把集群部署到IaaS云中。通过 一整套的工具来提供IaaS形式的云计算解决方案 Nimbus特点 (1)两套Web服务接口(Amazon EC2 WSDL和WSRF规范接口) (2)可以执行基于Xen管理程序 (3)可以使

5、用如PBS或SGE调度器去调度虚拟机 (4)定义了一个可扩展架构,用户可以根据项目的需求进行定制 (1)标准客户端(Reference Client):以命令行的方式访问服 务,全面支持WSRF前台的各种特性 (2)WSRF:Web Services Resource Framework,即Web服务资源 框架 (3)RM API:也就是资源管理 (4)工作区(Workspace):实际上就是一个计算节点 Sector and Sphere Sector and Sphere -Sector是部署在广域网上的分布式存储系统 -Sphere是建立在Sector之上的计算服务 Sector架构 S

6、phere的基本数据处理模型 具体流程 (1)当主服务器接收到Sphere数 据处理的客户端请求,主服务器向 客户端发送一个可用的从节点列表 (2)客户端选择一些或者所有从 节点,让SPE在其上运行 (3)客户端与SPE建立UDT连接 (4)流处理函数被发送给每个SPE ,并储存在从节点上 (5)SPE打开动态库并获得各种处 理函数 Sector and Sphere 第一阶段 采用哈希函数扫描全部的数据流,把每 个元素放置到相应的桶中 使用两个Sphere过程执行分布 式排序的过程 第二个阶段 使用SPE对每个桶排序 abiquo Abiquo帮助用户在各种复杂环境下高效地构建公有、私 有或

7、混合云。这套方案主要包括三个部分:abiCloud、 abiNtense和abiData -abiCloud是abiquo可以创建管理资源并且可以按需扩展。该工具 能够以快速、简单和可扩展的方式创建和管理大型、复杂的IT基础 设施 -abiCloud目前主要有三个版本:社区版(Community Version )、企业版(Enterprise Version)和ISP版(ISP Version,ISP 表示互联网服务提供商) abiquo abiCloud基本构架 abiCloud_WS虚拟 工厂,主要负责管理 各种虚拟化技术 abiCloud_VMS用 来监控虚拟化设备的 运行状态 Mon

8、goDB MongoDB由10gen公司支持的一项开源计划。10gen云平台 可用于创建私有云,目标是构建一个基于分布式文件存储系 统的数据库 MongoDB主要特性 (1)易存储对象类型的数据 (2)高性能,特别适合“高容量、值较低”的数据类型 (3)支持动态查询 (4)支持复制和故障恢复 (5)自动处理碎片以支持云计算层次上的扩展性 (6)使用高效的二进制数据存储方式,可以存储包括视频在内的 大型数据 MongoDB MongoDB的架构 主流存储方案对比 提 纲 简介 Cassandra Hive VoltDB 体系结构 (1)核心层 主要提供一些底 层服务包括用户的信息服务、 基于DH

9、T的分区策略、复制策略 及Gossip失败检测策略等 (2)中间层 主要融合了 BigTable存储系统的架构技术 ,同样采用了CommitLog日志记 录,Memtable/SStable存储模 型,以及合并压缩SStable所使 用的压缩技术 (3)顶层 主要提供API(应用 API和工具API ),监控工具, 以及一些针对一致性问题的策 略(读修复技术 ) 数据模型 ColumnName:“ID”Value:“92938493”Timestamp:2450016708 1)列 -最小的数据单元,它是一个三元组,包含名称(Name)、值(Value )和时间戳(Timestamp) 2)超

10、级列 -名称和值的元组,它并不包含列中的时间戳。列和超级列最大的不 同:列的值是一个“String”,而超级列的值是许多列的Map 3)列族 -包含了许多行的结构,列族三个元素:名称、类型和排序方式 -Standard类型 包含许多列(而不是超级列) -Super类型 包含一系列超级列 SuperColumnColumn1Column2Column3ColumnN 数据模型 4)行 -以key为表示,一个key对应的数据可以分布在多个列族中 5)键值空间 -数据最外层,键值空间是Cassandra哈希表的第一维,是列族的容器 RowColumnFamily 1ColumnFamily 2Col

11、umnFamily N 两级索引 第一级索引用一个 Row-Key 和 CF-Name 可以定位一个列族 第二级索引通过一个Column-Name可在一个列族中定位一个列 存储机制 优势 -随机IO写变成顺序IO写,降低了大量的写操作对于存储系统所带来 的压力 Bloom Filter算法 -通过多个哈希函数将Key映射到一个位图中来快速判断这个Key属于 哪个SSTable 数据存储目录三种类型文件 -SSTable数据文件 -映射文件 -索引文件 存储机制 存储机制:三个列族的Key值先记录在 Commitlog中,Commitlog保存在独立磁盘 上 -Memtable满足一定条件后批量

12、刷新到磁 盘上,存储为SSTable -利用Bloom Filter算法定位Key所属块 读/写删过程 1.Cassandra写入过程 (1)客户端向Cassandra集群中单一随机节点发出写请求 (2)此节点将作为代理节点,并根据复制放置策略(Replication Placement Strategy)将写请求发送到N个不同节点 (3)这N个节点以“RowMutation”消息的形式接收到此写请求,节点 会执行以下两个操作:一是消息追加到CommitLog中以满足事务性 目的;二是将数据写入到Memtable (4)代理节点必须等待这N个不同节点中的某些节点写响应的返回, 才能将写操作成功

13、的消息告诉客户端 读/写删过程 Cassandra的写一致性水平(假设副本个数:n)分为三种情况 (1)ONE:确保写入到至少一个节点中的Commitlog和Memtable (2)QUORUM:确保至少写入到n/2+1个节点上 (3)ALL:确保写入到n个节点上 节点数据复制策略:确保单点故障不会导致整个集群不可用 Cassandra的写具有以下几个特性 (1)关键路径上无任何锁 (2)表现出类似于写入式缓存(Write through cache),快速高效 (3)顺序磁盘访问 (4)只有Append操作,没有额外的读开销 (5)即使出现节点故障时也都总是可写 (6)只保证基于列族的原子性

14、 读/写删过程 2. Cassadra读取过程 (1)客户端发送一个读请求到Cassandra集群中的单一随机节点(即存储代 理节点Storage Proxy) (2)该节点根据复制放置策略将读请求发送到N个不同节点 (3)收到读请求的节点都要合并读取SSTable和Memtable (4)代理节点必须等待这N个不同节点中的某些节点读响应的返回,才能将 读操作成功的消息告诉客户端 Cassadra的读一致性水平(假设副本个数为n)分为以下三种情况 (a)ONE:返回第一个响应的节点上面的数据,但不保证数据是最新的,通 过读修复和一致性检查可保证后续的调用能够读取最新的数据 (b)QUORUM:

15、查询n个节点,返回至少n/2+1个节点上的最新数据 (c)ALL:查询n个节点,返回n个节点中的最新数据,一个节点失效将导致 读失败。 读/写删过程 3. Cassadra删除过程 分布式数据库在删除方面存问题:一个删除操作不可能一次性将数据 立即删除掉 解决方案: -删除标记称为墓碑(Tombstone)、常量GCGraceSeconds Cassandra真正删除数据的过程是:当客户端从Cassandra中读取数据 的时候,节点在返回数据之前都会主动检查是否该数据被设置了 删除标记,并且该删除标志的添加时长已经大于GCGraceSeconds ,则要先删除该节点的数据再返回 提 纲 简介 Cassandra Hive VoltDB 整体构架 (1)用户界面(UI):用户通过用 户界面提交查询及其他操作 (2)驱动器(Driver):接收用户 的查询请求 (3)编译器(Compiler):用来解 析查询 (4)元数据存储器(Metastore): 存储数据仓库中所有不同表和分 区的结构信息,包括列和列类型 信息 (5)执行引擎(Execution Engine ):执行由编译器制订的计划 查询流程图 数据模型 (1)表(Table) Hive中的表和关系数据库中的表的概念是相似的。表能被 过滤、投影、连接和合并 (2)分区(Parti

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号