Skip to content

MVTX: modular multi-version transactional key-value storage system

License

Notifications You must be signed in to change notification settings

mkaguilera/mvtx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LegoStore: Modular Multi-Version Transactional Key-Value Storage System v0.1

Overview

LegoStore is a modular distributed key-value storage system. In particular, LegoStore permits experimentation with different implementations for storage, transactional protocols, communication protocols, etc. Modularity is benefitial for two main reasons.

  1. Key-value storage systems that have a lot of similarities can share common infrastructure. For example, if two key-value storage systems implemented in top of LegoStore require the same consistency level, both can share the same concurrency control protocol implementation.
  2. LegoStore provides a common platform for efficiently comparing different implementations. In particular, developers might modify a specific module (e.g. storage module) and observe the difference in performance without touching any of the other modules (minimum changes required).

Developers can read a more detailed explanation of supported modules in the src directory. This README is oriented to explain installation and usage of LegoStore.

Prerequisites

Instructions are suitable for Ubuntu 16.04 (possibly for other Ubuntu distributions as well)

  • Protocol Buffers - This packet is needed for serialization/deserialization of data transfered from coordinators to servers and vice versa.
    You can download the source and follow the instructions here. Version >= 3.0.0 is needed.

  • Google RPC - This packet is needed for RPC from coordinators to servers.
    You can download the source and follow the instructions here

  • Package pkg-config - Needed for Google RPC.
    sudo apt install pkg-config

  • Packages flex and bison - Needed for parsing and executing user's commands (shell).
    sudo apt install flex bison

  • Package doxygen - Needed for generating documentation.
    sudo apt install doxygen

Installation

Simply follow the steps below.

  1. Download LegoStore from source (link missing).
  2. cd LegoStore
  3. make
  4. make shell for installing a shell that helps experimentation with LegoStore (optional).
  5. make docs for generating documentation (optional).

Usage

About

MVTX: modular multi-version transactional key-value storage system

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published