Skip to content

Test distributed key-value store based on consistent hashing.

Notifications You must be signed in to change notification settings

ashikmeerankutty/magneto-db

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Magneto DB

Test key-value store designed based on Consistent Hashing and Bounded loads research paper. Consistent hashing was used to distribute data across multiple nodes in the cluster. The communication channel was implemented using JAVA NIO Socket Channel. A cluster was simulated using docker for testing. The store client supports get and put operations. This system also does partitioning, replication and failure handling. The store is in-memory.

How to Run

Spin up docker containers of 5 nodes and 1 client

 docker-compose up --scale node=5 --build

Master Node

 java -jar magneto-db.jar master 5670

Other Nodes

 java -jar magneto-db.jar node 5671
 java -jar magneto-db.jar node 5672
 java -jar magneto-db.jar node 5673
 java -jar magneto-db.jar node 5674

Client connect to master node

 java -jar magneto-client.jar localhost 5670

Screenshots

Master Shell

Master Shell

Partition Shell

Partition Shell

Put Operation

Put Operation

Replication Shell

Replication Shell

About

Test distributed key-value store based on consistent hashing.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published