-
Notifications
You must be signed in to change notification settings - Fork 28
Home
Make Mako practical and usable by others.
We aim to provide a Redis-compatible API so that users can easily adopt MakoDB without modifying existing codebases.
Status:
Basic Redis client integration works — we can issue simple GET and PUT operations to MakoDB.
Next Steps:
- Evaluate the throughput of basic
PUT/GEToperations (non-transactional) to establish performance baselines. - Integrate the Redis interface with Mako’s transaction layer and expand operation support.
Progress:
- Compile Mako as a standalone third-party library (
libmako), similar to RocksDB. - Add a socket-based transport layer to the eRPC (DPDK) framework, removing the dependency on DPDK/RDMA for users.
Next Steps:
- In Progress: Make interfaces easy to use for users
- Improve robustness and long-term stability (no crashes or memory leaks)
- Add comprehensive test coverage
- Replace the eRPC layer with the our rrr framework.
We want users to define custom sharding strategies for their databases.
Status:
Currently, sharding is static; both the number of shards and the key-to-shard mapping (via a hardcoded hash function) must be configured at startup.
Next Steps:
- Allow users to specify sharding policies dynamically
We aim to persist data to disk so Mako can handle datasets larger than main memory.
Status:
All in-memory data are backed up to RocksDB on disk. A watermark mechanism controls visibility for clients. However, all active data still reside in memory.
In Progress: Zeyu is working on persist Raft's in-memory data into disk, and can guarantee avaialbility after crash
Next Steps:
- Stress-test large-scale persistence to fully utilize disk bandwidth.
- Design hybrid access paths that serve reads from both disk and memory.
- Support full database reload from disk.
Mako’s current Paxos implementation is outdated. Our Janus framework already supports modern Paxos and Raft implementations with richer features.
In Progress: Krish is integrating the latest Janus replication framework into Mako.