- CRUD support.
- ACID compliance.
- Index held only in memory, useful for caching data.
- Index held in memory, with as disk backup.
- Index held in disk.
- Index held in disk, with working set held in memory.
- Durability guarantee using Write Ahead Logging.
- LSM based Multi-level storage on memory and/or disks.
- Index can be compose using:
- Type choice of key.
- Type choice of value.
- Type choice of memory data-structure. Type can be:
- Left leaning red black tree.
- Left leaning red black tree, with Multi-version-concurrency-control.
- Skip list, with concurrent writers.
- Type choice of disk data-structure.
- Read only Btree.
- Append only Btree.
- Centralised version control for index entries.
- Decentralised version control for index entries.
- Value, along with delta, can be stored in separate log files.
Milestones: