# Kyoto Tycoon: キャッシュとストレージの便利サーバ

Copyright (C) 2009-2012 FAL Labs
Last Update: Fri, 25 May 2012 02:44:22 +0900

## 概要

Kyoto Tycoonは時限削除機能付きの軽量データベースサーバであり、各種アプリケーションのキャッシュや永続データを取り扱うのに便利です。Kyoto TycoonはKyoto CabinetというDBMのネットワークインターフェイスのパッケージであるとも言えます。DBMは高速かつ並列な動作において優位性がありますが、複数のプロセスで同一のデータベースを共有できないという欠点もあります。そこで、Kyoto TycoonはKyoto Cabinetへの並列かつ遠隔の接続ができるようにするために提供されます。Kyoto Cabinetは複数のデータベースを処理できるサーバプロセスと、それにアクセスするためのクライアントライブラリによって構成されます。

サーバとクライアントの間のネットワークプロトコルはHTTPに基づいているので、各種の言語でクライアントアプリケーションやクライアントライブラリの開発をするのが容易です。GET、HEAD、PUT、DELETEといったメソッドを用いるRESTful風のインターフェイスと、全てをPOSTで扱うRPC風インターフェイスの両方が提供されます。下層のOSが提供するepollやkqueueなどのモダンなイベント通知機構を利用することによって、ひとつのサーバは1万以上のクライアントからの接続を同時に受け付けることができます。ホットバックアップや更新ログや非同期レプリケーションなどの機能によって高可用性を備えた運用を支援します。軽量スクリプト言語であるLuaの処理系を埋め込むことで、サーバ上で任意のデータベース処理を行うことができます。

Kyoto TycoonのサーバはC++言語で記述されています。サーバはC++03とTR1ライブラリ拡張に準拠するAPIを備えた環境にて利用できます。クライアントはHTTPさえ使えればどんな環境でも利用できます。Kyoto CabinetはGNU一般公衆利用許諾に基づいて利用許諾されたフリーソフトウェアです。

## 文書

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

- 基本仕様書
- コマンドラインの仕様書
- コアライブラリ（C/C++）のAPI文書群
- スクリプト言語拡張（Lua）のAPI文書群

## パッケージ

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

- Source Packages of the core library (C/C++)

## 情報

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