1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
//! SSTables are immutable, sorted files that store data on disk.
//! They are the primary storage format for TurboKV.
//!
//! ```text
//! ┌─────────────────────────────────────────────────────────────┐
//! │ SSTable File Structure │
//! ├─────────────────────────────────────────────────────────────┤
//! │ │
//! │ ┌─────────────────────────────────────────────────────┐ │
//! │ │ Data Blocks │ │
//! │ │ ┌──────────────────────────────────────────────┐ │ │
//! │ │ │ Block 1 (Default: 16KB) │ │ │
//! │ │ │ ┌─────────────────────────────────────────┐ │ │ │
//! │ │ │ │ Entry 1: [key_len][key][value_len][val] │ │ │ │
//! │ │ │ │ Entry 2: [key_len][key][value_len][val] │ │ │ │
//! │ │ │ │ ... │ │ │ │
//! │ │ │ │ Entry N: [key_len][key][value_len][val] │ │ │ │
//! │ │ │ └─────────────────────────────────────────┘ │ │ │
//! │ │ │ Block Footer: [compression][crc32] │ │ │
//! │ │ └──────────────────────────────────────────────┘ │ │
//! │ │ Block 2... │ │
//! │ └─────────────────────────────────────────────────────┘ │
//! │ │
//! │ ┌─────────────────────────────────────────────────────┐ │
//! │ │ Index Block │ │
//! │ │ ┌──────────────────────────────────────────────┐ │ │
//! │ │ │ Index Entry 1: [last_key][offset][size] │ │ │
//! │ │ │ Index Entry 2: [last_key][offset][size] │ │ │
//! │ │ │ ... │ │ │
//! │ │ └──────────────────────────────────────────────┘ │ │
//! │ └─────────────────────────────────────────────────────┘ │
//! │ │
//! │ ┌─────────────────────────────────────────────────────┐ │
//! │ │ Bloom Filter │ │
//! │ │ [filter_data][num_probes][bits_per_key] │ │
//! │ └─────────────────────────────────────────────────────┘ │
//! │ │
//! │ ┌──────────────────────────────────────────────────────┐ │
//! │ │ Footer │ │
//! │ │ [index_offset][index_size][bloom_offset][bloom_size]│ │
//! │ │ [magic_number][version][checksum] │ │
//! │ └──────────────────────────────────────────────────────┘ │
//! └─────────────────────────────────────────────────────────────┘
//! ```
pub use ;
pub use ;
pub use ;
pub use SSTableIterator;
pub use SSTableReader;
pub use ;
pub use SSTableWriter;