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.
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.
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.
https://github.com/tarantool/tarantool
https://tarantool.io/en/doc/1.10/
Tarantool
2005