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 два типа записи событий в журнал, которые отвечают за различные компоненты системы:
Узнать больше: Журналирование.