Назад | Перейти на главную страницу

PostgreSQL 8.4 - Оптимизация табличного пространства

В настоящее время я использую базу данных PostgreSQL с примерно 1,5 миллиардами строк / 500 ГБ данных (включая индексы). Существует несколько схем: для «базовой модели» (только чтение, нерегулярные изменения / обновления) и по одной для каждого пользователя (около 20 человек). Пользователи могут получить доступ к ядру и хранить данные в своей собственной схеме, поэтому все находится в одной базе данных.

Сервер работает с CentOS и PostgreSQL 8.4 и используется для научных исследований, исследований и т. Д. И работает достаточно хорошо.

В наши дни прибывают апгрейды жестких дисков хранилища БД - все с той же производительностью, что и старые.

Ищу лучший способ распределить данные на этих дисках. Можно было бы отделить часто используемые объекты (основные данные) от пользовательских схем, но я не уверен, действительно ли это того стоит.

Кажется, гораздо лучше переместить файлы WAL (каталог pg_xlog) в отдельный раздел.

http://www.postgresql.org/docs/8.4/static/wal-internals.html

Каково ваше мнение? Есть ли какая-либо документация / тесты производительности, связанные с табличным пространством или секционированием?

Определенно важнее переместить файлы WAL, если вы еще этого не сделали. Не начинайте перемещать отдельные столы до тех пор, пока это не понадобится - особенно, если скорости дисков более или менее равны.

Разделение WAL - определенно лучший способ с точки зрения соотношения затрат и выгод.