add compaction controller + simulator

Signed-off-by: Alex Chi Z <iskyzh@gmail.com>
This commit is contained in:
Alex Chi Z
2024-01-16 16:30:01 +08:00
parent 327f6badef
commit a9fca43f79
11 changed files with 349 additions and 143 deletions

View File

@@ -1,12 +1,21 @@
mod leveled;
mod tiered;
use std::sync::Arc;
use anyhow::Result;
pub use leveled::{LeveledCompactionController, LeveledCompactionTask};
pub use tiered::{TieredCompactionController, TieredCompactionTask};
use crate::{
iterators::{merge_iterator::MergeIterator, StorageIterator},
lsm_storage::LsmStorage,
table::{SsTable, SsTableBuilder, SsTableIterator},
};
use crate::iterators::merge_iterator::MergeIterator;
use crate::iterators::StorageIterator;
use crate::lsm_storage::LsmStorage;
use crate::table::{SsTable, SsTableBuilder, SsTableIterator};
pub enum CompactionTask {
Leveled(LeveledCompactionTask),
Tiered(TieredCompactionTask),
}
struct CompactOptions {
block_size: usize,