Sophia 2.1 Manual
Welcome to the Sophia 2.1 Manual.
Sophia is advanced Embeddable Transactional Key-Value Storage. Open-Source, available free of charge under terms of BSD License.
This manual is also available in PDF .
RAM-Disk Hybrid
Sophia has unique hybrid architecture that was specifically designed to efficiently store data using the combination of HDD, Flash and RAM.
Sophia allows to distinct Hot (read-intensive) and Cold data.
The data storage engine was created as a result of research and reconsideration primary algorithmic constraints of Log-file based data structures.
Write and Range Scan optimized. It can efficiently work with terrabyte-sized datasets.
Language bindings
Bindings for the most common languages are available here.
v2.1 features
- Full ACID compliancy
- Multi-Version Concurrency Control (MVCC) engine
- Pure Append-Only
- Multi-threaded (Both client access and near-linear compaction scalability)
- Multi-databases support (Single environment and WAL)
- Multi-Statement and Single-Statement Transactions (Multi-databases)
- Serialized Snapshot Isolation (SSI)
- Persistent RAM Storage mode
- Persistent Caching mode
- Anti-Cache Storage mode
- LRU Storage
- Separate storage formats: key-value (default), document (keys are part of value)
- Optional AMQ Filter (Approximate member query filter) based on Quotient Filter
- Async and sync reads (Callback triggered vs. blocking)
- Upsert: optimized write-only 'Update or Insert' operation
- Consistent Cursors
- Prefix search
- Prefix compression (Using key-part duplicates)
- Point-in-Time Views
- Online/Versional database creation and asynchronous shutdown/drop
- Asynchronous Online/Hot Backup
- Compression (Per region, no-holes, supported: lz4, zstd)
- Compression for Hot and Cold data (distinct compression types)
- Meta-data Compession (By default)
- Optimizations for faster recovery with big databases (Snapshot)
- Easy to use (Minimalistic API)
- Easy to integrate into a DBMS (Native support of using as storage engine)
- Easy to write bindings (FFI-friendly, API designed to be stable in future)
- Easy to built-in (Amalgamated, compiles into two C files)
- Event loop friendly
- Zero-Configuration (Tuned by default)
- Implemented as small C-written library with zero dependencies
- Carefully tested
- Open Source Software, BSD Licensed