Expand description
§OxiRS TDB - Apache Jena TDB/TDB2 Compatible Storage Engine
Status: Production Release (v0.1.0) Stability: Public APIs are stable. Production-ready with comprehensive testing.
High-performance RDF triple store with B+Tree indexes, ACID transactions, and Apache Jena TDB/TDB2 API compatibility.
§Features
- B+Tree Storage - Efficient range queries and sequential scans
- Triple Indexes - SPO, POS, OSP for optimal query performance
- ACID Transactions - Write-Ahead Logging (WAL) with 2PL concurrency control
- Dictionary Encoding - Compress IRIs and literals to 8-byte NodeIDs
- Buffer Pool - LRU caching for hot pages
- 100M+ Triples - Scalable to large datasets
§Quick Start
use oxirs_tdb::TdbStore;
// Create a new TDB store
let mut store = TdbStore::open("/path/to/data")?;
// Insert triples
// store.insert(...)?;
// Query triples
// let results = store.query(...)?;
§Architecture
┌─────────────────────────────────────────┐
│ TdbStore (High-level API) │
└─────────────────┬───────────────────────┘
│
┌───────────┴───────────┐
│ │
┌─────▼─────┐ ┌──────▼──────┐
│ Indexes │ │ Dictionary │
│ SPO/POS/ │ │ Encoding │
│ OSP │ │ │
└─────┬─────┘ └──────┬──────┘
│ │
└───────────┬──────────┘
│
┌──────▼──────┐
│ B+Tree │
└──────┬──────┘
│
┌───────────┴───────────┐
│ │
┌─────▼─────┐ ┌──────▼──────┐
│ Buffer │ │ WAL │
│ Pool │ │ (Logging) │
└─────┬─────┘ └──────┬──────┘
│ │
└───────────┬──────────┘
│
┌──────▼──────┐
│ File Manager│
│ (mmap) │
└─────────────┘§See Also
oxirs-core- RDF data modeloxirs-arq- SPARQL query engine
Re-exports§
pub use backup_encryption::BackupEncryption;pub use backup_encryption::EncryptedData;pub use backup_encryption::EncryptionConfig;pub use bulk_operations::BulkStats;pub use bulk_operations::BulkTripleProcessor;pub use bulk_operations::ParallelPipelineBuilder;pub use bulk_operations::StreamingTripleIterator;pub use connection_pool::ConnectionPool;pub use connection_pool::ConnectionPoolConfig;pub use connection_pool::ConnectionPoolStatsSnapshot;pub use database_ops::CompactionStats;pub use database_ops::DatabaseMetadata;pub use database_ops::DatabaseOps;pub use database_ops::DatabaseStatus;pub use database_ops::RepairReport;pub use error::Result;pub use error::TdbError;pub use loader::BulkLoadStats;pub use loader::BulkLoader;pub use loader::BulkLoaderConfig;pub use loader::BulkLoaderFactory;pub use materialized_views::MaterializedView;pub use materialized_views::MaterializedViewConfig;pub use materialized_views::MaterializedViewManager;pub use materialized_views::MaterializedViewManagerStats;pub use materialized_views::RefreshStrategy;pub use materialized_views::ViewInfo;pub use observability::HealthCheck;pub use observability::HealthCheckResult;pub use observability::HealthCheckResults;pub use observability::HealthStatus;pub use observability::MetricSnapshot;pub use observability::ObservabilityConfig;pub use observability::ObservabilityManager;pub use observability::TraceSpan;pub use observability::TraceSpanId;pub use online_backup::OnlineBackupManager;pub use online_backup::OnlineBackupStats;pub use online_backup::Snapshot;pub use online_backup::SnapshotConfig;pub use online_backup::SnapshotId;pub use online_backup::SnapshotStatus;pub use query_resource_quota::QueryQuotaStats;pub use query_resource_quota::QueryResourceQuotaConfig;pub use query_resource_quota::QueryResourceQuotaManager;pub use query_resource_quota::QueryResourceTracker;pub use query_resource_quota::QueryResourceUsage;pub use store::CompressionAlgorithm;pub use store::ReplicationMode;pub use store::StoreParams;pub use store::StoreParamsBuilder;pub use store::StorePresets;pub use store::TdbConfig;pub use store::TdbStats;pub use store::TdbStore;pub use wal_archive::WalArchiveConfig;pub use wal_archive::WalArchiveMetadata;pub use wal_archive::WalArchiver;pub use wal_archive::WalArchiverStatsSnapshot;pub use wal_shipping::ShippingConfig;pub use wal_shipping::ShippingDestination;pub use wal_shipping::ShippingRecord;pub use wal_shipping::ShippingStats;pub use wal_shipping::ShippingStatus;pub use wal_shipping::WalShipper;
Modules§
- adaptive_
execution - Adaptive Query Execution
- advanced_
diagnostics - Advanced diagnostic tools for TDB store monitoring and analysis
- backup
- Backup and Restore Utilities for OxiRS TDB
- backup_
encryption - Backup Encryption for Data at Rest
- btree
- B+Tree implementation for key-value storage
- bulk_
operations - Bulk operations module for high-throughput RDF processing
- cloud_
storage - Cloud storage integration for TDB backups and data storage
- compression
- Advanced Compression Module for TDB Storage
- connection_
pool - Connection pooling for multi-client RDF database access
- connection_
pool_ optimizer - Advanced connection pool optimization features
- consensus
- Consensus Algorithms for Distributed Coordination
- database_
ops - Database operations and management utilities
- diagnostics
- Advanced diagnostic tools for TDB store
- dictionary
- Dictionary encoding for IRIs and Literals
- distributed
- Distributed Coordination and Replication
- error
- Error types for OxiRS TDB storage engine
- index
- Triple and quad index structures (SPO, POS, OSP, GSPO, GPOS, GOSP)
- loader
- Data loading utilities for OxiRS TDB
- materialized_
views - Materialized Views for Query Acceleration
- observability
- Observability module for comprehensive monitoring and metrics
- online_
backup - Online Backup Without Downtime
- performance
- Performance optimization module using SciRS2-Core
- production
- Production Hardening Features for OxiRS TDB
- query_
cache - Query result caching for improved performance
- query_
hints - Query hint support for optimization
- query_
join_ optimizer - Join Order Optimization for SPARQL Query Planning
- query_
monitor - Query monitoring for timeout enforcement and slow query logging
- query_
optimizer - Advanced query optimizer for TDB storage
- query_
resource_ quota - Query Resource Quota Management
- query_
timeout - Query Timeout Enforcement
- rdf_
star - RDF-star support for quoted triples
- recovery
- Crash recovery and corruption detection
- slow_
query_ log - Slow Query Logging and Analysis
- statistics
- Statistics collection for cost-based query optimization
- storage
- Low-level storage layer
- store
- High-level TDB store API
- transaction
- Transaction support for TDB storage engine
- wal_
archive - Write-Ahead Log Archiving for Point-in-Time Recovery
- wal_
shipping - Continuous WAL Shipping for Disaster Recovery
Constants§
- DEFAULT_
BUFFER_ POOL_ SIZE - Default buffer pool size (1000 pages = 4MB)
- DEFAULT_
PAGE_ SIZE - Default page size (4KB)
- VERSION
- TDB storage engine version