OB数据库memory table、sstable数据组织方式

【 使用环境 】生产环境
【 OB or 其他组件 】OB
【 使用版本 】OBCE-4.2.2
【问题描述】
1、ob memorytable 数据是怎么组织存放的?索引是怎么组织存放的?
2、ob sstatble 数据是怎么组织存放的?索引是怎么组织存放的?

数据库存储与索引技术(二) 分布式数据库基石——LSM树

OceanBase 社区1favhrl_gaMjAxODUwMDg2Ni4xNzIwNTA0NDU0_ga_T35KTM57DZ*MTcyMDY3NjQ0MS42LjEuMTcyMDY4ODk0NC4zNy4wLjA.

https://open.oceanbase.com/blog/8600130
https://open.oceanbase.com/blog/1815380224
https://open.oceanbase.com/blog/6570241808
https://open.oceanbase.com/blog/7216584224
内存:btree+hash table+rowkey->trannodes
磁盘:sorted string table

转储就是迭代器扫描trannodes,构造fuse row,若干个fuse row会组成sorted string table落盘变成mini sst
合并就是所有的sstable归并排序成一个大的sstable

1 个赞

磁盘上面的数据组织可以看这个系列的博客https://open.oceanbase.com/blog/8000131,OB是一个原生分布式数据库,设计还是非常复杂的,想要深入一点了解的话只能去github上看源码了。