Giter Site home page Giter Site logo

distkv-project / distkv Goto Github PK

View Code? Open in Web Editor NEW
80.0 15.0 23.0 2.41 MB

A light weight distributed key-value database system with table concept.

Home Page: https://distkv.com/

License: BSD 3-Clause "New" or "Revised" License

Java 97.62% Shell 0.33% ANTLR 0.62% Batchfile 0.07% Dockerfile 0.04% Python 0.64% CMake 0.11% C++ 0.56%
distributed-systems kvstore consistency newsql cloud-struct databases table-concept

distkv's Introduction

distkv build codebeat badge codecov

A distributed key-value database system with table concept.

Project Description

Distkv project is a distributed key-value database system. Besides these features, Distkv supports table concept which looks like tables in relational databases. It also supports a rich ecosystem, named Pine, which has many easy-to-use and out-of-the-box components for Web application and micro-service.

Full document is https://distkv.com

Awesome Features

  1. Redis-like data structure
  2. Table concept based on kv store
  3. Strong consistency model
  4. Easy to use clients
  5. Strong ecosystem for Web application and micro-service

Quick Started

1. Install Distkv

First make sure you have the python environment.

Then running the following command to install the Distkv locally:

pip install -e deploy/python -v

2. Start Distkv server

Running the following command to start the Distkv server.

$ dkv-server

3. Start Distkv command line tool

Running the following command to start the command line tool of a Distkv client.

$ dkv-cli

4. Command Line Tool

Once you started the command line tool dkv-cli successfully, type the following command to enjoy the trip of Distkv.

dkv-cli > list.put "k1" "v1" "v2" "v3"
dkv-cli > ok
dkv-cli > list.get "k1"
dkv-cli > ["v1", "v2", "v3"]

dkv-cli > int.put "k1" 1
dkv-cli > ok
dkv-cli > int.incr "k1" 2
dkv-cli > ok
dkv-cli > int.get "k1"
dkv-cli > 3

Client SDK

Now we support both Java Client SDK and Java Async Client SDK. We are working in progress to support other languages SDK.

Configure you dependency of Distkv client in pom.xml:

<dependency>
    <groupId>com.distkv</groupId>
    <artifactId>distkv-client</artifactId>
    <version>0.1.3</version>
</dependency>

To use Distkv client in Java, see the following examples:

Who Is Using

Getting Involved

Thank you for your attention to the Distkv project. If you have any questions, you can create a new issue in our Issues list. We also welcome you to participate in our Distkv project, if you want to make contributions, you can refer the file CONTRIBUTING.md.

distkv's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

distkv's Issues

Add common module

add an easy util method for common module like:

public StringUtil {
public static boolean isNullOrEmpty() {
  //xxx
}
}

Refine rpc test

  1. Separate RPC test file to some small files like SetTest, ListTest, etc.
  2. Resolve the TODOs in rpc test file.

@MrKingHH cc

Remove `Echo` example

Since we have merge the String concept with rpc, it's unnecessary to keep echo example.
Let's remove it.

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.