Я зовсім новачок у PostgreSQL, я ніколи не робив великого розгортання, використовуючи його раніше. Але я маю хороший досвід у вирішенні корпоративних рішень і хочу спробувати застосувати частину того, що я навчився за допомогою PostgreSQL.
У мене є розмір сайту для обробки великої кількості даних та трафіку. Інфраструктура буде побудована за допомогою Amazon (AWS) з використанням екземплярів EC2 та обсягів EBS.
Дизайн повинен мати дві бази даних, основну транзакційну базу даних та сховище даних для обробки аналізу та звітності.
Основна транзакційна база даних
буде використовуватися для веб-сайту в реальному часі, сайт побудований на декількох вузлах для збільшення масштабів одночасних користувачів. В основному ми вимагаємо, щоб база даних для цього випадку була надзвичайно швидкою в операціях зчитування, ми очікуємо> 100 ГБ даних з 30% річного зростання. На даний момент ми плануємо використовувати два EC2-сервери ( і додати більше пізніше, як нам потрібно ).
моє запитання, яка рекомендована установка для вищезазначених вимог? Плюс, чи є спосіб керувати таблицею та розділенням томів? чи є рекомендації щодо використання налаштування AWS?
База даних сховища даних
Використовуватимуться головним чином для збору всіх даних з основної транзакційної бази даних у часовому вимірі. Таким чином, навіть видалені записи з основної бази даних будуть захоплюватися в DWH. Тому дані будуть дуже великими, а зростання буде ще більшим. Ми також використовуватимемо декілька екземплярів EC2 або більше, якщо потрібно.
Яка рекомендована установка в цьому випадку? для цього знадобиться швидка операція запису через постійну запис (ETL). Чи можемо ми побудувати кубики OLAP в PostgreSQL? якщо так, хтось там спробував?
Підключення до бази даних
Веб-сервери підключатимуться до основної бази даних для запиту та запису. Зараз ми розробляємо додаток, використовуючи django, який використовує рідну бібліотеку для підключення. Чи рекомендується використовувати той самий основний метод? чи ми повинні налаштувати pgpool?
Склад даних (ETL)
Який рекомендований спосіб побудови процесів ETL для зчитування з основного та завантаження до сховища даних? Будь-які інструменти? методології, яку слід дотримуватися? чи пропонує PostgreSQL корисні функції / інструменти для побудови процесів ETL?