Sedna设计与实现.ppt

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Sedna 设计和实现 报告人:代栋 Sedna 介绍 Sedna是一种基于内存的分布式文件系统,数据存储是以键值对为单位的,其部署在大量个人电脑组成的数据中心中 Sedna提供了: 提供更快速的随机读、写能力 无锁写以及不同的写冲突处理方法 读触发器 MapReduce和Streaming处理支持 自定义持久化方案 易于部署在已有数据中心中 Sedna 设计思路 使用内存进行存储的特点 比较而言,内存提供的存储能力远远低于磁盘,因此获得合适的存储容量,需要较多的服务器数量。 内存中存储的数据是易失的,因此需要特别的方式来保证数据可靠性。 使用键值对存储数据的特点 单条数据较小,比较适合小数据存储 平整的名字空间,需要额外的扩展来支持层次结构 数据中心中存储的特点 数据中心存储应具备动态扩放性 Sedna 架构 由三部分构成 Sedna Service 运行在集群的每一台服务器上,提供文件系统接口、维护本机在Sedna集群中的状态。 Local Memory Storage 运行在每一台服务器上,为Sedna提供本地内存存储服务。在Sedna中,我们使用了Memcached作为本地内存存储。 ZooKeeper Service 运行在集群中的某些机器中,为整个服务器提供元数据服务和分布式锁服务。 Sedna 实现 - Service Quorum协议 – 多备份 基于多数成功的写协议 Timestamps – 写冲突 两种写冲突处理方案。“最后写有效”和“所有写有效” ZooKeeper – 分布式锁 ZooKeeper客户端编程 多线程 线程池 Sedna 实现 数据分配 按Key做Hash来分配数据 使用虚节点防止热点出现 节点加入、离开管理 节点加入,向ZooKeeper注册,之后保持心跳 节点离开,自动删除ZooKeeper中节点。为了防止惊群效应不做触发器 NIO – 异步处理 尽量使用异步处理 Sedna 性能 由于Sedna是基于内存的存储系统,其与其它分布式磁盘文件系统相比速度优势明显,因此我们和Memcached比较。 Memcached是一种基于键值对的缓存系统,大量在一些大规模网站中使用,作为缓存层,提高用户的数据访问速度 Memcached不具备分布式特征,同样也是Sedna用来做本地存储的组件。通过和Memcached比较可以获得Sedna的设计和实现中的性能瓶颈 Sedna 性能 – Memcached 和 Sedna 对比 Sedna 性能 – 并发/单 读写性能对比 Sedna 使用接口 目前只提供Java接口 使用非常简单 代码例子 ? Sedna 后续工作和计划 触发器的实现… MapReduce支持的完成… Streaming Processing支持的完成… 性能优化… 欢迎有兴趣的同学一起来开发。

您可能关注的文档

文档评论(0)

00625 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档