n-ozerov commented :
Updated link. I’ve just found that many of text\images rely on Compaction · facebook/rocksdb Wiki · GitHub
Manual Compaction · facebook/rocksdb Wiki · GitHub
Delete A Range Of Keys · facebook/rocksdb Wiki · GitHub
DeleteRange: A New Native RocksDB Operation | RocksDB
Implement Queue Service Using RocksDB · facebook/rocksdb Wiki · GitHub (CompactOnDeletionCollector)
Column Families · facebook/rocksdb Wiki · GitHub
The most interesting pages are 44-64, 75-87.
"Request cursor statistics after range iteration. If the amount of missing data has exceeded threshold to run compaction for a given range.
DeleteFilesInRange, allows you to delete files keys in which are completely within the specified range"
“In the classic engines for each container (data or index) there is one tree. In MongoRocks, one LSM tree for all” – picture on page 80
“RocksDB supports many LSM trees (column families) united by journal WAL to ensure transactional. Originally made and applied with the expectation of Mysql. MongoRocks should have one LSM tree for one prefix”
I’ve found a few feature requests where people asked about column families and got rejected, so it would be better to focus on LSM compaction.
As far as i understood, if iterator notices huge range of tombstones it forces compactions in this range. Is it possible to implement in Badger?