Module wal

Module wal 

Source
Expand description

Write-Ahead Logging (WAL) for V2 clustered edge format.

This module implements high-performance WAL specifically designed for SQLiteGraph’s V2-native clustered edge file format, providing transactional durability, crash recovery, and 5-10x write throughput improvement through sequential I/O patterns.

§Architecture

The WAL system is designed around V2’s clustered edge architecture:

  • Cluster-Affinity Logging: Groups operations by cluster to maintain I/O locality
  • Sequential Write Patterns: Leverages V2’s natural clustering for optimal throughput
  • Incremental Checkpointing: Progressive dirty block flushing for sustained performance

§Performance Targets

  • Write Throughput: 5-10x improvement over current V2 format
  • Commit Latency: <1ms for small transactions
  • Recovery Time: <1 second per 100MB WAL
  • Space Overhead: <15% additional storage
  • Read Overhead: <5% performance impact

Re-exports§

pub use bulk_ingest::BulkIngestConfig;
pub use bulk_ingest::BulkIngestExt;
pub use bulk_ingest::BulkIngestGuard;
pub use bulk_ingest::BulkIngestMetrics;
pub use checkpoint::V2WALCheckpointManager;
pub use graph_integration::GraphOperationResult;
pub use graph_integration::GraphWALIntegrationConfig;
pub use graph_integration::NodeRecordV2WALExt;
pub use graph_integration::OperationMetrics;
pub use graph_integration::V2GraphWALIntegrator;
pub use manager::TransactionIsolation;
pub use manager::V2WALManager;
pub use manager::WALManagerMetrics;
pub use metrics::V2WALMetrics;
pub use metrics::WALPerformanceCounters;
pub use performance::AdaptivePerformanceTuner;
pub use performance::ClusterAffinityOptimizer;
pub use performance::ClusterAffinityStats;
pub use performance::CompressionAlgorithm;
pub use performance::CompressionStats;
pub use performance::IOBatcher;
pub use performance::IOBatcherStats;
pub use performance::PerformanceConfig;
pub use performance::WALRecordCompressor;
pub use reader::V2WALReader;
pub use record::V2WALRecord;
pub use record::V2WALRecordType;
pub use record::WALSerializationError;
pub use recovery::V2WALRecoveryEngine;
pub use transaction_coordinator::IsolationLevel;
pub use transaction_coordinator::LockType;
pub use transaction_coordinator::ResourceId;
pub use transaction_coordinator::TransactionId;
pub use transaction_coordinator::TransactionState;
pub use transaction_coordinator::V2TransactionCoordinator;
pub use v2_integration::ChangeTracker;
pub use v2_integration::V2IntegrationConfig;
pub use v2_integration::V2WALIntegrator;
pub use writer::V2WALWriter;

Modules§

bulk_ingest
Bulk Ingest Mode for V2 WAL System
checkpoint
V2 WAL Checkpoint Module
graph_integration
V2 WAL integration with graph file operations.
lsn
Log Sequence Number (LSN) utilities
manager
V2 WAL manager for orchestrating read/write operations.
metrics
V2 WAL performance metrics and monitoring - Modular Implementation.
performance
V2 WAL performance optimization components.
reader
V2 WAL reader for log reading and recovery operations.
record
V2 WAL record types and serialization.
recovery
V2 WAL Recovery Module
transaction_coordinator
V2 WAL Transaction Coordinator for Multi-Transaction Management
v2_integration
V2 WAL Integration Layer
writer
V2 WAL writer with sequential write patterns and cluster-affinity logging.

Structs§

V2WALConfig
V2 WAL configuration parameters
V2WALHeader
WAL file header for format identification and metadata