BI Consult Desktop Logo BI Consult Mobile Logo
  • Russian BI Исследование российских bi
  • Перейти на Fine BI
  • Контакты
  • +7 812 334-08-01
    +7 499 608-13-06
  • Отправить сообщение
  • Главная
  • Продукты Эксперт-BI
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Сельское хозяйство
    • Энергетика
    • FMCG
    • Девелоперы
    • Маркетплейсы
    • Пищевая промышленность
    • Фармацевтика
    • Построение Data Platform
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и FP&A
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • IBP
    • ИТ (CIO)
    • Закупки
  • Платформы
    • Системы бизнес-анализа (BI)
    • Интегрированное бизнес-планирование (IBP)
    • Хранилища данных (DWH / Lakehouse)
    • Каталоги данных (Data Catalog)
    • Системы ETL и ELT
    • AI / Исскуственный интеллект
    • Шина данных (ESB)
    • Система управления мастер-данными (MDM)
    • Семантический слой
  • Услуги
    • Переход на отечественные BI и DWH системы
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений и DWH
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Курсы
    • Учебный курс Информационная грамотность (Data Literacy)
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Greenplum
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt (Data Build Tool)
  • Компания
    • Руководство
    • Новости
    • Клиенты
    • Карьера
    • Скачать
    • Контакты

BI

  • FineBI
  • FineReport
  • FineDataLink
  • FineChatBI (FineAI)
  • Коннекторы данных из 1С в BI
  • Airflow / Nifi
  • Visiology
  • PIX BI
  • Modus BI
  • Yandex.DataLens
  • Open-source BI: Superset/Metabase
  • Luxms BI
  • AW BI + Alpha BI
  • FlyBI + Форсайт. Аналитическая Платформа
  • Loginom
  • Триафлай
  • AI / Исскуственный интеллект
  • Optimacros
  • Навигатор BI
  • Семантический слой

СУБД

  • Arenadata
  • ClickHouse
  • Greenplum
  • Postgres Professional
  • TData

Другое

  • Построение Data Platform
    • Аналитическое хранилище данных
    • Data Lake и Data Engineering
    • Подробнее про Data Lake
    • Внедрение Lakehouse
      • Apache Doris
      • StarRocks
      • Trino
    • Миграция витрин из пропиетарных DWH на новый стек
    • Учебный курс "Современная архитектура хранилища данных"
Главная » Российские платформы современного стека хранения, обработки и анализа данных » Хранилища данных (DWH / Lakehouse) » Postgres Professional » Учебный курс: Postgres Pro для хранилищ данных (DWH) » Модуль 3. Инфраструктура и развертывание Postgres Pro

Модуль 3. Инфраструктура и развертывание Postgres Pro

Успешная реализация хранилища данных на базе Postgres Pro требует не только грамотного моделирования, но и правильной инфраструктурной подготовки. От того, как развернута система, какие параметры конфигурации заданы и как организовано физическое хранение данных, напрямую зависит производительность аналитических запросов, устойчивость к нагрузкам и удобство сопровождения.

В этом модуле рассмотрим пошагово:

  • установку Postgres Pro;
  • настройку параметров под аналитические нагрузки;
  • принципы организации физического хранения данных, включая tablespaces и секционирование.

 

Раздел 1. Установка Postgres Pro

1.1 Поддерживаемые операционные системы

Postgres Pro поддерживается на следующих дистрибутивах Linux:

  • Astra Linux (Смоленск, Орел)
  • РЕД ОС
  • Альт Линукс
  • ROSA
  • CentOS 7 и 8
  • Rocky Linux 8 и 9
  • Ubuntu 20.04 и 22.04
  • Debian 10 и 11

 

1.2 Установка из официальных репозиториев

Пример для Debian/Ubuntu:

  1. Добавить репозиторий:
echo "deb https://repo.postgrespro.ru/deb/ stable main" | sudo tee /etc/apt/sources.list.d/postgrespro.list
wget -q https://repo.postgrespro.ru/keys/ACCC4CF8.asc -O- | sudo apt-key add -
sudo apt update

 

  1. Установить пакет:
sudo apt install postgrespro-std-15

 

Аналогично можно установить версии enterprise, certified и их комбинации.

 

1.3 Инициализация кластера

sudo /opt/pgpro/std-15/bin/initdb -D /var/lib/pgpro/std-15/data

 

1.4 Запуск службы

sudo systemctl start postgrespro-std-15
sudo systemctl enable postgrespro-std-15

 

Установка Postgres Pro может быть выполнена различными способами в зависимости от ваших потребностей и операционной системы. Ниже приведены основные методы установки:

 

Установка из двоичных пакетов

Postgres Pro предоставляет двоичные пакеты для различных дистрибутивов Linux, включая:

  • Red Hat Enterprise Linux (RHEL) и производные: CentOS, Rocky Linux, Oracle Linux.
  • Debian и производные: Ubuntu, Astra Linux.
  • Альт Линукс.
  • SUSE Linux Enterprise Server (SLES).

 

Быстрая установка

Для быстрой установки выполните следующие шаги:

  1. Подключите репозиторий пакетов, предназначенный для вашей операционной системы.
  2. Установите пакет postgrespro-std-<версия> или postgrespro-ent-<версия>, в зависимости от выбранной редакции.

 

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

 

Расширенная установка

Для более гибкой настройки:

  1. Подключите репозиторий пакетов, предназначенный для вашей операционной системы.
  2. Выберите и установите необходимые пакеты, такие как:
    • postgrespro-std-<версия>-server
    • postgrespro-std-<версия>-client
    • postgrespro-std-<версия>-libs
    • postgrespro-std-<версия>-contrib
    • postgrespro-std-<версия>-devel
    •  
  3. Инициализируйте кластер баз данных с помощью команды:
/opt/pgpro/std-<версия>/bin/pg-setup initdb
  1. Запустите сервер:
/opt/pgpro/std-<версия>/bin/pg-setup service start

 

Установка с использованием Docker

Postgres Pro предоставляет официальные образы Docker. Для установки выполните:

docker pull postgrespro/postgrespro-std:<версия>
docker run --name pgpro -e POSTGRES_PASSWORD=yourpassword -d postgrespro/postgrespro-std:<версия>:contentReference[oaicite:81]{index=81}

 

Замените <версия> на нужную вам версию, например, 14.

 

Установка из исходного кода

Если вам требуется собрать Postgres Pro из исходников:

  1. Скачайте исходный код с официального сайта.
  2. Распакуйте архив и перейдите в каталог с исходниками.
  3. Выполните команду конфигурации:
./configure --prefix=/usr/local/pgsql
  1. Соберите и установите:
make
make install:contentReference[oaicite:106]{index=106}
  1. Создайте кластер баз данных:
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
  1. Запустите сервер:
/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start

 

Дополнительные настройки

  • Для настройки автоматического запуска сервера используйте системные средства управления службами, такие как systemctl.
  • Убедитесь, что каталоги данных и табличных пространств исключены из проверки антивирусным программным обеспечением, чтобы избежать проблем с производительностью.

 

Для получения более подробной информации и инструкций, пожалуйста, обратитесь к официальной документации Postgres Pro, соответствующей вашей версии и редакции.

 

2. Конфигурация параметров для аналитических нагрузок

Postgres Pro предоставляет гибкую систему настройки конфигурации через файл postgresql.conf. Параметры следует адаптировать под аналитические задачи с учетом объема памяти, типов запросов и частоты агрегаций.

 

2.1 shared_buffers

  • Описание: объем памяти, выделяемый под кэш буферов данных.
  • Рекомендуемое значение: от 25 до 40 процентов доступной оперативной памяти.
  • Пример:

 

shared_buffers = 8GB

 

2.2 work_mem

  • Описание: объем памяти, выделяемый под сортировку и хэш-операции в рамках одного запроса.
  • Важно: применяется на каждый узел плана запроса.
  • Для аналитики часто увеличивают до 64MB и более.
  • Пример:

 

work_mem = 128MB

 

2.3 maintenance_work_mem

  • Описание: память для операций VACUUM, CREATE INDEX, CLUSTER.
  • Для крупных таблиц рекомендуется увеличить до нескольких гигабайт.
  • Пример:

 

maintenance_work_mem = 2GB

 

2.4 effective_cache_size

  • Описание: предположительный объем кэша ОС, доступный PostgreSQL.
  • Обычно задается как 50-75 процентов всей памяти.
  • Пример:

 

effective_cache_size = 24GB

 

2.5 parallel_workers, max_parallel_workers, parallel_setup_cost

  • Описание: параметры для управления параллельным выполнением запросов.
  • Пример конфигурации:

 

max_parallel_workers = 16
parallel_workers = 8
parallel_setup_cost = 1000
parallel_tuple_cost = 0.05

 

2.6 random_page_cost и seq_page_cost

  • Описание: стоимость случайного и последовательного доступа к диску.
  • Для SSD можно снизить random_page_cost.
  • Пример:

 

random_page_cost = 1.1
seq_page_cost = 1.0

 

2.7 jit и jit_provider

  • Описание: включение JIT-компиляции запросов.
  • JIT стоит включать при наличии CPU с поддержкой LLVM.
  • Пример:

 

jit = on
jit_provider = llvmjit

 

Раздел 3. Организация хранения данных

3.1 Tablespaces

Tablespace — это логическое имя для набора файлов данных, хранящихся в определенной директории. Используется для распределения данных по разным дискам или файловым системам.

 

Создание tablespace:

mkdir /mnt/disk1/pgdata_ts

chown postgres:postgres /mnt/disk1/pgdata_ts

 

CREATE TABLESPACE fast_space LOCATION '/mnt/disk1/pgdata_ts';

 

Использование tablespace:

CREATE TABLE big_fact_table (
    id BIGINT,
    value NUMERIC
) TABLESPACE fast_space;

 

Tablespaces часто применяются:

  • для разгрузки основного тома;
  • для размещения таблиц с высокой частотой чтения или записи;
  • для хранения индексов отдельно от данных.

 

3.2 Секционирование (partitioning)

Секционирование позволяет разбивать одну логическую таблицу на множество физических подтаблиц (партиций) для повышения производительности.

 

Типы секционирования:

  • Range (по диапазону значений)
  • List (по значениям из списка)
  • Hash (по хэшу значения)

 

Пример range-секционирования:

CREATE TABLE sales (
    id SERIAL,
    sale_date DATE,
    amount NUMERIC
) PARTITION BY RANGE (sale_date);

 

CREATE TABLE sales_2023_01 PARTITION OF sales
    FOR VALUES FROM ('2023-01-01') TO ('2023-02-01');

CREATE TABLE sales_2023_02 PARTITION OF sales
    FOR VALUES FROM ('2023-02-01') TO ('2023-03-01');

 

Преимущества:

  • быстрый доступ к нужному разделу;
  • эффективная очистка устаревших данных (DROP PARTITION);
  • параллельная обработка разделов;
  • возможность использования отдельных индексов на партициях.

 

Управление:

В Postgres Pro можно автоматизировать создание и удаление секций через pg_pathman или планировщик pgpro_scheduler.

 

Раздел 4. Практические рекомендации

  1. Используйте секционирование для всех крупных таблиц с временным признаком.
  2. Настраивайте tablespaces так, чтобы разделы и индексы хранились на отдельных томах.
  3. Увеличивайте work_mem и shared_buffers в зависимости от объема запросов и отчетов.
  4. Применяйте JIT только если нагрузка состоит из сложных вычислений.
  5. Используйте логическую репликацию и WAL-архивацию для резервирования.
  6. Мониторьте pg_stat_statements, pgpro_stats и используйте pgpro_scheduler для планирования задач.

 

Заключение

Инфраструктура Postgres Pro дает широкие возможности для адаптации под высоконагруженные аналитические задачи. Благодаря грамотной настройке параметров и применению современных механизмов хранения данных — таких как секционирование и tablespaces — можно добиться высокой производительности, отказоустойчивости и масштабируемости хранилища.

 

 

 

Postgres Professional — это российская промышленная СУБД, созданная на базе открытого PostgreSQL, но значительно расширенная для корпоративного применения. В отличие от классического PostgreSQL, решения от Postgres Professional включают в себя поддержку российских ГОСТов и сертификацию ФСТЭК, повышенную надёжность, оптимизации под высоконагруженные системы (в том числе 1С и DWH), инструменты резервного копирования, мониторинга и отказоустойчивости. За платформой стоит команда ядра PostgreSQL в России, что гарантирует актуальность, стабильность и экспертную техническую поддержку 24/7.

Для компаний, которым важно не просто использовать PostgreSQL, а внедрить его на уровне корпоративных стандартов — с гарантией, сопровождением, документированными улучшениями и адаптацией под российское законодательство — Postgres Pro Enterprise становится логичным выбором. Это не просто бесплатная база данных, а полноценный продуктовый стек, совместимый с BI, аналитикой, ERP, 1С и другими системами, в том числе импортозамещёнными.

 

Узнать стоимость решенияЗапросить видео презентацию

← Предыдущая статья
Модуль 2. Проектирование хранилища данных на Postgres Pro
Следующая статья →
Модуль 4. Загрузка и трансформация данных (ETL/ELT) в Postgres Pro

Решения

Анализировать ФинансыУвеличивайте ПродажиОптимальный Склад и ЛогистикаМаркетинговые Метрики

Клиенты
  • Российский филиал одного их ведущих мировых производителей и дистрибьютеров косметики Estee Lauder Companies Inc. выбрал аналитическую платформу Loginom для предиктивной аналитики продаж как в офлайн-, так и в онлайн-канале.

  • ООО "Интернэшнл Ресторант Брэндс" – это крупнейший франчайзинговый партнер компании Yum! Brands Russia & CIS в России, отвечающий за рост и развитие бренда KFC на территории РФ. На сегодняшний день у компании более 350 ресторанов. Ежедневно в рестораны приходит 200 000+ гостей.

  • ПАО АНК «Башнефть» — российская вертикально-интегрированная нефтяная компания, с 2016 года входит в ПАО НК «Роснефть». Главный офис расположен в городе Уфе (Башкортостан). Добыча углеводородов – более 21 млн тонн нефти в год. Объем переработки – более 18 млн тонн нефти в год. Число сотрудников – более 33 тыс. человек.

  • ПАО «Транснефть» – крупнейшая российская нефтепроводная компания. «Транснефть» обеспечивает транспортировку более 85% добываемых в России нефти и нефтепродуктов.

  • Решения
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Энергетика
    • Фармацевтика
  • Услуги
    • Переход на отечественные BI и DWH
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Техническая поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Платформы
    • FineBI
    • FineReport
    • FineDataLink
    • Коннекторы данных из 1С в BI
    • Airflow + NiFi
    • Visiology
    • Luxms BI
    • Modus BI
    • PIX BI
    • Arenadata
    • ClickHouse
    • Greenplum
    • Postgres Professional
    • Open-source BI: Superset/Metabase
    • Loginom
    • Yandex.DataLens
    • AI / Исскуственный интеллект
    • Optimacros
    • Шины данных
  • Курсы
    • Учебный курс Информационная грамотность
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt
  • Функциональные решения
    • Создание Data Lake
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и прогнозная аналитика
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • Сквозная аналитика
  • Компания
    • О нас
    • Руководство
    • Новости
    • Клиенты
    • Скачать
    • Контакты
    • Политика конфиденциальности
RutubeVkontakteLinkedInYouTube
ООО "Би Ай Консалт",
ИНН: 7811437757,
ОГРН: 1097847154184
199178, Россия,
Санкт-Петербург,
6-ая линия В.О., Д. 63, 4 этаж
Тел: +7 (812) 334-08-01
Тел: +7 (499) 608-13-06
E-mail: info@biconsult.ru

 

 

 

 

 

×

Пользуясь сайтом, вы соглашаетесь с использованием cookies и политикой конфиденциальности.