圣光庇佑我
#1
【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】4.x
【问题描述】对于OB现在的磁盘存储模型有一些疑问,OB现在将磁盘上的基线数据通过一个大文件block_file管理,内部划分为2M的宏块去进行分配使用,这样由于宏块可能不连续导致SSTable变成了一个逻辑上的概念,请问这样的设计带来了什么好处,和SSTable单文件管理相比是否会对Range Scan的性能产生影响,影响多大,是否大文件宏块设计是读性能和合并速度的一种trade off?此外4.x的ob_admin工具dumpsst需要指定宏块ID,这个是从哪里获得的,自己的工具一直报错
【复现路径】
【问题现象及影响】
【附件】
叮咚叮咚
#3
圣光庇佑我
#6
ob_admin dumpsst -d macro_block -f ./store
圣光庇佑我
#8
好的谢谢您,已经可以正确显示了,在我连续发起两次转储后,发现第一次生成了minor sstable,第二次生成了mini sstable,在您提到的系统表中这两个sstable的宏块ID是相同的,所以一个宏块是可以被多个SSTable共用的吗
镜水
#9
4.1有小sstable的优化,可以允许不同的sstable数据存在同一个宏块里
圣光庇佑我
#10
好的谢谢,那请问不连续的SSTable读取性能不会有影响吗
镜水
#11
目前有中间层索引来索引定位sstable和宏块的位置,可以理解为使用了B+Tree来加速元数据的查找
donghy
#13
show tables看不到,但是直接查询有这个表的