Skip to content
Snippets Groups Projects
user avatar
Vladimir Davydov authored
When we finally start storing vinyl metadata in a memtx table, we will
create an entry for a run as soon as we add the in-memory index which is
going to become the run after it's dumped. On recovery, we won't replay
xlog rows which add statements to in-memory indexes that have already
been dumped. We are planning to detect this by checking if the in-memory
index has a file on disk. To be able to do this in case all entries in a
range cancel each other on dump, we need to create files for empty runs.

Note, although we could delete empty runs from memory right away, we'll
need to have all runs when we switch to storing vinyl metadata in memtx,
including empty ones, on the list so that we can delete records from the
memtx table when they get compacted. In order not to break read/write
iterator assumptions, just skip empty runs when opening an iterator.
490028ac
History

tarantool

Coverage Status Gitter

http://tarantool.org

Tarantool is an in-memory database and application server.

Key features of the application server:

  • 100% compatible drop-in replacement for Lua 5.1, based on LuaJIT 2.1. Simply use #!/usr/bin/tarantool instead of #!/usr/bin/lua in your script.
  • full support for Lua modules and a rich set of own modules, including cooperative multitasking, non-blocking I/O, access to external databases, etc

Key features of the database:

  • MsgPack data format and MsgPack based client-server protocol
  • two data engines: 100% in-memory with optional persistence and a 2-level disk-based B-tree, to use with large data sets
  • multiple index types: HASH, TREE, RTREE, BITSET
  • asynchronous master-master replication
  • authentication and access control
  • the database is just a C extension to the app server and can be turned off

Supported platforms are Linux/x86 and FreeBSD/x86, Mac OS X.

Tarantool is ideal for data-enriched components of scalable Web architecture: queue servers, caches, stateful Web applications.

To download and install Tarantool as a binary package for your OS, please visit https://tarantool.org/download.html.

To build Tarantool from source, see detailed instructions in the Tarantool documentation at https://tarantool.org/doc/dev_guide/building_from_source.html.

Please report bugs at http://github.com/tarantool/tarantool/issues We also warmly welcome your feedback in the discussion mailing list, tarantool@googlegroups.com.

Thank you for your interest in Tarantool!