Основные принципы работы Tarantool
cover

Как работает
Tarantool

Tarantool хранит данные в оперативной памяти — in-memory. Решения этого класса быстрые, но им часто не хватает гарантий целостности данных. В Tarantool эта проблема решена. Оставьте заявку, и мы расскажем вам о преимуществах Tarantool

Scroll

Когда стоит выбрать
in-memory?

Решения in-memory работают в оперативной памяти, поэтому они такие быстрые.

Вы избегаете накладных расходов на кэширование и чтение с диска. Также резидентный подход снижает TCO, так как процессор используется эффективнее и вам нужно меньше серверов. Есть четыре основных случая, когда при разработке приложения хорошо подходит in-memory.

OLTP, нужна максимальная производительность

Нужно ускорить медленное приложение или базу

Нужно предсказуемое время отклика от системы

Вы строите систему, работающую в режиме реального времени

Почему
Tarantool?

Почему
Tarantool?

icon

Совмещает роли базы данных
и сервера приложений

Задавайте логику обработки данных с помощью языков программирования Lua (внутри Tarantool) и Rust и C (для дополнительных модулей).

В Tarantool код и база данных находятся в одном адресном пространстве. Обработка данных в месте их хранения позволяет снизить задержки в исполнении операций.

icon

Синхронная и асинхронная
репликация

Tarantool позволяет выбрать режим синхронной или асинхронной репликации в зависимости от задачи и характера данных.

Асинхронная репликация гарантирует максимальную скорость работы кластера и минимальные задержки. А синхронная репликация, линеаризуемые чтения и движок MVCC (multi-version concurrency control) вместе обеспечивают наивысший уровень консистентности из возможных — strict serializable.

icon

Вторичные индексы

Ко всем данным в Tarantool можно построить индексы.

Они позволяют делать поиск по индексированным полям быстрым и предсказуемым. Когда нужно выбирать одни и те же данные по нескольким критериям, то вы можете построить несколько индексов в одной таблице. Tarantool поддерживает обычные индексы и индексы по содержанию объектов JSON-полей.

icon

Гибридная модель хранения
данных

В Tarantool вы можете выбрать модель хранения данных.

Используйте табличный формат, а когда количество и имена полей заранее неизвестны — JSON. Для таблицы можно задать формат, который фиксирует типы данных в колонках: для всей таблицы или только для ее части.

icon icon icon icon
Scroll

Экосистема Tarantool

Гарантии сохранности
в Tarantool

Работа в оперативной памяти не означает, что вы рискуете потерять все данные.

Мы предусмотрели механизмы, которые гарантируют сохранность данных в Tarantool.

Упреждающая запись

In-memory движок Tarantool использует упреждающую запись на диск.

Результат транзакции возвращается только после того, как он будет сохранен на диск. Это значит, что даже внезапная перезагрузка сервера не приводит к потере данных.

Синхронная репликация

При выходе из строя диска или сервера избежать потери данных помогает репликация.

Типовой лаг асинхронной репликации в Tarantool 100-200мкс, что снижает вероятность потерь фактически до нуля. Когда нужны полные гарантии сохранности, в Tarantool можно использовать синхронную репликацию и настраивать ее только для критически важных данных в отдельных таблицах.

Tarantool соответствует
ACID

В составляющих стандартах надежности и предсказуемости ACID — атомарности, согласованности, изолированности и надежности — in-memory решения часто жертвуют последней.

Это связано с самим принципом хранения в оперативной памяти, который несет риск потерять часть информации при сбоях и рестарте. Чтобы преодолеть этот риск, Tarantool использует ряд методов:

Записывает логи операций —
WAL-файлы

Делает снэпшоты — снимки состояния данных

Записывает данные на несколько реплик синхронно

Бесконечное расширение

Встроенная кластеризация помогает сделать несколько копий на разных серверах или разделить данные по нескольким узлам.

За три клика в web-интерфейсе вы можете сделать новую реплику или подключить дополнительный сервер.

Распределение данных, балансировка нагрузки и обработка отказов происходят автоматически. Если один из узлов выходит из строя, нагрузка автоматически переводится на реплику.

cover

Получить консультацию

Заказать демонстрацию