Code Monkey home page Code Monkey logo

armingdb's Introduction

armingDB

This is an open souce key-value db based on Tokyocabinet. It implements some simple operations for the moment, there will be more soon. These operations are as followd:

  1. open filename - EX:open db.hdb
  2. set key value - EX:set 100 helloworld
  3. get key - EX:get 100
  4. delete key - EX:delete 100
  5. close - leave xm.db
  6. help - list cmds info
  7. exit - exit from the program

add C/S structure.

The server and the client can be on different machines, they can communicate with each other through TCP connection. It supports the same operations as the above.

Support multithread and I/O multiplexing

Multi-clients can operate on the same Database file, and different clients can open different db files.

Support distribute db server

You can start more than one db servers, and the client saves or gets data from different db servers. However you must let the clients know all the db server nodes, then you can connect with them. Our next goal is to support auto-adapt, in that clients can get the server nodes when connecting.

Now it support distribute servers

Client can get all the cluster server nodes from the master server, and save value on different servers. And it supports consistent hash. However, it doesn't support adding server node during other server nodes running, and remove one node.

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.