# Tokyo Cabinet: a modern implementation of DBM

Copyright (C) 2006-2011 FAL Labs
Last Update: Sat, 12 Feb 2011 00:18:41 +0900
[English/Japanese]

## Overview

Tokyo Cabinet is a library of routines for managing a database. The database is a simple data file containing records, each is a pair of a key and a value. Every key and value is serial bytes with variable length. Both binary data and character string can be used as a key and a value. There is neither concept of data tables nor data types. Records are organized in hash table, B+ tree, or fixed-length array.

Tokyo Cabinet is developed as the successor of GDBM and QDBM on the following purposes. They are achieved and Tokyo Cabinet replaces conventional DBM products.

- improves space efficiency : smaller size of database file.
- improves time efficiency : faster processing speed.
- improves parallelism : higher performance in multi-thread environment.
- improves usability : simplified API.
- improves robustness : database file is not corrupted even under catastrophic situation.
- supports 64-bit architecture : enormous memory space and database file are available.

Tokyo Cabinet is written in the C language, and provided as API of C, Perl, Ruby, Java, and Lua. Tokyo Cabinet is available on platforms which have API conforming to C99 and POSIX. Tokyo Cabinet is a free software licensed under the GNU Lesser General Public License.

## Documents

The following are documents of Tokyo Cabinet. They are contained also in the source package.

- Fundamental Specifications

- Specifications of Perl API
- Specifications of Ruby API
- Specifications of Java API
- Specifications of Lua API

- Presentation
- Report of a Benchmark Test

## Packages

The following are the source packages of Tokyo Cabinet. As for binary packages, see the site of each distributor.

- Source Packages of the core library

- API for Perl
- API for Ruby
- API for Java
- API for Lua

- Related Packages

## Information

Tokyo Cabinet was written and is maintained by FAL Labs. You can contact the author by e-mail to `info@fallabs.com'.

The following are sibling projects of Tokyo Cabinet.

- Remote Service (Tokyo Tyrant)
- Full-text Search System (Tokyo Dystopia)
- Content Management System (Tokyo Promenade)

- Straightforward Implementation of DBM (Kyoto Cabinet)