Skip to main content

Module storage

Module storage 

Source
Expand description

Storage utilities for graph data.

This module provides compression and encoding utilities:

  • dictionary - Dictionary encoding for strings with low cardinality
  • delta - Delta encoding for sorted integer sequences
  • bitpack - Bit-packing for small integers
  • bitvec - Bit vector for boolean compression
  • codec - Unified compression codec interface

§Compression Strategies

Data TypeRecommended CodecCompression Ratio
Sorted integersDeltaBitPacked5-20x
Small integersBitPacked2-16x
Strings (low cardinality)Dictionary2-50x
BooleansBitVector8x

§Example

use graphos_core::storage::{TypeSpecificCompressor, CodecSelector};

// Compress sorted integers
let values: Vec<u64> = (100..200).collect();
let compressed = TypeSpecificCompressor::compress_integers(&values);
println!("Compression ratio: {:.1}x", compressed.compression_ratio());

// Compress booleans
let bools = vec![true, false, true, true, false];
let compressed = TypeSpecificCompressor::compress_booleans(&bools);

Re-exports§

pub use bitpack::BitPackedInts;
pub use bitpack::DeltaBitPacked;
pub use bitvec::BitVector;
pub use codec::CodecSelector;
pub use codec::CompressedData;
pub use codec::CompressionCodec;
pub use codec::CompressionMetadata;
pub use codec::TypeSpecificCompressor;
pub use delta::DeltaEncoding;
pub use delta::zigzag_decode;
pub use delta::zigzag_encode;
pub use dictionary::DictionaryBuilder;
pub use dictionary::DictionaryEncoding;

Modules§

bitpack
Bit-packing for small integers.
bitvec
Bit vector for boolean compression.
codec
Unified compression codec enumeration.
delta
Delta encoding for sorted integer sequences.
dictionary
Dictionary encoding for string compression.