Разработать базу данных с нуля. СУБД: PostgreSQL. Необходимо разработать упрощенную минималистичную базу данных интернет-магазина для поддержки каталога с товарами и корзиной. Фронтенд не предполагается. Что нужно ещё: провести инструктаж и обучить пользователей. Специфицировать операции create/read/update/delete для товаров, корзин, заказов в виде HTTP-запросов (задание параметров и методов запросов на усмотрение). Материализовать базу данных в PostgreSQL, а веб-сервис на любом языке программирования с применением любых средств на усмотрение студента. Никакого Frontend не предполагается. Два решения, которые можно использовать: - Java Servlet на Apache Tomcat (https://coderlessons.com/tutorials/java-tekhnologii/uchit-servlety/servlety-kratkoe-rukovodstvo) - Простой HTTP сервер на Python (https://python-course.readthedocs.io/projects/year2/en/latest/lessons/07-simple-http-server.html) Настроить мультимастер-репликацию БД с помощью pgpool-II. Количество экземпляров backend не менее двух. Продублируйте настроенный экземпляр pgpool-II. Запрограммируйте в веб-приложении круговую смену backend для балансировки нагрузки и переподключения в случае сбоя части экземпляров. В качестве backend настраивается не экземпляр PostgreSQL, а экземпляр pgpool-II. Разверните еще один экземпляр веб-сервиса и настройте балансировку нагрузки с помощью nginx. Продублируйте экземпляр nginx. Подготовьте клиент нагрузочного тестирования например, на python + requests, который будет имитировать поведение посетителя-шопоголика. Реализуйте круговую смену backend (nginx). Зафиксируйте среднее время выполнения различных запросов из специфицированного в п. 2 API. Сделайте замеры для различного количества экземпляров PostgreSQL, pgpool-II, веб-сервиса и nginx. Оцените влияние количества экземпляров компонентов на время выполнения операций чтения и записи. Постройте графики среднего времени выполнения каждого запроса для каждой конфигурации. Можно оформить в виде нескольких barchart. Результат необходимо предоставить либо с возможностью локального запуска, либо с доступом на сервер.