What’s new in Tarantool Data Grid 2.0¶
Tarantool Data Grid (TDG) version 2.0 brings a lot of new features. This document tells about all major changes and new capabilities in version 2.0:
Simplified architecture¶
Tarantool Data Grid 2.0 has four easily scalable components:
Core
: configuration and administrationStorage
: data validation and storageRunner
: running the business logic using Lua codeConnector
: data exchange with external systems
Узлы можно добавлять в кластер мгновенно, при этом данные перераспределяются автоматически. Один кластер TDG состоит из нескольких наборов реплик. Если один из серверов остановится, набор реплик продолжит работать, не теряя при этом никаких данных.
You can create as many replica sets with storage
, runner
, and connector
components as you like. The only exception is the core
. There can be only one replica set that contains the core
component.
Handlers instead of data pipelines¶
When Tarantool Data Grid receives a data package from an external system, it needs to process the data before putting it into a storage.
In version 1.6, data pipelines processed the incoming data by consecutively calling multiple functions. However, writing code to build these pipelines was a bit of a challenge.
In version 2.0, there are handlers instead of pipelines. Handlers are functions that process the incoming and outcoming data. You can write a handler function using Lua and then bind it to any connector.
Input-процессор обрабатывает все входящие данные. После этого объекты данных проверяются и помещаются в хранилище. Если процесс проверки завершается с ошибкой, объекты попадают в ремонтную очередь.
Visual data model constructor¶
Data model explicitly determines the structure of data. All incoming data is verified, validated, and stored by the provided data model.
Tarantool Data Grid uses Avro Schema to describe data model. In version 2.0, there is no need to write code to describe data structure. Everything is done via an interface that is called a model editor. Model editor has multiple options like adding a field, naming it, setting its type and value, as well as leaving comments.
Optional data versioning¶
Data versioning allows one to trace what changes have been made to a data package and when. Data package is a collection of data.
Когда пакет данных попадает в хранилище Tarantool Data Grid, он идентифицируется по первичному индексу. Если первичный индекс у входящего пакета совпадает с уже имеющимся пакетом, TDG не будет удалять хранящиеся данные. Он сохранит новые данные как новую версию этого пакета.
Version history often comes in handy, but it has one side effect. The bigger version history is, the more it influences the performance of the storage.
In TDG 2.0, versioning is off by default. It means that data packages with the same primary index will rewrite each other. This increases performance and reduces the amount of space taken up by the database. But if you need to keep version history, you can always switch this option on.