课时3kudu的底层存储原理-01_第1页
课时3kudu的底层存储原理-01_第2页
课时3kudu的底层存储原理-01_第3页
课时3kudu的底层存储原理-01_第4页
课时3kudu的底层存储原理-01_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、大数据进阶课程,第三讲:kudu的底层存储原理,讲师:Black,底层存储原理,1个Table包含多个Tablet,其中Tablet的数量是根据hash或者是range进行设置的。 1个Tablet中包含MetaData信息和多个RowSet信息,其中MetaData信息是block和block在data中的位置。 1个RowSet包含一个MemRowSet和多个DiskRowSet,其中MemRowSet用于存储insert数据和update后的数据,写满后会刷新到磁盘中也就是多个DiskRowSet中,默认是1G刷新一次或者是2分钟。 1个DiskRowSet用于老数据的mutation,

2、比如说数据的更新操作,后台定期对DiskRowSet进行合并操作,删除历史数据和没有的数据,减少查询过程中的IO开销。 1个DiskRowSet包含BloomFilter、Ad_hoc Index、UndoFile、RedoFile、BaseData、DeltaMem。 BloomFile:根据DiskRowSet中key生成一个bloom filter,用于快速模糊的定位某一个key是否在DiskRowSet中。 Ad_hoc Index:是主键的索引,用于定位key在DiskRowSet中具体哪个偏移位置。 BaseData:是MemRowSet flush下来的数据,按照列存储,按照主键

3、有序。 UndoFile:是BaseData之前的数据历史数据。 RedoFile:是BaseData之后的mutation记录,可以获得较新的数据。 DeltaMem:用于在内存中存储mutation记录,先写到内存中,然后写满后flush到磁盘,形成deltafile。,MemRowSet,实现方式:B+Tree,DiskRowSet,实现方式:二叉平衡树 内部数据组织:DeltaMem和MemRowSet在存在中的组织方式是一致的,都是B+Tree,在磁盘上的存储都是放在CFile文件中的,右图为CFile的文件格式 Cfile:包含Header,Data,Index,Footer四块,

4、Index有两种,posidx index是根据rowId找到Data中的偏移,validx index是根据key的值找到data中的偏移,validx只针对只有一个column为key的情况下,这个时候DiskRowSet是没有Ad_hoc索引的,使用validx来代替。这两个index内部实现了B-Tree,index不一定是联系的,在达到一定长度后就会刷盘,Footer是记录CFile的元数据,包括posidx_index,validx_index两棵树根节点所在位置,数据条目、编码、压缩方式等 压缩:对于ad_hoc文件使用的prefix,delta fle使用的是plain,blo

5、omfile使用的是plain,DiskRowSet,磁盘上每一个DiskRowSet有若*.metadata和*.data文件,metadata文件记录的是DiskRowSet的元信息,主要包括哪些block和block在data中的位置,左图为block和DiskRowSet中各部分的映射关系,在写磁盘时是通过container来写入,每个container可以写很大的一块连续的磁盘空间,用于给某一个CFile写数据,当一个CFile写完后会将container归还给BlockManager,这时container就可以用于下一个CFile写数据了,当BlockManager中没有container可用是会创建一个新的container给新的CFile使用。,对应新建block先看看是否有container可用,若没有,目前默认的是在所在的配置中的data_dir中随机选取一个dir建一个新的metadata和data文件。先写data,block落盘后再写metadata,MVCC,表的主键排序,受益于MVCC(Multi-Version Concurrency Control 多版本并发控制,一旦数据写入到MemRowSet,后续的reader能立马查询到,Compaction,minor compaction: 多个deltafile进行合并。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论