О продукте
Tarantool объединяет СУБД в оперативной памяти и Lua-сервер в единой платформе, обеспечивающей ACID-совместимое хранение. Поставляется в двух редакциях: Community и Enterprise. Сценарии использования Tarantool варьируются от сверхбыстрого кэша до витрин данных продуктов и сервисов умных очередей.
Ниже перечислены ключевые особенности Tarantool:
- Простая обработка OLTP-нагрузок: обработка сотен тысяч RPS
- Целостность данных: журнал предзаписи (WAL) и снимки данных
- Кооперативная многозадачность: транзакции выполняются в легковесных корутинах без межпотоковых блокировок
- Расширенное индексирование: составные индексы, поддержка локалей, индексирование по вложенным полям и массивам
- Вычисления рядом с данными: Lua-сервер и встроенный Just-In-Time компилятор
- Отказоустойчивое распределенное хранилище: несколько режимов отказоустойчивости и синхронная репликация на основе RAFT
В Tarantool предусмотрена возможность выполнения кода рядом с данными, что помогает увеличить скорость операций. Разработчики могут реализовать любую бизнес-логику на Lua, а отдельный экземпляр Tarantool также может обрабатывать SQL-запросы.
Для Tarantool доступно множество совместимых модулей (Lua rocks). Можно выбрать нужные модули и установить их вручную.
Tarantool работает на Linux (x86_64, aarch64), macOS (x86_64, aarch64) и FreeBSD (x86_64).
Tarantool можно использовать с любым привычным языком программирования. Для этого предусмотрен ряд коннекторов.
Tarantool поставляется в двух редакциях: открыто распространяемой Community Edition (CE) и коммерческой Enterprise Edition (EE).
С помощью Tarantool Community Edition можно разрабатывать приложения и ускорять работу действующих систем. В эту редакцию входят синхронная репликация, удобная масштабируемость и инструменты для разработки эффективных приложений. Сообщество Tarantool помогает с любыми практическими вопросами по Community Edition.
В Tarantool Enterprise Edition предусмотрены расширенные инструменты для администрирования, развертывания и управления безопасностью, а также услуги премиальной поддержки. Эта редакция включает все возможности Community Edition и отличается большей предсказуемостью в плане стоимости решения и сопровождения. Enterprise Edition поставляется в виде SDK и включает ряд модулей с закрытым исходным кодом.
Enterprise-версия предлагает дополнительные возможности по разработке и эксплуатации кластерных приложений, например:
- Статическая сборка для автономных Linux-систем.
- Модуль интеграции с OpenLDAP.
- Журнал аудита безопасности.
- Подключения к корпоративным базам данных: Oracle и любым СУБД с интерфейсом ODBC (например, MySQL, Microsoft SQL Server).
- Шифрование трафика с помощью SSL.
- Централизованная конфигурация.
- Сжатие кортежей.
- Смена схемы данных в фоновом режиме.
- Функции обеспечения безопасности.
- Представления для чтения (read views).
- Расширения для Write-ahead log.
- Flight recorder.
Enterprise-версия распространяется в форме SDK, который включает следующие ключевые компоненты:
- Расширенная Enterprise-версия утилиты tt.
- Tarantool Cluster Manager – визуальный веб-инструмент для управления кластерами Tarantool.
- Основное хранилище
- Вторичное хранилище не требуется
- Устойчивость к высоким нагрузкам на запись
- Поддержка реляционного подхода
- Составные вторичные индексы
- Доступ к данным, срезы данных
- Предсказуемая задержка запросов
- Кэширование с отложенной записью
- Поддержка вторичных индексов
- Поддержка сложных алгоритмов инвалидации
- Поддержка различных методов идентификации
- Расширенное управление жизненным циклом задач
- Планирование задач
- Архивирование завершенных задач
- Произвольные потоки данных из множества источников
- Обработка входящих данных
- Хранение
- Фоновая циклическая обработка
- Поддержка планирования