Frank DENIS random thoughts.

Tokyo Tyrant : a network layer for Tokyo Cabinet

Tokyo Cabinet is a fast indexing library, made by the guy behind QDBM and Hyper Estraier.

Such a library can be extremely useful to projects that have to index a lot of data with high-performance requirements.

The only missing piece of the puzzle was a network layer.

Mikio did it. Tokyo Tyrant has been released: “Tokyo Tyrant is a packeage of network interfaces to the DBM called Tokyo Cabinet. Though the DBM has high performance, you might bother in case that multiple processes share the same database, or remote processes access the database. Thus, Tokyo Tyrant is provided for high concurrency connections to Tokyo Cabinet. It is composed of the server process managing a database and its access library for client applications.

The server features high concurrency due to thread-pool modeled implementation and the “epoll” mechanism of the modern Linux kernel. The server and its clients communicate with each other by two kinds of protocols. One has the original binary structure and provides higher efficiency. The other is based on HTTP and provides wider portability. The access library is implemented in C, Perl, Ruby, and Java.”

Unfortunately it only works on Linux yet, but unless Mikio is already working on a BSD port, I’ll do it as soon as possible.