DBDB.io The Encyclopedia of Database Systems · Est. 2017
Database of Databases

Database Entry

Tokyo Cabinet


Tokyo Cabinet is an embedded key-value store written in C, with native support for C and C++ and wrapper APIs for other languages. Keys and values are NULL-terminated strings or arbitrary sequences of bytes, and generally have variable size. Tokyo Cabinet is not a relational database management system; It is a dedicated key-value store similar to LevelDB, RocksDB etc. An application uses a custom non-SQL API to invoke insert, delete, update operations on data and other management functions. In addition, it supports repeatedly appending to a value, characterized as a "concatenate" operation.[03][02]

Developer
Country of Origin
JP
Start Year
2006 [02]
End Year
2012 [02]
Former Name
Sugamo Cabinet
Project Type
Open Source
Written in
C
Supported Languages
C, C++, Java, Lua, Perl, Ruby
Operating Systems
BSD, Linux, macOS, UnixWare
License
LGPL v2

Database Entry

Tokyo Cabinet


Tokyo Cabinet is an embedded key-value store written in C, with native support for C and C++ and wrapper APIs for other languages. Keys and values are NULL-terminated strings or arbitrary sequences of bytes, and generally have variable size. Tokyo Cabinet is not a relational database management system; It is a dedicated key-value store similar to LevelDB, RocksDB etc. An application uses a custom non-SQL API to invoke insert, delete, update operations on data and other management functions. In addition, it supports repeatedly appending to a value, characterized as a "concatenate" operation.[03][02]

History[04][03][02]


Tokyo Cabinet was developed in the late 2000s and improves upon older and simpler data storage libraries such as the Unix dbm ("database manager") and the GNU GDBM by providing a greater variety of backing data structures and additional API functions.

Tokyo Cabinet is succeeded by a similar key-value store called Kyoto Cabinet.

Checkpoints[03]


Checkpoints are not supported by Tokyo Cabinet.

Compression[03]


A Tokyo Cabinet database file is not globally compressed. Compression is done at the record (key and value) level or the page level (for a B+ Tree-based store) using the Burrows–Wheeler transform or the Lempel–Ziv compression algorithm.

Concurrency Control[03]


Data Model[05][03]


Tokyo Cabinet is not a relational database management system; It is a dedicated key-value store. Applications need to use a custom non-SQL API to invoke insert, delete, update operations on data and other management functions.

Tokyo Cabinet also implements a thin "table" abstraction which simulates columns over a key-value store. Schemas and data types are not supported, and therefore, the a Tokyo Cabinet table can contain tuples with a different kind and number of columns. In the table abstraction, a key and a column index (a non-negative integer) together serve as a pointer to a value, unlike a standard key-value record, where only the key serves as such a pointer.

Foreign Keys[05][03]


Foreign keys are not supported by Tokyo Cabinet.

Hardware Acceleration[05]


Tokyo Cabinet is not hardware-accelerated.

Indexes[03]


Isolation Levels[03]


Joins[05]


Joins are not supported by Tokyo Cabinet.

Query Compilation[03]


Query Interface[05][03]


Tokyo Cabinet does not support SQL. Applications need to use a custom non-SQL API to invoke insert, delete, update operations on data and other management functions. In addition, Tokyo Cabinet supports repeatedly appending to a value, characterized as a "concatenate" operation.

Tokyo Cabinet has native support for C and C++ and wrapper APIs for other languages.

Storage Architecture[03]


Stored Procedures[03]


System Architecture[03]


Views[05][03]


Views are not supported by Tokyo Cabinet.

Citations

5 sources
  1. http://fallabs.com/tokyocabinet fallabs.com Dead — Check Archive
  2. https://fallabs.com/tokyocabinet fallabs.com Dead — Check Archive
  3. https://fallabs.com/tokyocabinet/spex-en.html fallabs.com Dead — Check Archive
  4. Tkrzw - Wikipedia wikipedia.org
  5. https://fallabs.com/tokyocabinet/tokyocabinet-1.4.48.tar.gz fallabs.com Dead — Check Archive
Revision #6