Я новичок в PostgreSQL, я никогда не делал большого развертывания, используя его раньше. Но у меня есть хороший опыт в корпоративных решениях, и я хочу попробовать применить кое-что из того, что я узнал, с помощью PostgreSQL.
У меня есть сайт, который рассчитан на большое количество данных и трафика. Инфраструктура будет построена с использованием Amazon (AWS) с использованием экземпляров EC2 и томов EBS.
Проект должен иметь две базы данных, основную транзакционную базу данных и хранилище данных для обработки анализа и отчетности.
Основная транзакционная база данных
будет использоваться для живого веб-сайта, сайт построен на нескольких узлах для увеличения числа одновременных пользователей. В основном мы требуем, чтобы база данных в этом случае была чрезвычайно быстрой при операциях чтения, мы ожидаем, что> 100 ГБ данных при годовом росте 30%. На данный момент мы планируем использовать два сервера EC2 ( и добавим больше по мере необходимости ).
мой вопрос, какова рекомендуемая установка для вышеуказанных требований? Плюс, есть ли способ управлять разделением таблицы и тома? есть ли рекомендации по использованию настройки AWS?
База данных хранилища данных
Будет использоваться в основном для сбора всех данных из основной транзакционной базы данных во временном измерении. таким образом, даже удаленные записи из основной базы данных будут записываться в DWH. Поэтому данные будут очень большими, а рост будет еще больше. Мы также будем использовать пару экземпляров EC2 или более, если это необходимо.
Какая настройка рекомендуется в этом случае? это потребует быстрой операции записи из-за постоянной записи (ETL). Можем ли мы построить кубы OLAP в PostgreSQL? если да, кто-нибудь там пробовал?
Подключение к базе данных
Веб-серверы будут подключаться к основной базе данных для запроса и записи. В настоящее время мы разрабатываем приложение, использующее django, которое использует нативную библиотеку для подключения. Рекомендуется ли использовать тот же основной метод? или мы должны настроить pgpool?
Хранилище данных (ETL)
Каков рекомендуемый способ построения процессов ETL для чтения из основного и загрузки в хранилище данных? Какие-нибудь инструменты? методология следовать? PostgreSQL предлагает какие-либо полезные функции / инструменты для построения ETL-процессов?