K2HDKC DBaaS Trove (Database as a Service for K2HDKC) is a Database as a Service that uses K2HR3 and incorporates it into Trove
(Trove is Database as a Service for OpenStack) of OpenStack
to build a K2HDKC environment, which is a distributed KVS.
K2HDKC DBaaS (DataBase as a Service of K2HDKC) is a basic system that provides K2HDKC(K2Hash based Distributed Kvs Cluster) as a service.
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.
Users can easily launch, scale, back up, and restore K2HDKC clusters as K2HDKC DBaaS.
K2HDKC DBaaS Trove is one of the K2HDKC DBaaS that supports OpenStack.
Detailed documentation for K2HDKC DBaaS can be found here.
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).
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.
There are four types of DBaaS (Database as a Service) provided by K2HDKC DBaaS (Database as a Service for K2HDKC) as shown below.
We provide two K2HDKC DBaaS types that cooperate with OpenStack and two types that cooperate with kubernetes.
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).
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.
If you are using kubernetes cluster or trial environment such as minikube, this K2HDKC DBaaS on kubernetes CLI(Command Line Interface) allows you to implement DBaaS(Database as a Service) without any changes.
If you are using kubernetes cluster or trial environment such as minikube, you can install(build) DBaaS(Database as a Service) by using Helm(The package manager for Kubernetes) with K2HDKC Helm Chart.
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.
The source code for this repository is for K2HKDC DBaaS system based on Trove.
For other type's source code, see the repository below.
K2HDKC DBaaS Trove can be built into a minimal OpenStack Trove system for development, called devstack, and used for trial.
This minimal system (devstack) contains all the features of K2HDKC DBaaS Trove.
You can use devstack to try out all the features of K2HDKC DBaaS Trove.
This minimal environment (devstack) can be easily built by simply running the script provided in this repository.
For information on how to build devstack, see buildutils/README.md.
How to use K2HDKC DBaaS Trove 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.
- k2hdkc
- chmpx
- k2hdkc_dbaas
- k2hdkc_dbaas_trove
- k2hdkc_dbaas_cli
- k2hdkc_dbaas_k8s_cli
- k2hdkc_dbaas_override_conf
- k2hr3
- k2hr3_app
- k2hr3_api
- k2hr3_cli
- k2hr3_get_resource
- k2hr3client_python
- 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-get-resource(packagecloud.io)
- RPM packages (packagecloud.io)
- Debian packages (packagecloud.io)
- k2hr3-app(npm packages)
- k2hr3-api(npm packages)
- k2hr3client (pypi)
This software is released under the 2.0 version of the Apache License, see the license file.
K2HDKC DBaaS is one of AntPickax products.
Copyright(C) 2020 Yahoo Japan Corporation.