Postgres - статьи

Как много дискового пространства


СУБД PostgreSQL может потребоваться дискового пространства до 5 раз больше для сохранения данных из простого текстового файла.

В качестве примера, рассмотрим файл в 100,000 строк в каждой, из которых целое число и текстовое описание. При этом длина текста, в среднем, составляет 20 байт. Размер простого файла составит 2.8 MB. Размер базы PostgreSQL, содержащей эти же данные составит приблизительно 6.4 MB из которых:

32 байт: на каждый заголовок строки в таблице (приблизительно) + 24 байта: одно поле с целочисленным типом и одно текстовое поле + 4 байта: указатель на странице для всей табличной строки ---------------------------------------- 60 байт на строку в таблице

Размер страницы данных в PostgreSQL составляет 8192 байт (8 KB), так что:

8192 байт на страницу --------------------- = 136 строк в таблице на страницу БД (округлённо) 60 байт на строку в таблице

100000 строк данных ----------------------- = 735 страниц в БД (округлённо) 128 строк в таблице на страницу

735 страниц БД * 8192 байт на страницу = 6,021,120 байт (6 MB)

Индексы не требуют так много, но поскольку они создаются для большого количества данных, они также могут быть велики.

Значения NULL хранятся как битовые карты и поэтому они занимают очень мало места.



Содержание раздела