An in-memory computing platform combining a high-performance database and Lua application server for scalable web components.
Tarantool is an in-memory computing platform that combines a high-performance database with a Lua-based application server. It's designed to deliver exceptional speed by keeping data in RAM and executing application logic directly within the database process, solving latency and throughput challenges in scalable web applications.
Developers and architects building data-intensive components of scalable web architectures, such as queue servers, caches, and stateful web applications that require low-latency data access and high throughput.
Developers choose Tarantool for its unique integration of database and application server in a single platform, eliminating network overhead between data and compute layers. Its optimized LuaJIT interpreter, in-memory storage engines, and built-in scalability features provide performance advantages over traditional separated database and application server setups.
Get your data in RAM. Get compute close to data. Enjoy the performance.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Combines database and application server in a single process, eliminating network latency between data and logic layers, as emphasized in the README's principle of keeping computation close to data.
Uses an optimized LuaJIT interpreter and in-memory storage engines to deliver low-latency data access, making it ideal for high-throughput use cases like queue servers and caches.
Includes native sharding (vshard) and cluster management (cartridge), reducing the complexity of scaling distributed systems, as highlighted in the key features for scalable web architectures.
Offers two data engines—in-memory with WAL-based persistence and LSM-tree for larger datasets—providing adaptability for different workload requirements, as detailed in the database features.
Requires application logic to be written in Lua, which may not align with teams experienced in more popular languages, limiting adoption and increasing the learning curve.
While it supports LSM-tree for disk storage, optimal performance depends on in-memory data, making it expensive for datasets that exceed available RAM, a trade-off noted in its in-memory computing focus.
Officially supports only Linux, Mac OS X, and FreeBSD, excluding Windows, which could be a barrier for development environments relying on broader OS compatibility, as stated in the README.