Here gather the long-term plans of Pegasus.
Objectives
Shrink the size of Pegasus kernel
Pegasus targets to be a simple, robust key-value database with stable&predictable latency. To achieve the performance requirement, we use C++ for the "kernel", i.e MetaServer and ReplicaServer.
However, C++ is notorious for its inefficiency (in development) and high learning curve, which eventually leads to a high contribution barrier.
We expect the C++ code base, including the functionalities of Pegasus kernel can be simpler, smaller, and more stable.
Build an ecosystem around Pegasus
As Pegasus grows, we have learned that its impossible to maintain a monolithic system bundled with sophiscated features. So we need an ecosystem with a variety of useful tools, controllers, surrounding the kernel and altogether manages the clusters more intelligently.
Key Results
[ ] admin-cli: use golang to build a more user-friendly administration command line tool.
[ ] meta-proxy: a stateless proxy in front of MetaServer that lets the users unware of the specific address of MetaServer.
[ ] pegasus-cpp-client: maintain the client as a separated project.
[ ] backup-manager: a service that manages backup externally.
[ ] bulkload-manager: a service that manages bulkload externally.
[ ] pegic: a command line tool that reads pegasus data in a user-friendly way.
[ ]