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§
- V2WAL
Config - V2 WAL configuration parameters
- V2WAL
Header - WAL file header for format identification and metadata