ChunkServer系统结构详细设计.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ChunkServer系统结构详细设计.docx

PAGE30 / NUMPAGES30 ChunkServer系统结构详细设计 编号文档版本修订章节修订原因修订日期修订人10.1全文新建2010-8-04曲山20.22.5.6修改Tablet子系统接口2010-8-10曲山30.32.6.2.2修改SSTableReader子系统2010-8-16段飞40.42.6.2.2修改SSTableReader子系统2010-8-17段飞51.0all根据后续调整修改文档2010-10-28曲山 系统设计 系统综述 ChunkServer存储系统所有表的静态数据部分,CS采用SSTable的形式存储表数据,按行排序好后存储。每个数据存储单位,称为Tablet,每个Tablet大小相当,负责一个表中某个范围内的数据。每个Tablet会复制为至少3个备份存放在不同的CS上。 ChunkServer还需接收UpdateServer的补丁文件,与本地的静态数据进行合并。 名词解释 OB:全称OceanBase,核心系统研发部的海量存储系统,一期解决淘宝的收藏夹应用; UPS:全称Update Server,OB系统更新子系统,通过主备保证可靠性; CS:全称Chunk Server,OB静态表系统,存储每天合并UPS更新数据生成的静态表; MS:全称MergeServer,OB系统中负责合并CS数据和UPS数据,形成最终结果返回给客户。 MemTable:内存表,UPS内存中通过MemTable实现每天更新数据的组织和查询。根据是否冻结又可区分为frozen Memtable和active Memtable; SSTable: static sorted table, 一个表格在某个范围某段时间内的数据。目前ChunkServer上的只保存SSTable数据 Tablet: 一个表格的的某个range全量数据SSTable + MemTable Commit Log:操作日志,UPS为了保证可靠性,首先将更新操作序列化到主备机的文件中,称为操作日志; API:全称client API,客户端通过API访问OB系统,UPS也可通过API访问CS静态表数据; UPS Master(Master):全称Update Server Master,处理实际读写请求的Update Server; UPS Slave(Slave):全称Update Server Slave,用于实时备份的Update Server; 性能指标 假设:16核Intel(R) Xeon(R) CPU E5520 @ 2.27GHz ,24GB内存,300GSAS * 6硬盘,3000W条记录,平均大小为300字节(假设100字节的收藏夹单条记录膨胀3倍)。 读性能:单机读取并发量 100/s,4个9的读取操作延时 59ms; 扫描性能:单行扫描并发量与读操作并发量相同,多行扫描带宽 30MB/s; 系统结构 表数据被切分成Tablet以后(大小相当),拷贝三份并均衡分布存储在不同的CS上。 客户端所有的查询请求,都先通过RootServer找到对应的CS后,在指定的CS读取具体的数据,会找到CS对应的MergeServer ,MergeServer会挑选一台距离最近,数据最新的CS进行查询,然后根据CS返回数据的版本,从UPS上取更新的数据进行合并后返回给客户端。 子系统设计 子系统划分 ChunkServer在逻辑上划分为如下子系统: 网络处理子系统: 负责网络数据的接收和发送,数据的解包,打包。 任务队列子系统: 处理网络子系统接收到的数据包,进行任务排队和任务调度。 接口子系统: 将任务队列里面的请求包,判定请求类型,检查参数合法性,并分解为对其他子系统的功能调用。 接口子系统还包括CS对外部系统的调用接口,比如汇报tablets,心跳信息,对UpdateServer的调用。 Tablet子系统: Tablet定位、查询对应SSTable的数据,并查询UPS中Memtable中的数据与之合并。同时根据schema中的join规则进行合并。 SSTable子系统 SSTable数据读取、SSTable文件的生成(按照SSTable的格式)以及in-memory的SSTable实现等 Cache子系统 管理系统中所有需要内存化的数据,提供淘汰机制。 每日合并子系统: 将CS上的SSTable静态数据与UPS上的动态更新数据做一个全量的合并,合并以后生成新的SSTable文件。 网络处理子系统 子系统描述 负责网络数据的接收和发送,并将接收到的数据解包反序列化为系统定义的消息,另外也负责将调用远程接口的

文档评论(0)

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

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

版权声明书
用户编号:8140007116000003

1亿VIP精品文档

相关文档