Coder Social home page Coder Social logo

hydrakv's Introduction

hydrakv

29/11 update

  • Focus moved from distribution of work to the storage and retrieval aspects of db design
  • Will look to implement a WAL and scalable storage platform

<

HydraKV is a simple key value store for learning purposes.

Longer term learning opportunities include having read only distributed slaves

Sketch

Operations

  • PUT -> Put key and value into dataset
  • GET -> Get value from dataset
  • DELETE -> Delete k,v from dataset
  • GETALL -> Get all keys in dataset

TODO

  • Write ahead log
  • Remove JSON and have hydra storage 'engine'
  • Separate DB server elements from public API elements
  • Multiple Datasets
  • LOAD from JSON
  • DUMP to JSON
  • Put operator
    • If you put an existing key what happens?
      • Should overwrite, TODO
  • Get operator
  • Delete operator
  • Figure out how to do operators while checkpointing to file
    • Optimise?
  • Get all operator
  • Master write
  • Slave read

Distribution

Master

  • Handles all PUT, DELETE operations
  • Interfaces client connection and sends to slave for read
  • Sends WAL stream

Slave

  • Handles all read operations
  • Register with Master
  • Reads WAL stream and implements on local db

hydrakv's People

Contributors

mpbxyz avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.