TCF 0.7.0 | Clusters_Federation

TCF 0.7.0

Ниже приведен краткий обзор наиболее заметных изменений и новой функциональности, которые были внесены в версии TCF 0.7.0.

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

Синхронная репликация повышает консистентность данных и надежность их хранения внутри кластера: каждая синхронная транзакция проходит коммит лишь после репликации на определенном количестве экземпляров, и только тогда клиенту приходит подтверждение о завершении транзакции. TCF отправляет синхронные транзакции на пассивный кластер в момент их записи (коммита) – после репликации транзакций на определенном количестве экземпляров. В пассивный кластер реплицируются только те транзакции, которые были подтверждены в активном кластере.

Note

Синхронная репликация поддерживается только внутри самих кластеров Tarantool. Репликация между кластерами TCF работает в асинхронном режиме.

Включить синхронную репликацию для конкретного спейса в кластере можно с помощью опции space_opts.is_sync при создании или изменении этого спейса, например:

local space = box.schema.space.create('writers', { is_sync = true })
space:format({
    {name = 'id', type = 'number'},
    {name = 'bucket_id', type = 'number'},
    {name = 'name', type = 'string'},
    {name = 'age', type = 'number'},
})
space:create_index('primary', {parts = {'id'}})
space:create_index('bucket_id', {parts = {'bucket_id'}})

Узнать больше: Работа TCF с кластерами, запущенными в режиме синхронной репликации.

Расширения WAL

Расширения журнала упреждающей записи (WAL extensions) позволяют добавлять дополнительную информацию к каждой записи в журнале WAL. В частности, расширения WAL позволяют хранить старый и новый кортежи вместе с ключом шардирования (bucket_id) для каждой совершённой CRUD-операции. В шардированном кластере ключ bucket_id используется для отправки запросов UPDATE и DELETE на конкретный набор реплик. Такой подход повышает производительность обработки таких операций на больших кластерах.

Настроить расширения WAL можно в файле конфигурации кластера с помощью опций конфигурации wal.ext.* или wal_ext:

wal:
  ext:
    new: true
    old: true

Узнать больше: Расширения WAL.

Журналирование

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

В TCF два типа записи событий в журнал, которые отвечают за различные компоненты системы:

Узнать больше: Журналирование.

Found what you were looking for?
Feedback