Дано:
- таблица БД только с числовой статистикой
- двоичный дамп таблицы - запись после записи
- протокол буферизации дамп таблицы - использованиеПрото-схема, созданная из схемы таблицы
Как я и ожидал, двоичный дамп, создаваемый буферами протокола, меньше, чем простой двоичный дамп той же таблицы:
PS Z:\dev\internal\vedtool> dir net_endshapes_stat.data | % { "$($_.Name): $($_.Length)B" }
net_endshapes_stat.data: 2941331B
net_endshapes_stat.data: 4311042B
ОднакоКогда я сжал оба файла с помощью 7z, используя Ultra level и метод LZMA, я обнаружил, что файл большего размера сжимается лучше:
PS Z:\dev\internal\vedtool> dir net_endshapes_stat.7z | % { "$($_.Name): $($_.Length)B" }
net_endshapes_stat.7z: 1206186B
net_endshapes_stat.7z: 1055901B
Теперь я понимаю, что все в порядке, и все же мне интересно, есть лиалгоритм сжатия, лучше настроенный для работы с выходными данными буферов протокола.
EDIT
Вот схема протокола:
message net_endshapes_stat {
optional fixed32 timestamp = 1;
optional sint32 shape_id = 2;
optional sint64 bps_in = 3;
optional sint64 bps_out = 4;
optional sint64 total_in = 5;
optional sint64 total_out = 6;
}