Skip to content

yahoojapan/k2hdkc_dbaas

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

K2HDKC DBaaS

License GitHub forks GitHub stars GitHub issues

Database as a Service for K2HDKC

K2HDKC DBaaS

Overview

K2HDKC DBaaS (Database as a Service for K2HDKC) is a Database as a Service that uses K2HR3 and works with OpenStack and kubernetes to build a K2HDKC(K2Hash based Distributed Kvs Cluster) Cluster for distributed KVS.

Detailed documentation for K2HDKC DBaaS can be found here.

K2HDKC DBaaS (Database as a Service for K2HDKC) is configured using the following products which is provided by AntPickax.

  • K2HDKC - K2Hash based Distributed Kvs Cluster
    This product is distributed KVS(Key Value Store) clustering system and the core product of K2HDKC DBaaS.
  • CHMPX - Consistent Hashing Mq inProcess data eXchange
    This product is communication middleware over the network for sending binary data and an important component responsible for K2HDKC communication.
  • K2HR3 - K2Hdkc based Resource and Roles and policy Rules
    This is extended RBAC (Role Based Access Control) system, and this system manages the configuration of the K2HDKC cluster as a backend for K2HDKC DBaaS.

K2HDKC DBaaS (Database as a Service for K2HDKC) provides the following two ways to build DBaaS(Database as a Service) on OpenStack.
And provides one way to build DBaaS(Database as a Service) on kubernetes.

The source code for this repository is for K2HKDC DBaaS system based on Trove.
For other type's source code, see the repository below.

With Trove(Trove is Database as a Service for OpenStack)

This is DBaaS(Database as a Service) using Trove which is a product of OpenStack.
It incorporates K2HDKC (Distributed KVS) as one of Trove's databases to realize DBaaS(Database as a Service).
Users can easily launch, scale, backup, and restore K2HDKC clusters through the Trove Dashboard(GUI) and through the CLI provided by Trove(openstack CLI).

OpenStack and K2HDKC DBaaS CLI(Command Line Interface)

If you have an existing OpenStack environment, this K2HDKC DBaaS CLI(Command Line Interface) allows you to implement DBaaS(Database as a Service) without any changes.

kubernetes and K2HDKC DBaaS on kubernetes CLI(Command Line Interface)

For kubernetes environment, the K2HDKC DBaaS on kubernetes CLI(Command Line Interface) allows you to implement DBaaS(Database as a Service) on kubernetes.

Background

Yahoo! JAPAN publishes some products as AntPickax as Open Source Software(OSS).
We planned to provide one of them, K2HDKC(K2Hash based Distributed Kvs Cluster) as DBaaS(Database as a Service) so that anyone can easily use it.
And the publicly available K2HR3(K2Hdkc based Resource and Roles and policy Rules) offers enough features to make this happen.
We have built DBaaS(Database as a Service) in conjunction with OpenStack and kubernetes, centering on this K2HR3(K2Hdkc based Resource and Roles and policy Rules).

K2HKDC DBaaS system based on Trove

K2HDKC DBaaS in this repository provides its functionality through Trove as a panel(feature) of OpenStack.
And the K2HR3 system is used as the back end as an RBAC(Role Base Access Control) system dedicated to K2HDKC DBaaS.
Normally, users do not need to use the K2HR3 system directly, and the function as DBaaS uses Trove Dashboard(or Trove CLI).

The overall system overview diagram is shown below.
K2HDKC DBaaS system

Trial

For the K2HDKC DBaaS experience, you can build a minimum K2HDKC DBaaS system.
This minimum system has all the features of K2HDKC DBaaS.
So you can use it to try out all the features provided by K2HDKC DBaaS.

This minimum system(trial environment) is very easy to build by simply running the script provided by this repository.
For how to use it, refer to the Build document.

Usage

How to use K2HDKC DBaaS to build/start K2HDKC cluster and K2HDKC slave node easily.
For information on how to use K2HDKC DBaaS that works with Trove(Trove is Database as a Service for OpenStack), see Usage Trove document.
For how to use K2HDKC DBaaS CLI(Command Line Interface), refer to Usage CLI document.
These document describes all usage, including how to use K2HDKC DBaaS to create a K2HDKC cluster, how to launch a K2HDKC slave node, and more.

Let's get started.

Documents

K2HDKC DBaaS Document
Github wiki page

About k2hdkc Document
About chmpx Document
About k2hr3 Document

About AntPickax

Repositories

k2hdkc
chmpx
k2hdkc_dbaas_cli
k2hdkc_dbaas_k8s_cli
k2hdkc_dbaas_override_conf
k2hr3
k2hr3_app
k2hr3_cli
k2hr3_api
k2hr3_get_resource

Packages

k2hdkc(packagecloud.io)
chmpx(packagecloud.io)
k2hdkc-dbaas-cli(packagecloud.io)
k2hdkc-dbaas-k8s-cli(packagecloud.io)
k2hdkc-dbaas-override-conf(packagecloud.io)
k2hr3-cli(packagecloud.io)
k2hr3-app(npm packages)
k2hr3-api(npm packages)
k2hr3-get-resource(packagecloud.io)

License

This software is released under the 2.0 version of the Apache License, see the license file.

AntPickax

K2HDKC DBaaS is one of AntPickax products.

Copyright(C) 2020 Yahoo Japan Corporation.