Skip to main content

Crate akar_storage

Crate akar_storage 

Source
Expand description

Akar storage engine.

Disk-based columnar storage with buffer management, WAL, compression, and indexing.

Re-exports§

pub use art_index::ArtPrimaryKeyIndex;
pub use art_key::ArtKey;
pub use column_chunk::ColumnChunk;
pub use column_chunk::NODE_GROUP_SIZE;
pub use group_commit::GroupCommitResult;
pub use group_commit::GroupCommitStats;
pub use group_commit::WalLike;
pub use index::HashIndex;
pub use index::IndexKey;
pub use index::OnDiskHashIndex;
pub use local_storage::LocalStorage;
pub use local_wal::LocalWAL;
pub use node_group::NodeGroup;
pub use page_manager::PageManager;
pub use persistence::TablePersistence;
pub use shadow_file::ShadowFile;
pub use spiller::MultiWayStreamMerge;
pub use spiller::SpillFile;
pub use spiller::Spiller;
pub use string_dictionary::StringDictionary;
pub use table::ColumnDefinition;
pub use table::NodeTable;
pub use table::RelTable;
pub use table::TableCatalog;
pub use undo_buffer::UndoBuffer;
pub use vector_index::VectorIndexTable;
pub use vector_index::extract_f64_list_from_value;
pub use wal::WalSink;
pub use wal_replayer::ReplayResult;
pub use wal_replayer::WALReplayer;
pub use wal::log_delete_record;
pub use wal::log_insert_record;
pub use wal::log_rel_insert_record;
pub use wal::log_update_record;

Modules§

art_index
ART (Adaptive Radix Tree) Primary Key Index.
art_key
Order-preserving byte encoding for ART (Adaptive Radix Tree) keys.
art_node
ART (Adaptive Radix Tree) node types with arena allocation.
buffer_manager
Buffer manager — manages in-memory page cache with Clock eviction policy.
checkpoint
Checkpoint logic — flushes WAL to main database files.
column
Columnar storage — page-based column with BufferManager-backed I/O.
column_chunk
ColumnChunk — in-memory buffer for a contiguous range of column values.
compression
Column compression algorithms.
csr
Compressed Sparse Row (CSR) Storage Format
csv_reader
CSV reader for the COPY FROM command.
free_space_manager
Free space manager for tracking reusable disk pages.
group_commit
Group commit — batches concurrent WAL flushes into a single fsync.
hyperloglog
HyperLogLog cardinality estimation.
ice_format
index
Hash index for primary key lookups — on-disk persistent + in-memory cache.
lazy_scanner
Lazy column scanner — loads NodeGroups on demand during iteration.
local_storage
Local storage — per-transaction write buffer before commit.
local_wal
LocalWAL — per-transaction in-memory WAL buffer.
node_group
NodeGroup — a fixed-size collection of ColumnChunks (one per column).
npy_reader
NumPy NPY file format reader.
page
Page and Frame types for the buffer manager.
page_manager
Page Manager — allocates and frees database pages.
parquet_reader
Parquet reader for the COPY FROM command.
parquet_writer
Parquet writer for the COPY TO command.
persistence
Durable column mirror for in-memory tables (P45.4).
predicate
Zone map predicate skipping for column scans.
roaring_bitmap
Roaring Bitmap — compressed bitset for node/edge ID sets.
shadow_file
Shadow file — copy-on-write versioning for pages during transactions.
spiller
Spiller — disk spilling and stream-merge for memory-constrained batch ingestion.
stats
Column statistics for cardinality estimation in the optimizer.
string_dictionary
String dictionary encoding for efficient string storage.
table
Table storage — columnar node/rel tables with NodeGroup-based storage.
undo_buffer
Undo Buffer — records old data before writes for transaction rollback.
update_info
UpdateInfo — MVCC version chain for column updates.
vector_index
Vector index table — wraps HnswIndex with BufferManager-backed persistence.
version_info
VersionInfo — per-node-group tracking of insert/delete visibility.
wal
Write-Ahead Log for crash recovery.
wal_replayer
WAL Replayer — reads the WAL file and applies records to recover state after a crash.

Structs§

BufferInfo
Buffer manager info returned by CALL bm_info().
FileInfo
File info returned by CALL file_info() / CALL disk_size_info().
FsmInfo
FSM info returned by CALL free_space_info().
StorageInfo
Storage info returned by CALL storage_info().
StorageManager
The storage manager — root of the storage engine.

Functions§

serialize_values_to_bytes
Serialize a row of values into the tagged binary format expected by deserialize_values_from_bytes (the WALRecord::Insert/Update payload format used for SQL-path WAL replay, P60.2).