Tarantool
Что такое Tarantool
Tarantool – система управления базами данных, предназначенная для хранения данных веб-приложений, а также для создания OLTP-систем. Эта технология устроена таким образом, чтобы работать с данными высоконагруженных проектов, а также отвечать за данные сервисов, которые обрабатывают множество транзакций в реальном времени. Tarantool использует технологию In-Memory: рабочие данные хранятся на оперативной памяти. Tarantool – разработка Mail.ru, которая используется в социальных сетях Badoo и Одноклассники.
Основные возможности Tarantool
- Поддержка SQL- и NoSQL-запросов на языке программирования Lua
- Поддержка ACID-транзакций, несмотря на In-Memory-архитектуру.
- Репликация данных на жесткие диски для повышения доступности и безопасности данных.
- Синхронная и асинхронная репликация данных с шардингом.
- Возможность размещения Tarantool на облаке VK Cloud.
Особенности Tarantool
- Поддержка ACID транзакций;
- WAL, обеспечивающий согласованность данных в случае сбоя;
- Синхронная и асинхронная репликация;
- Есть версия для систем IoT с поддержкой MQTT и MRA.
Кроме типичных для IMDB сценариев, Tarantool нашел применение в системах регистрации и управления заявок пользователей, в аукционах интернет-рекламы, персонализированном маркетинге.
Tarantool использует JIT-компилятор языка Lua – LuaJIT. Поскольку код Lua транспилируется в машинный код и находится в одном адресном пространстве с базой данных, у операций нет задержек в исполнении. У Tarantool есть 2 версии. Community Edition – бесплатная, с открытым исходным кодом, а также Enterprise – с расширенным функционалом и круглосуточной поддержкой администраторов.
Преимущества Tarantool
- Повышенная безопасность данных за счет технологии упреждающей записи.
- Более высокая скорость работы в сравнении с реляционными СУБД.
Поддержка дополнительных языков программирования: Golang, Python, Java.