Хмарний сервер для PostgreSQL в Європі

Хмарний сервер для PostgreSQL в Європі

Хмарний сервер для PostgreSQL в Європі

PostgreSQL - це база даних, яку обирають для застосунків, що потребують надійності, складних запитів та суворої цілісності даних. Якщо ваші користувачі або бізнес знаходяться в Європі, запуск PostgreSQL на хмарному сервері ЄС - це не лише технічна перевага, але й юридична необхідність відповідно до GDPR.

Чому резиденція даних в ЄС важлива для PostgreSQL

GDPR вимагає, щоб персональні дані жителів ЄС оброблялись під юрисдикцією ЄС. Розміщення бази даних PostgreSQL на сервері, фізично розташованому в ЄС та керованому компанією з ЄС, задовольняє вимоги до резиденції даних без складних угод про обробку даних з американськими гіперскейлерами.

Крім дотримання вимог, сервери ЄС забезпечують меншу затримку для європейських користувачів. База даних у Франкфурті або Празі відповідає на 30-80 мс швидше для берлінського застосунку, ніж та, що розміщена у Вірджинії.

Мінімальні характеристики для PostgreSQL

  • Малий (dev/staging) - 4 vCPU, 8 ГБ RAM, 100 ГБ NVMe SSD
  • Середній (виробничий застосунок) - 8 vCPU, 32 ГБ RAM, 500 ГБ NVMe SSD
  • Великий (аналітика або OLTP з великою кількістю записів) - 16+ vCPU, 64-128 ГБ RAM, 1+ ТБ NVMe SSD

PostgreSQL значно виграє від більшого обсягу RAM - чим більші shared_buffers та effective_cache_size, тим менше операцій вводу-виводу диска.

Рекомендована конфігурація DCXV

Хмарні сервери DCXV працюють на сертифікованій інфраструктурі Tier III в ЄС зі сховищем на базі NVMe. Практичне виробниче налаштування PostgreSQL на DCXV:

  • 8 vCPU, 32 ГБ RAM, 500 ГБ NVMe - обробляє більшість виробничих баз даних SaaS
  • 16 vCPU, 64 ГБ RAM, 1 ТБ NVMe - аналітичні бази даних з паралельними запитами

Зв'яжіться з sales@dcxv.com для обговорення вашого навантаження.

Команди швидкого налаштування

# Встановлення PostgreSQL 16 на Ubuntu 22.04
sudo apt update && sudo apt install -y postgresql-16

# Запуск та активація сервісу
sudo systemctl start postgresql
sudo systemctl enable postgresql

# Перехід до користувача postgres
sudo -u postgres psql

# Створення бази даних та користувача
CREATE DATABASE myapp;
CREATE USER myapp_user WITH ENCRYPTED PASSWORD 'strongpassword';
GRANT ALL PRIVILEGES ON DATABASE myapp TO myapp_user;
# Основні параметри postgresql.conf для сервера з 32 ГБ RAM
shared_buffers = 8GB
effective_cache_size = 24GB
work_mem = 64MB
maintenance_work_mem = 2GB
wal_buffers = 64MB
max_connections = 200

Що насправді робить кожен параметр пам'яті

Чотири значення в тому блоці конфігурації не випадкові, і лише одне з них обмежує сервер загалом. Саме через плутанину тут машина з достатньою пам'яттю починає використовувати swap:

Параметр Що охоплює Значення вище Як зрозуміти, що воно хибне
shared_buffers Спільний кеш сторінок, один на сервер 8 ГБ Читання йдуть на диск, хоча вільна пам'ять не задіяна
work_mem Одне сортування або хеш, на операцію 64 МБ У журналі з'являються тимчасові файли або сервер іде у swap
maintenance_work_mem VACUUM і побудова індексів, на воркер 2 ГБ Autovacuum ніколи не завершується на найбільшій таблиці
effective_cache_size Нічого - це підказка планувальнику 24 ГБ Планувальник вибирає послідовне сканування замість гарного індексу

Найбільше шкодить work_mem. Він діє на кожне сортування, а не на з'єднання, тому запит із трьома сортуваннями на п'ятдесяти з'єднаннях може попросити в сто п'ятдесят разів більше, ніж ви вказали. Підвищуйте його для конкретного звітного запиту в його ж сеансі, а не для всього сервера.

Очікувані показники продуктивності

На екземплярі з 8 vCPU / 32 ГБ RAM / NVMe з PostgreSQL 16:

  • pgbench TPS (лише читання) - 12 000-18 000 TPS
  • pgbench TPS (читання-запис) - 4 000-7 000 TPS
  • Затримка пошуку одного рядка (з індексом) - менше 0,5 мс

Це очікування для заліза цього класу, а не заміри в нашій лабораторії. Використовуйте їх як відправну точку для сайзингу і міряйте своє навантаження: реальні числа залежать від ваших даних, запитів і налаштувань значно більше, ніж від провайдера.

PostgreSQL рідко працює сам. Щоб урахувати пам'ять бази поруч з API, воркером і кешем, дивіться Як підібрати хмарний сервер для SaaS - розібраний приклад на Docker Compose.

Висновок

PostgreSQL на хмарному сервері ЄС забезпечує відповідність GDPR, малу затримку для європейських користувачів та повний контроль над вашими даними. Почніть з правильно розмірного екземпляра DCXV та застосуйте параметри налаштування вище.

Starlink Mini 2 за CGNAT: як дістатися до об'єкта, що переїжджає
networkingcloudinfrastructure

Starlink Mini 2 за CGNAT: як дістатися до об'єкта, що переїжджає

Starlink Mini 2 вийшла, але стандартні тарифи сидять за CGNAT. Ми порахували 990 208 IPv4 на 12+ млн клієнтів і порівняли чотири способи дістатися до об'єкта.

Протести проти дата-центрів у Європі: що робити клієнтам
clouddedicatedinfrastructure

Протести проти дата-центрів у Європі: що робити клієнтам

6 листопада сотні людей увійшли на будмайданчик дата-центру Microsoft в Амстердамі. Цифри мережі Нідерландів, виміряна затримка до хабів ЄС і поради клієнтам.

Виборці США відхилили дата-центри 45 до 1: уроки покупцям
clouddedicatedinfrastructure

Виборці США відхилили дата-центри 45 до 1: уроки покупцям

47 голосувань у США щодо дата-центрів: обмежувальна сторона виграла 45. Ми перерахували сирі дані й пояснюємо, що це означає для тих, хто орендує сервери.

AWS BYOIP у 2026: $43.80 за IPv4 чи власний блок /24
ipv4pricingcloud

AWS BYOIP у 2026: $43.80 за IPv4 чи власний блок /24

AWS бере $0.005 на годину за публічну IPv4, $43.80 на рік. BYOIP без цієї плати: коли куплений чи орендований /24 окупається, і перевірка готовності ROA.

Відхід від VMware після Broadcom: перевірений план міграції
clouddedicatedinfrastructure

Відхід від VMware після Broadcom: перевірений план міграції

Broadcom скасував безстрокові ліцензії, урізав партнерів і сховав VDDK. Як перенести ВМ на KVM, Proxmox чи Hyper-V: дати, факти і перевірена конвертація OVA.