Crate vortex_btrblocks

Crate vortex_btrblocks 

Source
Expand description

Vortex’s BtrBlocks-inspired adaptive compression framework.

This crate provides a sophisticated multi-level compression system that adaptively selects optimal compression schemes based on data characteristics. The compressor analyzes arrays to determine the best encoding strategy, supporting cascaded compression with multiple encoding layers for maximum efficiency.

§Key Features

  • Adaptive Compression: Automatically selects the best compression scheme based on data patterns
  • Type-Specific Compressors: Specialized compression for integers, floats, strings, and temporal data
  • Cascaded Encoding: Multiple compression layers can be applied for optimal results
  • Statistical Analysis: Uses data sampling and statistics to predict compression ratios
  • Recursive Structure Handling: Compresses nested structures like structs and lists

§Example

use vortex_btrblocks::BtrBlocksCompressor;
use vortex_array::Array;

let compressor = BtrBlocksCompressor::default();
// let compressed = compressor.compress(&array)?;

Structs§

BtrBlocksCompressor
The main compressor type implementing BtrBlocks-inspired compression.
FloatCompressor
Compressor for floating-point numbers.
FloatStats
Array of floating-point numbers and relevant stats for compression.
GenerateStatsOptions
Configures how stats are generated.
IntCompressor
Compressor for signed and unsigned integers.
IntegerStats
Array of integers and relevant stats for compression.
StringCompressor
Compressor for strings.
StringStats
Array of variable-length byte arrays, and relevant stats for compression.

Traits§

Compressor
A compressor for a particular input type.
CompressorStats
Stats for the compressor.
Scheme
Top-level compression scheme trait.

Functions§

compress_temporal
Compress a temporal array into a DateTimePartsArray.
float_dictionary_encode
Compresses a floating-point array into a dictionary arrays according to attached stats.
integer_dictionary_encode
Compresses an integer array into a dictionary arrays according to attached stats.