https://github.com/distkv-project/distkv
A light weight distributed key-value database system with table concept.
https://github.com/distkv-project/distkv
cloud-struct consistency databases distributed-systems kvstore newsql table-concept
Last synced: 11 months ago
JSON representation
A light weight distributed key-value database system with table concept.
- Host: GitHub
- URL: https://github.com/distkv-project/distkv
- Owner: distkv-project
- License: bsd-3-clause
- Created: 2019-05-22T14:45:00.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2021-05-10T07:34:57.000Z (almost 5 years ago)
- Last Synced: 2025-03-27T12:02:46.346Z (12 months ago)
- Topics: cloud-struct, consistency, databases, distributed-systems, kvstore, newsql, table-concept
- Language: Java
- Homepage: https://distkv.com/
- Size: 2.35 MB
- Stars: 83
- Watchers: 14
- Forks: 22
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-java - Distkv
README
[](https://github.com/distkv-project/distkv/actions)
[](https://codebeat.co/projects/github-com-distkv-project-distkv-master)
[](https://codecov.io/gh/distkv-project/distkv)
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:
```bash
pip install -e deploy/python -v
```
#### 2. Start Distkv server
Running the following command to start the Distkv server.
```bash
$ dkv-server
```
#### 3. Start Distkv command line tool
Running the following command to start the command line tool of a Distkv client.
```bash
$ 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.
```bash
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`:**
```xml
com.distkv
distkv-client
0.1.3
```
**To use Distkv client in Java, see the following examples:**
- [Java Client SDK Example](https://github.com/distkv-project/distkv/blob/master/client/src/main/java/com/distkv/client/example/DistkvUsageExample.java)
- [Java Async Client SDK Example](https://github.com/distkv-project/distkv/blob/master/client/src/main/java/com/distkv/asyncclient/example/DistkvAsyncUsageExample.java)
# 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](https://github.com/distkv-project/distkv/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](https://github.com/distkv-project/distkv/blob/master/CONTRIBUTING.md).