Table of Contents:
Status: Draft
Authors:
- Goal 1
- Goal 2
- Non-goal 1
- Non-goal 2
SlateDB features and components that this RFC interacts with. Check all that apply.
- Basic KV API (
get/put/delete) - Range queries, iterators, seek semantics
- Range deletions
- Error model, API errors
- Transactions
- Snapshots
- Sequence numbers
- Time to live (TTL)
- Compaction filters
- Merge operator
- Change Data Capture (CDC)
- Manifest format
- Checkpoints
- Clones
- Garbage collection
- Database splitting and merging
- Multi-writer
- Compaction state persistence
- Compaction filters
- Compaction strategies
- Distributed compaction
- Compactions format
- Write-ahead log (WAL)
- Block cache
- Object store cache
- Indexing (bloom filters, metadata)
- SST format or block format
- CLI tools
- Language bindings (Go/Python/etc)
- Observability (metrics/logging/tracing)
- Latency (reads/writes/compactions)
- Throughput (reads/writes/compactions)
- Object-store request (GET/LIST/PUT) and cost profile
- Space, read, and write amplification
- Configuration changes
- New components/services
- Metrics
- Logging
- Existing data on object storage / on-disk formats
- Existing public APIs (including bindings)
- Rolling upgrades / mixed-version behavior (if applicable)
- Unit tests:
- Integration tests:
- Fault-injection/chaos tests:
- Deterministic simulation tests:
- Formal methods verification:
- Performance tests:
- Milestones / phases:
- Feature flags / opt-in:
- Docs updates:
List the serious alternatives and why they were rejected (including “status quo”). Include trade-offs and risks.
- Question 1
- Question 2
- Reference 1
- Reference 2
Log major changes to this RFC over time (optional).