Kai is an open-source distributed key-value database, which is inspired by Amazon's Dynamo. Same as DynamoDB, it is developed for high scalability and validity of Web sites. goo home, a Japanese social networking service of more than 10 million users, is using Kai as the main backend database. Because it is hard to get the search result of the Kai database through the current Web search Engine. It is suggested to search Kai with another keyword, such as Erlang, Sourceforge, or Dynamo.[03]
- Source Code
- https://sourceforge.net/projects/kai/[01]
- Developer
- Country of Origin
- JP
- Start Year
- 2008 [07]
- End Year
- 2009 [08]
- Project Type
- Open Source
- Written in
- Erlang
- Embeds / Uses
- Kyoto Cabinet
- Inspired By
- DynamoDB
Kai is an open-source distributed key-value database, which is inspired by Amazon's Dynamo. Same as DynamoDB, it is developed for high scalability and validity of Web sites. goo home, a Japanese social networking service of more than 10 million users, is using Kai as the main backend database. Because it is hard to get the search result of the Kai database through the current Web search Engine. It is suggested to search Kai with another keyword, such as Erlang, Sourceforge, or Dynamo.[03]
History[03]
The Kai open-source project started in May 2008 and hosted on sourceforge.net. Till May 2009, 4 versions were released and the latest version is Kai-0.4.0. Most of the developers involved in the project were from Japan and the name Kai comes from the village name of one of the developers' hometown.
Data Model[04][05]
Kai uses a key/value data model. Any value(bit-string) can be stored with a key, which is used to retrieve the value.
Parallel Execution[05][06]
The distributed structure makes Kai's requests will be distributed to N nodes in parallel. Kai uses the actor model, which supported by Erlang, to collaborate each process with each other. One advantage of actor model is that it does not rely on shared memory, which often causes painful bugs.
Query Interface[03]
Kai supports basic operations(not all) of memcache API, including get(s), set, delete, quit and version. However, users cannot specify the operations' expiration time, all operation results is persistent.
Storage Architecture[03]
Same as Amazon DynamoDB, Kai provides consistent storage in cache. It uses disk-oriented storage architecture.
Storage Organization[03]
Kas's storage organization is based on a distributed hash table, a peer-to-peer distributed system architecture. The storage capacity of the cluster can be roughly determined by the number of nodes in the cluster so the distributed structure enables the system to scale up and down based on the required capacity. To organize cluster nodes, epidemic protocol is used to spread the membership information.
System Architecture[03]
Kas's system architecture is based on a distributed hash table, a peer-to-peer distributed system architecture. The storage capacity of the cluster can be roughly determined by the number of nodes in the cluster so the distributed structure enables the system to scale up and down based on the required capacity. To organize cluster nodes, epidemic protocol is used to spread the membership information.
Citations
8 sources- kai download | SourceForge.net sourceforge.net
- https://sourceforge.net/p/kai/wiki/Home sourceforge.net
- kai / Wiki / Introduction sourceforge.net
- Key–value database - Wikipedia wikipedia.org
- huchiyama1976 / Profile sourceforge.net
- Actor model - Wikipedia wikipedia.org
- Kai – An Open Source Implementation of Amazon’s Dynamo | PDF slideshare.net
- 分散Key/Valueストア Kai事例紹介 | PPT slideshare.net