Tarantool

Tarantool is an integration of a Lua application server and a database management system. The DBMS was originally developed as an in-memory NoSQL DBMS, and later it was extended with a disk storage engine option. Tarantool's in-memory engine is lock-free. It uses cooperative multitasking to handle thousands of connections simultaneously. There is a fixed number of independent execution threads and they do not share state. The disk-based storage engine exploits the advantage of single-threaded requests too and hence avoid unnecessary locks. Tarantool supports asynchronous replication.

History

Tarantool’s creator and biggest user is Mail.Ru, which is the largest internet company in Russia. Although Mail.Ru is the sponsor for product development, the development is open-sourced, incorporating patches from dozens of community contributors. Most of its components are written from scratch, and the DBMS is still under improvement.

Indexes

B+Tree BitMap R-Tree

Checkpoints

Non-Blocking

Tarantool uses write ahead logging (WAL), thus checkpoints are necessary. In the docs, checkpoints are mentioned as snapshots. Users can either force the DBMS to take a snapshot, or enable automatic creation of snapshot files. Users can control the number of snapshots stored and the snapshot interval. During a snapshot, copy-on-write and multi-version concurrency control is used. Thus, the master process can continue to access the data, without having to worry the snapshot process copying new changes.

Tarantool Logo
Website

http://tarantool.org/

Source Code

https://github.com/tarantool/tarantool

Tech Docs

https://tarantool.io/en/doc/1.10/

Developer

Tarantool

Country of Origin

RU

Start Year

2005

Project Type

Commercial, Open Source

Written in

C

Derived From

SQLite

Operating Systems

Linux

Licenses

BSD