Новые возможности Tarantool Data Grid 2.0¶
В версии 2.0 Tarantool Data Grid (TDG) появилось много новых функциональных возможностей. В этом документе описываются все основные изменения и новые технические возможности версии 2.0:
Упрощенная архитектура¶
Tarantool Data Grid 2.0 включает в себя четыре легко масштабируемых компонента:
Core
: настройка и администрированиеStorage
: проверка и хранение данныхRunner
: запуск бизнес-логики с помощью кода на LuaConnector
: обмен данными с внешними системами
Узлы можно добавлять в кластер мгновенно, при этом данные перераспределяются автоматически. Один кластер TDG состоит из нескольких наборов реплик. Если один из серверов остановится, набор реплик продолжит работать, не теряя при этом никаких данных.
Можно создавать сколько угодно наборов реплик с компонентами storage
,
runner
и connector
. Единственное исключение — core
. Только один
набор реплик может содержать компонент core
.
Обработчики вместо конвейеров обработки данных¶
Когда Tarantool Data Grid получает пакет данных из внешней системы, ему нужно обработать данные, прежде чем поместить их в хранилище.
В версии 1.6 конвейеры (пайплайны, pipelines) обрабатывали входящие данные, последовательно вызывая несколько функций. Но написание кода этих конвейеров было непростой задачей.
В версии 2.0 вместо конвейеров появились обработчики (handlers). Обработчики — это функции, которые обрабатывают входящие и исходящие данные. Можно написать функцию-обработчик на Lua, а затем привязать ее к любому коннектору.
Input-процессор обрабатывает все входящие данные. После этого объекты данных проверяются и помещаются в хранилище. Если процесс проверки завершается с ошибкой, объекты попадают в ремонтную очередь.
Визуальный конструктор модели данных¶
Модель данных в явном виде определяет структуру данных. Все входящие данные проверяются, подтверждаются и хранятся в соответствии с предоставленной моделью данных.
Для описания модели данных Tarantool Data Grid использует формат Apache Avro. В версии 2.0 нет необходимости писать код, чтобы описать структуру данных. Все действия выполняются через интерфейс, который называется редактором модели. В редакторе модели доступно множество операций, таких как добавление поля, присвоение ему имени, установка его типа и значения, а также есть возможность оставить комментарий.
Опциональное версионирование данных¶
Версионирование данных позволяет отследить, какие изменения были внесены в пакет данных и когда. Пакет данных — это набор данных.
Когда пакет данных попадает в хранилище Tarantool Data Grid, он идентифицируется по первичному индексу. Если первичный индекс у входящего пакета совпадает с уже имеющимся пакетом, TDG не будет удалять хранящиеся данные. Он сохранит новые данные как новую версию этого пакета.
История версий полезна, но у нее есть один побочный эффект. Чем длиннее история версий, тем больше она влияет на производительность хранилища.
В Data Grid 2.0 версионирование выключено по умолчанию. Это значит, что пакеты данных с одинаковым первичным индексом перезаписывают друг друга. Благодаря этому повышается производительность и сокращается объем занимаемого базой данных места. Но если вам нужно хранить историю версий, версионирование всегда можно включить.