Arenadata PostgreSQL (ADPG): Обзор, применение и технический анализ
Arenadata PostgreSQL (ADPG) — это промышленная редакция популярной СУБД PostgreSQL, адаптированная под корпоративное использование и требования российского законодательства. Она входит в экосистему Arenadata Platform, поддерживает сертификацию ФСТЭК, встроена в ADCM (Arenadata Cluster Manager) и интегрируется с другими продуктами: ADB, Catalog, Harmony, LogSearch и др.
Бизнес-применение
Для каких задач подходит ADPG:
- Транзакционные системы (OLTP) — CRM, ERP, биллинг, интернет-магазины.
- Хранилища справочных данных — продукты, клиенты, партнёры.
- Системы управления мастер-данными (MDM) — в связке с Harmony.
- Интеграционные хабы — приём/выдача данных, REST- и gRPC-сервисы.
- Источник данных для аналитики и BI — как витрина или staging.
- Системы с требованиями безопасности и контроля доступа.
Особенности и преимущества ADPG
|
Характеристика |
Описание |
|---|---|
|
Совместимость |
100% совместимость с PostgreSQL 13–15 |
|
Безопасность |
Поддержка TLS, SCRAM, GSSAPI, ФСТЭК-сертификация |
|
Пакетная сборка |
DEB / RPM / Tar + поддержка через ADCM |
|
Интеграция |
Встроен в Arenadata Platform: Harmony, Catalog, LogSearch |
|
Расширения |
Поддержка pg_partman, pg_cron, plv8, postgis, timescaledb |
|
Многозадачность |
Поддержка JSONB, Full-Text Search, Window Functions, CTE |
|
Развёртывание |
On-premise, airgap, ADCM, Ansible, Helm (K8s) |
|
Monitoring |
Prometheus exporters + готовые Grafana dashboards |
|
Репликация |
Потоковая (streaming), логическая (logical), WAL shipping |
Техническая архитектура
Компоненты:
- postgresql.conf — конфигурация инстанса.
- pg_hba.conf — управление доступом.
- data/ — каталоги с таблицами и транзакциями.
- pg_stat_* и pg_catalog.* — системные таблицы и метрики.
Расширения:
- plpgsql, plv8, pgcrypto, postgis, dblink, pg_stat_statements, pg_partman
Поддержка:
- UTF-8, COLLATE, ENUM, JSON, XML
- Индексы: B-Tree, GIN, BRIN, GIST
- Partitioning: declarative и range/list/hash
- Transaction Isolation: Read Committed / Repeatable Read / Serializable
Использование ADPG в проектах
1. Как OLTP-сервер
- Низкая задержка (<10 мс)
- Поддержка до 100k TPS с грамотной настройкой
- Индексы по условиям, уникальности и полнотекстовому поиску
2. В аналитике
- Использование CTE, оконных функций, агрегаций
- Возможность подключения BI через JDBC/ODBC
- Интеграция с ADB как staging-слой
3. В микросервисах
- Используется как надёжное хранилище состояния
- Часто обёрнут REST API через PostgREST / Hasura
- Используется с Kafka, Debezium, CDC-инфраструктурой
Эксплуатация
Установка:
- Через ADCM или вручную (RPM/DEB)
- Инициализация: initdb, pg_ctl, systemctl enable postgresql
Администрирование:
- Подключение: psql, pgadmin, DBeaver
- Создание пользователей и ролей: CREATE ROLE ...
-
Резервное копирование:
- pg_basebackup (hot backup)
- pg_dump / pg_dumpall (логическая выгрузка)
- Архивирование WAL через Barman / pgBackRest
Мониторинг:
- pg_stat_activity, pg_stat_statements, pg_locks
- postgres_exporter → Prometheus → Grafana
- Алерты: long transactions, bloated tables, replication lag
Безопасность:
- RBAC, аудит, фильтрация по IP
- TLS с клиентами и между узлами
- Поддержка Kerberos / LDAP / SCRAM / GSSAPI
Преимущества ADPG
- Полная совместимость с PostgreSQL (без vendor lock)
- Доступность как сертифицированного решения для гос/финансового сектора
- Поддержка всех PostgreSQL-инструментов (PgBouncer, Patroni, pgBadger и др.)
- Интеграция в Arenadata Platform (логирование, резервное копирование, BI, MDM)
- Управление и обновление через ADCM (в т.ч. в airgap-контуре)
Ограничения
- Не предназначен для MPP-нагрузок (анализ больших объёмов → лучше использовать ADB/ADQM)
- Репликация требует настройки и внимания (не auto-healing)
- Отсутствие встроенного масштабирования → внешний sharding через Citus/pg_shard
- Время восстановления при больших объёмах требует тщательной стратегии бэкапа
Примеры использования
-
Мастер-данные + аналитика
ADPG хранит справочники, ADB — факты, BI соединяет их в одном отчёте. -
Интеграционный узел
ADPG ← Kafka (CDC из 1С) → Harmony → ADQM → BI. -
Финансовая система
Хранение проводок, сессий, логов действий. Использование PostGIS для геоанализов.
Особенности ADPG для разработчиков
|
Компонент |
Возможности |
|---|---|
|
Полноценный SQL |
Поддержка CTE, Window, JSON, UPSERT, RETURNING |
|
Расширения |
plv8, postgis, pg_stat_statements, dblink, uuid-ossp |
|
JSONB-хранилище |
Структурированное хранение, индексация, JSON-функции |
|
Расширяемость |
Хранимые функции на PL/pgSQL, PL/Python, PL/JavaScript |
|
Объекты безопасности |
ROLES, GRANT, SECURITY LABELS, ROW-LEVEL SECURITY |
|
Работа с BI |
JDBC/ODBC, Superset, Power BI, FineBI |
|
Потоковая интеграция |
Поддержка CDC через wal2json, pgoutput, Kafka, NiFi |
|
Распараллеливание |
parallel_seqscan, parallel_aggregate, parallel_hashjoin |
Интеграция и DevOps
CI/CD с ADPG:
- Использование миграций через Liquibase, Flyway, Sqitch
- Проверка схем через pg_diff, pg_dump --schema-only
- Юнит-тесты функций на PL/pgSQL
- Контейнеризация с Docker + Healthcheck
- Автотесты через pgTAP
Репликация и CDC:
- PostgreSQL streaming replication
- Debezium + Kafka → downstream системы
- logical_replication для микросервисов с cache/event sourcing
Мониторинг:
- pg_stat_activity, pg_stat_statements
- postgres_exporter + Grafana
- Алерты по long running query, WAL lag, deadlocks
Использование в BI и аналитике
- Источник для BI
- Возможность агрегаций, денормализаций, формирования витрин
- Использование materialized views с рефрешем по расписанию
- Часто используется в связке с ADB и ADQM
Безопасность
- TLS между клиентом и сервером
- SCRAM-SHA-256, LDAP, Kerberos
- pg_audit, Row-Level Security, журналирование логинов
- Поддержка ФСТЭК-профиля и требования по ГОСТ
Преимущества
|
Плюс |
Описание |
|---|---|
|
Open Source + Enterprise поддержка |
Безопасность + контроль качества |
|
Мощные инструменты аналитики |
CTE, JSON, оконные функции |
|
Простота интеграции |
BI, REST, Kafka, ETL |
|
Гибкость разработки |
Расширения, триггеры, REST API |
|
Готовность к CI/CD |
Инфраструктура тестов и миграций |
Минусы и ограничения
|
Минус |
Описание |
|---|---|
|
Нет нативного горизонтального шардинга |
Используется Citus/pg_shard |
|
Ограниченная масштабируемость по CPU |
Нужна вертикализация |
|
Управление отказоустойчивостью вручную |
Требует Patroni / Repmgr |
Заключение
Arenadata ADPG — это PostgreSQL корпоративного класса, адаптированный под задачи разработчиков в real-world проектах: от CRUD-приложений до BI и микросервисов. Поддерживает стандарты открытых технологий, развёртывается через ADCM и отлично сочетается с остальными продуктами Arenadata (Harmony, Catalog, ADB). Это надёжная транзакционная СУБД с корпоративным уровнем поддержки, возможностью сертификации и глубокой интеграцией в платформу Arenadata. Идеально подходит для OLTP-систем, микросервисных API, MDM и подготовительных витрин.



