Skip to content

prakharsharma/kvproxy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 

Repository files navigation

Introduction
===========================

The purpose of this project is to let users very quickly create proxy for a
key, value store. The objectives are following: -

1. To be generic in terms of data (oblivious of key, values stored in store)
2. To be generic in terms of communication protocol (TCP/UDP/shared mem
   whatever)
3. To be exteremely light weight,
4. To be extremely fast, and
5. Laser focus on developer efficiency (new user should be able to setup
solution to his non trivial use case in matter of handful of hours)

#1 is attained by using Google protobufs
#2 and #3 are attained by using ZMQ
#5 is attained by use of standard protocols and well established products.

Why Google protobufs ?
===========================


Why ZMQ ?
===========================


Customization options ?
===========================

1. Data store driver, e.g. Berkeley driver, LevelDB driver.
2. Lookup module driver; to override default behavior of directly looking up a
   key on key-value store.
3. Data driver; for fetching information from user's proto fomrat.

It does not matters how that key, value store is being implemented. It can
be a berkeley db, dbm, LevelDB, or anything. Just implement a driver for your
key-value store and you are good to go. For being generic, Google
protobufs are used throughout for data interchange. For being fast, ZMQ is
used for providing communication library between client and server. As
protobuf and ZMQ bindings are avaialble for all the major languages, so
developer is free to write client in any of these languages. Developer can
insert his business logic on the server (lookup module). For the
time being, this has to be in C++. Choice of ZMQ also liberates our
framework from a single communication protocol (TCP/PGM/ipc). This means user is
free to make his own decision depending on latency and reliability
requirements of his application.

About

Fast light weight proxy service for key value stores

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published