1Kyoto Cabinet is a library of routines for managing a database. The 2database is a simple data file containing records, each is a pair of a 3key and a value. Every key and value is serial bytes with variable 4length. Both binary data and character string can be used as a key and 5a value. Each key must be unique within a database. There is neither 6concept of data tables nor data types. Records are organized in hash 7table or B+ tree. 8 9Kyoto Cabinet runs very fast. For example, elapsed time to store one 10million records is 0.9 seconds for hash database, and 1.1 seconds for 11B+ tree database. Moreover, the size of database of Kyoto Cabinet is 12very small. For example, overhead for a record is 16 bytes for hash 13database, and 4 bytes for B+ tree database. Furthermore, scalability 14of Kyoto Cabinet is great. The database size can be up to 8EB (9.22e18 15bytes). 16 17Kyoto Cabinet is written in the C++ language, and provided as API of 18C++, C, Java, Python, Ruby, Perl, and Lua. Kyoto Cabinet is available 19on platforms which have API conforming to C++03 with the TR1 library 20extensions. Kyoto Cabinet is a free software licensed under the GNU 21General Public License. 22