# Kyoto Cabinet: DBMの率直な壱実装

Copyright (C) 2009-2012 FAL Labs
Last Update: Fri, 04 Mar 2011 23:07:26 -0800

## 概要

Kyoto Cabinetはデータベースを管理するルーチン群のライブラリです。データベースはレコード群を格納した単純なファイルであり、各レコードはキーと値のペアです。全てのキーと値は任意の長さの一連のバイト列です。いわゆるバイナリデータでも文字列の両方をキーや値として利用できます。各キーはデータベース内で一意でなければなりません。テーブルやデータ型の概念はありません。レコード群はハッシュ表またはB+木で編成されます。

Kyoto Cabinetは非常に高速に動作します。例えば、ハッシュ表データベースに100万レコードを格納するのに0.9秒かかり、B+木データベースでは1.1秒かかります。さらに、データベースのサイズが非常に小さいです。例えば、ハッシュ表データベースの各レコードにかかるオーバーヘッドは16バイトであり、B+木データベースでは4バイトです。また、Kyoto Cabinetのスケーラビリティは素晴らしいです。データベースのサイズは8EB（9.22e18バイト）までです。

Kyoto CabinetはC++言語で記述され、C++とCとJavaとPythonとRubyとPerlとLuaのAPIとして提供されます。Kyoto cabinetはC++03とTR1ライブラリ拡張に準拠するAPIを備えた環境にて利用できます。Kyoto CabinetはGNU一般公衆利用許諾に基づいて利用許諾されたフリーソフトウェアです。

## 文書

以下はKyoto Cabinetの文書群です。これらはソースパッケージにも含まれています。

- 基本仕様書
- コマンドラインの仕様書
- プレゼンテーション資料
- コアライブラリ（C/C++）のAPI文書群

- JavaのAPI文書群
- Python 3.xのAPI文書群
- Python 2.xのAPI文書群
- RubyのAPI文書群
- PerlのAPI文書群
- LuaのAPI文書群

## パッケージ

以下はKyoto Cabinetのソースパッケージ群です。バイナリパッケージに関しては、各々の配布者のサイトをご覧ください。

- コアライブラリ（C/C++）のソースパッケージ

- Javaのソースパッケージ
- Python 3.xのソースパッケージ
- Python 2.xのソースパッケージ
- Rubyのソースパッケージ
- Perlのソースパッケージ
- Luaのソースパッケージ

- Windows用のバイナリパッケージ（C/C++/Java）

## 情報

Kyoto CabinetはFAL Labsによって開発され保守されています。開発者の連絡先メールアドレスは `mikio@gmail.com' です。

以下はKyoto Cabinetの兄弟プロジェクトです。

- リモートサービス（Kyoto Tycoon）