Skip to content

A high-performance distributed key-value database that uses a gossip and gRPC-based communication system for low-latency data transactions.

Notifications You must be signed in to change notification settings

randyttruong/randy-kv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Randy-KV

RandyKV is a distributed, in-memory key-value database that utilizes gossip-based communication and randomized hashing for effective load balancing.

Architecture

RandyKV is built on top of a gossip-based communication protocol. As such, it requires nodes that exchange data with aid from a node discovery service. In RandyKV, there is a single type of node, called an agent, that is able to participate in the system by both sending (pushing) and receiving (pulling) data.

In order to participate in the system, an agent must communicate with the node discovery service, which is a backend service that maintains global state of all participating nodes in the system.

  • Agents, which maintain central database logic, are implemented using C++
  • Node discovery, which maintains global state of all existing nodes, is implemented in TypeScript (NestJS), using Google's gRPC.

About

A high-performance distributed key-value database that uses a gossip and gRPC-based communication system for low-latency data transactions.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published