[Sophia](http://sophia.systems) is advanced transactional [MVCC](http://en.wikipedia.org/wiki/Multiversion_concurrency_control) key-value/row storage library.
Optimized for Updates and Range-Scans. It can efficiently work with large volumes of ordered data, such as a time-series,
events, logs, counters, metrics, etc.
Features
- Full ACID compliancy
- Multi-Version Concurrency Control (MVCC) engine
- Optimistic, non-blocking concurrency with N-writers and M-readers
- Pure Append-Only
- Unique data storage architecture
- Multi-threaded (linear compaction scalability)
- Multi-databases support (sharing a single write-ahead log)
- Secondary indexes
- Multi-Statement and Single-Statement Transactions (cross-database)
- Serialized Snapshot Isolation (SSI)
- Persistent RAM Storage mode
- Anti-Cache Storage mode
- LRU Storage
- AMQ Filter (approximate member query filter) based on Quotient Filter
- Upsert (fast write-only 'update or insert' operation)
- Consistent Cursors
- Prefix search
- Duplicate compression
- Automatic garbage-collection
- Automatic key-expire
- Online/Versional database creation and asynchronous shutdown/drop
- Asynchronous Online/Hot Backup
- Compression (no fixed-size blocks, no-holes, supported: lz4, zstd)
- Compression for hot and cold data (distinct compression types)
- Optimizations for faster recovery with large datasets (snapshot)
- Easy to use (minimalistic API)
- Easy to write bindings (FFI-friendly)
- Easy to built-in (amalgamated source)
- Implemented as small C-written library with zero dependencies
- Carefully tested
- Open Source Software, BSD Licensed
Support
Sophia Documentation and Bindings for the most common languages are available on the website.
Please use Official Sophia Google Group or
StackOverflow to ask any general questions.
More information is available Here.