Skip to content

Implementation of a Key-Value store that is inspired by Cassandra's architecture to be named "Zarka".

Notifications You must be signed in to change notification settings

MohamedMetwalli5/Zarka

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

License Language

Zarka

The Topology for Zarka

image

Features

  1. LSM-Tree needs is used as our storage data structure.
  2. Consistent Hashing is used as our partition rebalancing strategy (Only adding a new node should be supported).
  3. Leaderless replication is used with configurable quorum sizes.

The Operations and Data Flow

Zarka have two kinds of applications:

  • Zarka Server: a node that holds data partitions and replicas. You should provide enough logs in the console so your TA can see the state of the server (e.g., received requests, incoming data, replicas created, …. etc.)
  • Zarka Client: a command line interface where user can send two types of requests:
    • add( key, value)
    • get( key )

Both key and value are string values.
Zarka Client will pick any Zarka Server nodes at random and it will be the coordinator to execute his request.

The Configuration File

There is a configuration file used by all nodes to define system parameters such as:

  • Number of Nodes
  • TCP ports for the nodes
  • Quorum Write
  • Quorum Read
  • Replication Factor

Its Created Logo

Zarka

About

Implementation of a Key-Value store that is inspired by Cassandra's architecture to be named "Zarka".

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages