Overview
Tarantool combines an in-memory DBMS and a Lua server in a single platform providing ACID-compliant storage. It comes in two editions: Community and Enterprise. The use cases for Tarantool vary from ultra-fast cache to product data marts and smart queue services.
Here are some of Tarantool’s key characteristics:
- Easy handling of OLTP workloads: processes hundreds of thousands RPS
- Data integrity: write-ahead log (WAL) and data snapshots
- Cooperative multitasking: transactions are performed in lightweight coroutines with no inter-thread locking
- Advanced indexing: composite indexes, locale support, indexing by nested fields and arrays
- Compute close to data: Lua server and Just-In-Time compiler on board
- Durable distributed storage: multiple failover modes and RAFT-based synchronous replication available
Tarantool allows executing code alongside data, which helps increase the speed of operations. Developers can implement any business logic with Lua, and a single Tarantool instance can also receive SQL requests.
Tarantool has a variety of compatible modules (Lua rocks). You can pick the ones that you need and install them manually.
Tarantool runs on Linux (x86_64, aarch64), macOS (x86_64, aarch64), and FreeBSD (x86_64).
You can use Tarantool with a programming language you’re familiar with. For this purpose, a number of connectors are provided.
Tarantool comes in two editions: the open-source Community Edition (CE) and the commercial Enterprise Edition (EE).
Tarantool Community Edition lets you develop applications and speed up a system in operation. It features synchronous replication, affords easy scalability, and includes tools to develop efficient applications. The Tarantool community helps with any practical questions regarding the Community Edition.
Tarantool Enterprise Edition provides advanced tools for administration, deployment, and security management, along with premium support services. This edition includes all the Community Edition features and is more predictable in terms of solution cost and maintenance. The Enterprise Edition is shipped as an SDK and includes a number of closed-source modules.
Note
In this documentation, topics related to Enterprise Edition features are marked with an Enterprise Edition
admonition.
The Enterprise Edition provides an extended feature set for developing and managing clustered Tarantool applications, such as:
- Security audit log.
- SSL support for traffic encryption.
- Centralized configuration storage.
- Supervised failover.
- Tuple compression.
- Non-blocking DDL.
- Security enforcement features.
- Read views.
- Write-ahead log extensions.
- Flight recorder.
- Tarantool bindings to OpenLDAP.
- Enterprise database connectivity: Oracle and any ODBC-supported DBMS (for example, MySQL, Microsoft SQL Server).
- Static package for standalone Linux systems.
The Enterprise Edition is distributed in the form of an SDK, which includes the following key components:
- The extended Enterprise version of the tt utility.
- Tarantool Cluster Manager – a web-based visual tool for managing Tarantool clusters.
- Primary storage
- No secondary storage required
- Tolerance to high write loads
- Support of relational approaches
- Composite secondary indexes
- Data access, data slices
- Predictable request latency
- Support of various identification techniques
- Advanced task lifecycle management
- Task scheduling
- Archiving of completed tasks