Sophia is an embeddable, transactional key-value database.
It has unique architecture that was created as a result of research and reconsideration primary algorithmic constraints of Log-file based data structures, such as LSM-tree. (see architecture)
Sophia is designed for fast write (append-only) and read (range query-optimized, adaptive architecture) small to medium-sized key-values.
–
- Full ACID compliancy
- Multi-Version Concurrency Control (MVCC) engine
- Pure Append-Only
- Multi-databases support (Single environment and WAL)
- Multi-Statement and Single-Statement Transactions (SERIALIZED view, multi-databases)
- Multi-threaded (Client access and Engine scalability)
- Consistent Cursors
- Point-in-Time Snapshots
- Asynchronous Online/Hot Backup
- Easy to use (Clean and functional API)
- Easy to integrate (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, only two C files needed for work)
- Implemented as small C-written library with zero dependencies
- BSD Licensed