其他开源云计算系统

上传人:ji****72 文档编号:50927665 上传时间:2018-08-11 格式:PPT 页数:41 大小:2.36MB
返回 下载 相关 举报
其他开源云计算系统_第1页
第1页 / 共41页
其他开源云计算系统_第2页
第2页 / 共41页
其他开源云计算系统_第3页
第3页 / 共41页
其他开源云计算系统_第4页
第4页 / 共41页
其他开源云计算系统_第5页
第5页 / 共41页
点击查看更多>>
资源描述

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

1、其他开源云计算系统 提 纲 简介 Cassandra Hive VoltDB Cassandra Cassandra 一套高度可扩展、最终一致、分布式的结构化键值存储系统 结合了Dynamo的分布技术和Google的BigTable数据模型,更好满 足了海量数据存储需求,解决了应用与关系数据库模型之间存在的 非依赖关系 设计目标高可用性 最终一致性 动态可伸缩 动态调整一致性/持久性与延时 节点管理要保持低开销 最小化管理开销 Cassandra Cassandra突出特点 321n模式灵活 n真正的可扩展性 n多数据中心识别 65n范围查询 n列表数据结构 n分布式写操作 4Hive Hiv

2、e-起源于Facebook,是一个基于Hadoop的数据仓库工具,同时也是 Hadoop的一个主要子项目-提供了一系列的工具,可以用来进行数据的提取、转换和加载( ETL),同时可以实现对Hadoop中大规模数据存储、查询和分析 Hive已经增加和将要增加的一些新特性 (1)增加了用于收集分区和列的水平统计数值的命令 (2)支持在Partition级别去更改Bucket的数量 (3)在Hive中实现检索 (4)为Hive增加并发模型 (5)支持在两个或两个以上列中的差别选择 (6)利用bloom过滤器提高连接的效果 (7)建立Hive的授权结构和认证结构 (8)在Hive中使用位图检索Volt

3、DB VoltDB-Mike Stonebraker(Postgres和Ingres的联合创始人)领导团队 开发的下一代开源数据库管理系统 -在VoltDB内部,采用并行单线程从而保证了事务一致性和高效率优点 可达到几乎线性的扩展 满足ACID特性 提供相比传统数据库好 很多的性能 SQL作为数据库接口 限制 不支持动态修改Schema 增加节点需要停止服务 不支持xDBC Adhoc查询性能不优化 Enomaly ECP Enomaly ECP是一个开放源代码 项目,提供了一个功能类似于 EC2的云计算框架Enomaly ECP特性 (1)自动供应 (2)灵活性 (3)可扩展性 (4)整合现

4、有基础设施 Enomaly ECP两个版本 -免费的社区版 -提供全方位技术支持的服务 提供商版Nimbus Nimbus是一个开源的工具集,它可以把集群部署到IaaS云中。通过 一整套的工具来提供IaaS形式的云计算解决方案Nimbus特点 (1)两套Web服务接口(Amazon EC2 WSDL和WSRF规范接口) (2)可以执行基于Xen管理程序 (3)可以使用如PBS或SGE调度器去调度虚拟机 (4)定义了一个可扩展架构,用户可以根据项目的需求进行定制 (1)标准客户端(Reference Client):以命令行的方式访问服 务,全面支持WSRF前台的各种特性 (2)WSRF:Web

5、 Services Resource Framework,即Web服务资源 框架 (3)RM API:也就是资源管理 (4)工作区(Workspace):实际上就是一个计算节点Sector and Sphere Sector and Sphere-Sector是部署在广域网上的分布式存储系统-Sphere是建立在Sector之上的计算服务Sector架构 Sphere的基本数据处理模型 具体流程 (1)当主服务器接收到Sphere数据 处理的客户端请求,主服务器向客 户端发送一个可用的从节点列表 (2)客户端选择一些或者所有从节 点,让SPE在其上运行 (3)客户端与SPE建立UDT连接 (4

6、)流处理函数被发送给每个SPE ,并储存在从节点上 (5)SPE打开动态库并获得各种处 理函数Sector and Sphere 第一阶段 采用哈希函数扫描全部的数据流,把每 个元素放置到相应的桶中 使用两个Sphere过程执行分布 式排序的过程 第二个阶段 使用SPE对每个桶排序 abiquoAbiquo帮助用户在各种复杂环境下高效地构建公有、私 有或混合云。这套方案主要包括三个部分:abiCloud、 abiNtense和abiData-abiCloud是abiquo可以创建管理资源并且可以按需扩展。该工具 能够以快速、简单和可扩展的方式创建和管理大型、复杂的IT基础 设施 -abiClo

7、ud目前主要有三个版本:社区版(Community Version) 、企业版(Enterprise Version)和ISP版(ISP Version,ISP表 示互联网服务提供商)abiquoabiCloud基本构架abiCloud_WS虚拟 工厂,主要负责管理 各种虚拟化技术abiCloud_VMS用 来监控虚拟化设备的 运行状态 MongoDB MongoDB由10gen公司支持的一项开源计划。10gen云平台 可用于创建私有云,目标是构建一个基于分布式文件存储系 统的数据库 MongoDB主要特性 (1)易存储对象类型的数据 (2)高性能,特别适合“高容量、值较低”的数据类型 (3)

8、支持动态查询 (4)支持复制和故障恢复 (5)自动处理碎片以支持云计算层次上的扩展性 (6)使用高效的二进制数据存储方式,可以存储包括视频在内的 大型数据MongoDB MongoDB的架构 主流存储方案对比 提 纲 简介 Cassandra Hive VoltDB 体系结构 (1)核心层 主要提供一些底 层服务包括用户的信息服务、 基于DHT的分区策略、复制策略 及Gossip失败检测策略等 (2)中间层 主要融合了 BigTable存储系统的架构技术 ,同样采用了CommitLog日志记 录,Memtable/SStable存储模 型,以及合并压缩SStable所使 用的压缩技术 (3)顶

9、层 主要提供API(应用 API和工具API ),监控工具, 以及一些针对一致性问题的策 略(读修复技术 ) 数据模型 ColumnName:“ID”Value:“92938493”Timestamp:24500167081)列 -最小的数据单元,它是一个三元组,包含名称(Name)、值(Value )和时间戳(Timestamp)2)超级列 -名称和值的元组,它并不包含列中的时间戳。列和超级列最大的不 同:列的值是一个“String”,而超级列的值是许多列的Map3)列族 -包含了许多行的结构,列族三个元素:名称、类型和排序方式-Standard类型 包含许多列(而不是超级列) -Super

10、类型 包含一系列超级列 SuperColumnColumn1Column2Column3ColumnN数据模型4)行 -以key为表示,一个key对应的数据可以分布在多个列族中5)键值空间 -数据最外层,键值空间是Cassandra哈希表的第一维,是列族的容器 RowColumnFamily 1ColumnFamily 2ColumnFamily N两级索引 第一级索引用一个 Row-Key 和 CF-Name 可以定位一个列族 第二级索引通过一个Column-Name可在一个列族中定位一个列 存储机制 优势-随机IO写变成顺序IO写,降低了大量的写操作对于存储系统所带来 的压力Bloom F

11、ilter算法-通过多个哈希函数将Key映射到一个位图中来快速判断这个Key属于 哪个SSTable 数据存储目录三种类型文件 -SSTable数据文件 -映射文件 -索引文件 存储机制 存储机制:三个列族的Key值先记录在 Commitlog中,Commitlog保存在独立磁盘 上-Memtable满足一定条件后批量刷新到磁 盘上,存储为SSTable-利用Bloom Filter算法定位Key所属块读/写删过程 1.Cassandra写入过程(1)客户端向Cassandra集群中单一随机节点发出写请求(2)此节点将作为代理节点,并根据复制放置策略(Replication Placement

12、 Strategy)将写请求发送到N个不同节点(3)这N个节点以“RowMutation”消息的形式接收到此写请求,节 点会执行以下两个操作:一是消息追加到CommitLog中以满足事务 性目的;二是将数据写入到Memtable(4)代理节点必须等待这N个不同节点中的某些节点写响应的返回, 才能将写操作成功的消息告诉客户端读/写删过程 Cassandra的写一致性水平(假设副本个数:n)分为三种情况 (1)ONE:确保写入到至少一个节点中的Commitlog和Memtable (2)QUORUM:确保至少写入到n/2+1个节点上 (3)ALL:确保写入到n个节点上节点数据复制策略:确保单点故障

13、不会导致整个集群不可用Cassandra的写具有以下几个特性 (1)关键路径上无任何锁 (2)表现出类似于写入式缓存(Write through cache),快速高效 (3)顺序磁盘访问 (4)只有Append操作,没有额外的读开销 (5)即使出现节点故障时也都总是可写 (6)只保证基于列族的原子性 读/写删过程 2. Cassadra读取过程 (1)客户端发送一个读请求到Cassandra集群中的单一随机节点(即存储代 理节点Storage Proxy) (2)该节点根据复制放置策略将读请求发送到N个不同节点 (3)收到读请求的节点都要合并读取SSTable和Memtable (4)代理节

14、点必须等待这N个不同节点中的某些节点读响应的返回,才能将 读操作成功的消息告诉客户端Cassadra的读一致性水平(假设副本个数为n)分为以下三种情况 (a)ONE:返回第一个响应的节点上面的数据,但不保证数据是最新的,通 过读修复和一致性检查可保证后续的调用能够读取最新的数据 (b)QUORUM:查询n个节点,返回至少n/2+1个节点上的最新数据 (c)ALL:查询n个节点,返回n个节点中的最新数据,一个节点失效将导致 读失败。读/写删过程 3. Cassadra删除过程分布式数据库在删除方面存问题:一个删除操作不可能一次性将数据 立即删除掉解决方案: -删除标记称为墓碑(Tombstone

15、)、常量GCGraceSecondsCassandra真正删除数据的过程是:当客户端从Cassandra中读取数据 的时候,节点在返回数据之前都会主动检查是否该数据被设置了 删除标记,并且该删除标志的添加时长已经大于GCGraceSeconds ,则要先删除该节点的数据再返回提 纲 简介 Cassandra Hive VoltDB 整体构架 (1)用户界面(UI):用户通过用 户界面提交查询及其他操作 (2)驱动器(Driver):接收用户 的查询请求 (3)编译器(Compiler):用来解 析查询 (4)元数据存储器(Metastore): 存储数据仓库中所有不同表和分 区的结构信息,包括

16、列和列类型 信息 (5)执行引擎(Execution Engine ):执行由编译器制订的计划查询流程图 数据模型 (1)表(Table) Hive中的表和关系数据库中的表的概念是相似的。表能被 过滤、投影、连接和合并 (2)分区(Partition) 每一个表可以有一个或几个分区键,键值决定了数 据是怎样存储 (3)桶(Bucket) 根据表中列的Hash值,每一个分区(Partition)中的数 据都可以被分割成几部分存储到几个Bucket中表和外表区别:表的创建过程和数据加载过程可以在同一个语句中完成。当 删除表时,表中的数据和元数据是一同被删除的。而外表只有一个过程,即 表的创建和加载是同时完成的。外表中,真正的数据是存储在(CREATE EXTERNAL TABLELOCATION)的LOCATION之后指定的HDFS路径中,而不是在 数据仓库的目录之中。当删除外表时,并不删除

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

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