欢迎来到天天文库
浏览记录
ID:642386
大小:70.44 KB
页数:30页
时间:2017-08-25
《chunkserver系统结构详细设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、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曲山1系统设计1.1系统综述ChunkServer存储系统所有表的静态数据部分,CS采用SSTable的形式存储表数据,按行排序好后存储。每个数据存储单位,称为Table
2、t,每个Tablet大小相当,负责一个表中某个范围内的数据。每个Tablet会复制为至少3个备份存放在不同的CS上。ChunkServer还需接收UpdateServer的补丁文件,与本地的静态数据进行合并。1.2名词解释OB:全称OceanBase,核心系统研发部的海量存储系统,一期解决淘宝的收藏夹应用;UPS:全称UpdateServer,OB系统更新子系统,通过主备保证可靠性;CS:全称ChunkServer,OB静态表系统,存储每天合并UPS更新数据生成的静态表;MS:全称MergeServer,OB系统中负责合并CS数据和UPS数据,形成最终结果返回给
3、客户。MemTable:内存表,UPS内存中通过MemTable实现每天更新数据的组织和查询。根据是否冻结又可区分为frozenMemtable和activeMemtable;SSTable:staticsortedtable,一个表格在某个范围某段时间内的数据。目前ChunkServer上的只保存SSTable数据Tablet:一个表格的的某个range全量数据SSTable+MemTableCommitLog:操作日志,UPS为了保证可靠性,首先将更新操作序列化到主备机的文件中,称为操作日志;API:全称clientAPI,客户端通过API访问OB系统,UP
4、S也可通过API访问CS静态表数据;UPSMaster(Master):全称UpdateServerMaster,处理实际读写请求的UpdateServer;UPSSlave(Slave):全称UpdateServerSlave,用于实时备份的UpdateServer;30/301.1性能指标假设:16核Intel(R)Xeon(R)CPUE5520@2.27GHz,24GB内存,300GSAS*6硬盘,3000W条记录,平均大小为300字节(假设100字节的收藏夹单条记录膨胀3倍)。读性能:单机读取并发量>100/s,4个9的读取操作延时<59ms;扫描性能:
5、单行扫描并发量与读操作并发量相同,多行扫描带宽>30MB/s;1.2系统结构表数据被切分成Tablet以后(大小相当),拷贝三份并均衡分布存储在不同的CS上。客户端所有的查询请求,都先通过RootServer找到对应的CS后,在指定的CS读取具体的数据,会找到CS对应的MergeServer,MergeServer会挑选一台距离最近,数据最新的CS进行查询,然后根据CS返回数据的版本,从UPS上取更新的数据进行合并后返回给客户端。2子系统设计2.1子系统划分30/30ChunkServer在逻辑上划分为如下子系统:网络处理子系统:负责网络数据的接收和发送,数据的
6、解包,打包。任务队列子系统:处理网络子系统接收到的数据包,进行任务排队和任务调度。接口子系统:将任务队列里面的请求包,判定请求类型,检查参数合法性,并分解为对其他子系统的功能调用。接口子系统还包括CS对外部系统的调用接口,比如汇报tablets,心跳信息,对UpdateServer的调用。Tablet子系统:Tablet定位、查询对应SSTable的数据,并查询UPS中Memtable中的数据与之合并。同时根据schema中的join规则进行合并。30/30SSTable子系统SSTable数据读取、SSTable文件的生成(按照SSTable的格式)以及in-
7、memory的SSTable实现等Cache子系统管理系统中所有需要内存化的数据,提供淘汰机制。每日合并子系统:将CS上的SSTable静态数据与UPS上的动态更新数据做一个全量的合并,合并以后生成新的SSTable文件。1.1网络处理子系统1.1.1子系统描述负责网络数据的接收和发送,并将接收到的数据解包反序列化为系统定义的消息,另外也负责将调用远程接口的数据包序列化为数据流并发送给远端。网络子系统需要自己管理多个Connection,(包括一个被动Accetpor和多个数据链接),并处理这些Connection上的事件(网络事件和超时事件).当网络子系统从网
8、络上接收到数据时,会将数
此文档下载收益归作者所有