3
Возможности и польза
Данные БД обычно хорошо сжимаются
текстовые данные
дублирование
Преимущества сжатия
уменьшение объема хранения
экономия ресурсов ввода-вывода
последовательное чтение и запись
Сжатие при записи грязного буфера
в буферном кеше нужны несжатые данные
В базах данных обычно хранятся большие объемы текста и
повторяющейся информации. Поэтому для большинства баз сжатие
может быть довольно эффективным и позволяет сократить объем
хранимых данных в несколько раз. PostgreSQL сжимает данные
в TOAST-таблицах, но небольшие текстовые поля, умещающиеся
в странице, не сжимаются. Сжатие может быть полезно не только для
таблиц, но и для индексов по текстовым ключам или для индексов
с большим количеством повторяющихся значений.
Помимо очевидного плюса — экономии места, сжатие может также
увеличить быстродействие системы по двум причинам. Во-первых,
сокращается объем дискового ввода-вывода. Во-вторых, улучшается
кучность хранения, что увеличивает вероятность последовательного
чтения.
Работать со сжатыми данными в общей памяти сервера (в буферном
кеше) непроизводительно, поэтому логично выполнять сжатие
страницы при сохранении грязного буфера и разжимать ее при чтении
в буферный кеш.