You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

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.

[ ] 

  • No labels