当外部生成的sst文件与rocksdb实例的block_size不一致时,导入的sst文件可以正常参与数据的查询修改删除等操作,sst文件不会有问题。
在rocksdb进行compact操作时,会进行文件合并、LSM Tree层级下移,这个过程会让sst文件都保持相同的block_size的(这个描述的准确性还得大佬 @critical27 帮忙确认下 )。 至于ingest过程中会不会对sst文件的block_size进行重新分配,目前还没看到有资料提到,要看下rocksdb DB::IngestExternalFile()代码。
2 个赞