Ты администратор баз данных? Эта головоломка для тебя.
Сборка и запуск:
make build-all
make start
Доступы:
- RabbitMQ:
- URL: localhost:15672.
- Login: rabbitmq.
- Password: rabbitmq.
- Postgres:
- URI "postgres://dba-test:dba-test@localhost/dba_test?sslmode=disable"
Архитектура
Producer: сервис, генерирующий значения от 0 до max от uint64 и отправляющий в RabbitMQ сообщения:
{
"id": 10,
"name": "TODO: Create name",
"number": 3,
"body": "Thread number 3",
"ts": 1583506044
}
Writer сервис, берёт из очереди сообщения и вставляет пачками в Postgres.
Задача
- Увеличить производительность вставок в БД, чтобы скорость работы Writer была выше, чем скорость работы Producer. При этом изменять код сервисов не нужно. Конфигурировать только Postgres.
- Перенести индексы и БД на разные диски.
- Настроить autovacuum.
Желаю успехов!
Есть предложения по улучшению? Пиши:
Email: windowod@gmail.com
Twitter: @Randomazer
Telegram: @Randomazer