Горизонтальне масштабування

🌐 Цей документ доступний українською та англійською мовами. Використовуйте перемикач у правому верхньому куті, щоб змінити версію.

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

У цій архітектурі використовується Crunchy PGO для управління PostgreSQL та керування репліками "лише для читання", додаючи або видаляючи їх згідно з налаштуваннями.

Додатково використовується PgPool-II для маршрутизації всіх запитів до бази даних на відповідні вузли. PgPool-II є потужним проміжним програмним забезпеченням, яке діє як проксі між клієнтами та вузлами бази даних PostgreSQL.

Всі запити на запис PgPool-II відправляє до primary вузла, який відповідає за управління головною копією бази даних. У режимі синхронної реплікації всі репліки отримують запити та реплікують дані з первинного вузла. Це забезпечує, те що всі вузли мають однакові дані, і будь-які зміни, внесені в первинний вузол, з’являються на репліках в режимі реального часу.

Для запитів, які не передбачають запис, PgPool-II балансує навантаження між всіма вузлами. Це допомагає розподілити роботу між усіма вузлами та покращити загальну продуктивність та час відгуку системи.