27.07.2026

Сжимать или не сжимать: как FTData работает со сжатием данных

Техническое
Как и анонсировалось в прошлой статье, в рамках индустриальных центров компетенций завершены испытания АБС ЦФТ-Банк и СУБД FTData с применением механизмов сжатия. Но начнем мы не с них, а с небольшой предыстории.

Подходы к сжатию данных в СУБД

Назначением любой СУБД является централизованное управление данными, в том числе их хранение. Любое хранилище имеет тенденцию к росту, и на горизонте десятилетий транзакционные базы данных растут до десятков и сотен терабайт. В условиях развития искусственного интеллекта накопление структурированных данных становится особенно востребованным.
И с самого появления первых коммерческих СУБД разработчики начали задумываться о сжатии данных. Первыми методами были удаление незначащих нулей и устранение пробелов, далее начали применяться и совершенствоваться алгоритмы сжатия.
В настоящее время есть несколько подходов к сжатию данных в транзакционных СУБД. Первый и наиболее часто применяемый — сжатие на уровне файловой системы (ZFS, Btrfs, NTFS и др.). Метод отличается тем, что сжимается все, что сохраняется на диск, и из этого следуют основные недостатки: бесполезность или вред для уже сжатых данных, риски для целостности и сложности восстановления. Еще один — предоставление администратору баз данных возможности выбрать таблицы, индексы и другие объекты базы данных, подлежащие сжатию. Такой подход предлагает большую точность в настройке сжатия под конкретную задачу.

Как сжатие реализовано в СУБД FTData

В СУБД FTData реализован второй вариант сжатия. Администратору предоставляется возможность выбирать не только сжимаемые объекты, но и алгоритмы сжатия, а также трансформировать объекты, используя различные алгоритмы и степени сжатия. В качестве первых результатов от реализации сжатия удалось существенно увеличить скорость резервного копирования и восстановления. Разные алгоритмы сжатия и количество потоков дают разные показатели скоростей резервного копирования и восстановления, но общий итог в том, что при наличии свободных вычислительных ресурсов (менее 30% на тот момент) скорость резервного копирования и восстановления пропорциональна степени сжатия.
Этап, режим работыПотоковВремя, мм:ссСкорость, Тб/час фактическая
Бэкап
Бэкап
пусто
пусто
пусто
Этап, режим работы
Без сжатия
Потоков
16
Время, мм:сс
35:01
Скорость, Тб/час фактическая
8,2
Этап, режим работы
Со сжатием
Потоков
16
Время, мм:сс
14:07
Скорость, Тб/час фактическая
7,9
Этап, режим работы
Со сжатием lz4
Потоков
32
Время, мм:сс
10:48
Скорость, Тб/час фактическая
10,4
Восстановление
Восстановление
пусто
пусто
пусто
Этап, режим работы
Без сжатия
Потоков
32
Время, мм:сс
26:25
Скорость, Тб/час фактическая
10,8
Этап, режим работы
Со сжатием
Потоков
32
Время, мм:сс
11:33
Скорость, Тб/час фактическая
9,7
Этап, режим работы
Со сжатием
Потоков
60
Время, мм:сс
12:30
Скорость, Тб/час фактическая
9,0
Этап, режим работы
Со сжатием lz4
Потоков
60
Время, мм:сс
10:20
Скорость, Тб/час фактическая
10,8
Это был тест на относительно небольшой базе данных размером 4,84 ТБ. Далее была проведена проверка базы данных большего размера — 62 ТБ, и результаты полностью повторились: аналогичная утилизация ресурсов процессора, степень сжатия и увеличение скорости резервного копирования и восстановления.
Размер БД, ТбПотоковВремя, чч:мм:ссСкорость, Тб/час
Бэкап
Бэкап
пусто
пусто
пусто
Размер БД, Тб
4,84
Потоков
16
Время, чч:мм:сс
00:24:48
Скорость, Тб/час
11,7
Размер БД, Тб
62,1
Потоков
16
Время, чч:мм:сс
05:22:01
Скорость, Тб/час
11,6
Восстановление
Восстановление
пусто
пусто
пусто
Размер БД, Тб
4,84
Потоков
32
Время, чч:мм:сс
00:25:20
Скорость, Тб/час
11,5
Размер БД, Тб
62,1
Потоков
32
Время, чч:мм:сс
05:35:09
Скорость, Тб/час
11,1
Небольшое увеличение скорости резервного копирования в этом тесте — результат более корректной настройки сетевых адаптеров системы хранения данных.
Сокращение времени при резервном копировании прогнозируемо. Но как поведут себя прикладные системы с применением сжатия? На этот вопрос ответ получен в рамках публичных испытаний на полигонах индустриального центра компетенций «Финансы».

Испытания FTData и АБС ЦФТ-Банк с базой 76 ТБ

Условия испытаний СУБД FTData и автоматизированной банковской системой ЦФТ-Банк полностью повторяли описанные в предыдущей статье: те же сервера баз данных и приложений, версия СУБД, программа и методика испытаний и инструмент нагрузочного тестирования, за исключением включения режима сжатия базы данных. Вместо исходного размера 76 ТБ, база данных стала занимать 26 ТБ.
Результаты испытаний можно рассмотреть в двух проекциях.
Во-первых, сравнить производительность СУБД FTData с применением и без применения сжатия:
МетрикаFTData 17.5 25.05.26FTData 17.5 05.06.26 со сжатием% FT vs FT'
Метрика
Количество выполненных пользовательских сценариев
FTData 17.5 25.05.26
805 743
FTData 17.5 05.06.26 со сжатием
835 617
% FT vs FT'
4%
Метрика
Среднее время выполнения пользовательских сценариев
FTData 17.5 25.05.26
2,60
FTData 17.5 05.06.26 со сжатием
2,1
% FT vs FT'
-19%
Метрика
Средняя скорость выполнения пользовательских сценариев в мин
FTData 17.5 25.05.26
6 636
FTData 17.5 05.06.26 со сжатием
6 840
% FT vs FT'
3%
Метрика
Количество обработанных интеграционных запросов
FTData 17.5 25.05.26
391 796
FTData 17.5 05.06.26 со сжатием
400 337
% FT vs FT'
2%
Метрика
Среднее время выполнения интеграционных запросов, с
FTData 17.5 25.05.26
2,13
FTData 17.5 05.06.26 со сжатием
2,06
% FT vs FT'
-3%
Метрика
Средняя скорость выполнения интеграционных запросов в мин
FTData 17.5 25.05.26
3 201
FTData 17.5 05.06.26 со сжатием
3 295
% FT vs FT'
3%
Метрика
Количество сформированных документов за тест
FTData 17.5 25.05.26
1 810 345
FTData 17.5 05.06.26 со сжатием
1 878 020
% FT vs FT'
4%
Метрика
Количество проведенных документов за тест
FTData 17.5 25.05.26
1 946 066
FTData 17.5 05.06.26 со сжатием
2 003 919
% FT vs FT'
3%
Метрика
Среднее время формирования документов, с
FTData 17.5 25.05.26
2,43
FTData 17.5 05.06.26 со сжатием
1,76
% FT vs FT'
-28%
Метрика
Средняя скорость формирования документов в минуту
FTData 17.5 25.05.26
14 800
FTData 17.5 05.06.26 со сжатием
15 338
% FT vs FT'
4%
Метрика
Среднее время проводки документов, с
FTData 17.5 25.05.26
2,52
FTData 17.5 05.06.26 со сжатием
2,04
% FT vs FT'
-19%
Метрика
Средняя скорость проводки документов в минуту
FTData 17.5 25.05.26
14 697
FTData 17.5 05.06.26 со сжатием
14 997
% FT vs FT'
2%
Результаты показывают, что, вопреки ожиданиям, сжатие приводит к увеличению производительности во всех проведенных тестах!
Утилизация ресурсов сервера СУБД при этом практически (<3% в среднем) не изменилась:
Без сжатия
Со сжатием
А во-вторых, сравнить поведение СУБД FTData с другой СУБД, проходившей аналогичные испытания с применением сжатия ранее:
МетрикаДругая СУБД 12.02.26FTData 17.5 05.06.26%
Метрика
Количество выполненных пользовательских сценариев
Другая СУБД 12.02.26
767 245
FTData 17.5 05.06.26
835 617
%
9%
Метрика
Среднее время выполнения пользовательских сценариев
Другая СУБД 12.02.26
2,12
FTData 17.5 05.06.26
2,1
%
-1%
Метрика
Средняя скорость выполнения пользовательских сценариев в мин
Другая СУБД 12.02.26
6 639
FTData 17.5 05.06.26
6 840
%
3%
Метрика
Количество обработанных интеграционных запросов
Другая СУБД 12.02.26
360 863
FTData 17.5 05.06.26
400 337
%
11%
Метрика
Среднее время выполнения интеграционных запросов, с
Другая СУБД 12.02.26
2,17
FTData 17.5 05.06.26
2,06
%
-5%
Метрика
Средняя скорость выполнения интеграционных запросов в мин
Другая СУБД 12.02.26
3 157
FTData 17.5 05.06.26
3 295
%
4%
Метрика
Количество сформированных документов за тест
Другая СУБД 12.02.26
1 748 400
FTData 17.5 05.06.26
1 878 020
%
7%
Метрика
Количество проведенных документов за тест
Другая СУБД 12.02.26
1 896 754
FTData 17.5 05.06.26
2 003 919
%
6%
Метрика
Среднее время формирования документов, с
Другая СУБД 12.02.26
2,13
FTData 17.5 05.06.26
1,76
%
-17%
Метрика
Средняя скорость формирования документов в минуту
Другая СУБД 12.02.26
14 843
FTData 17.5 05.06.26
15 338
%
3%
Метрика
Среднее время проводки документов, с
Другая СУБД 12.02.26
2,44
FTData 17.5 05.06.26
2,04
%
-16%
Метрика
Средняя скорость проводки документов в минуту
Другая СУБД 12.02.26
14 638
FTData 17.5 05.06.26
14 997
%
2%
И в этом сравнении СУБД FTData не так значительно, как в прошлой статье, но опережает другую СУБД по производительности.
Вывод: когда сжатие данных помогает повысить производительность
Как зафиксировано в п. 6 итогового протокола испытаний АБС ЦФТ-Банк и СУБД FTData с применением сжатия: «По результатам нагрузочного тестирования установлено, что значения всех зафиксированных метрик демонстрируют положительную динамику по сравнению с результатами теста АБС «ЦФТ-Банк» на несжатой версии СУБД ФТДата от 26.05.2026. Полученные данные свидетельствуют о более высокой производительности СУБД ФТДата при использовании механизма сжатия». То есть ответ на вопрос заголовка статьи дан однозначно. Команда разработчиков СУБД FTData уже ведет интеграцию нескольких альтернативных алгоритмов сжатия, что даст пользователям возможность найти собственную границу между степенью сжатия и производительностью.