Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/deslum/dba-hell


https://github.com/deslum/dba-hell

Last synced: 3 days ago
JSON representation

Awesome Lists containing this project

README

        

dba-hell
===============================================
Ты администратор баз данных? Эта головоломка для тебя.

**Сборка и запуск:**

```bash
make build-all
make start
```

**Доступы:**

1. RabbitMQ:

- URL: localhost:15672.
- Login: rabbitmq.
- Password: rabbitmq.

2. Postgres:

- URI "postgres://dba-test:dba-test@localhost/dba_test?sslmode=disable"

**Архитектура**

![](arch.png)

**Producer**: сервис, генерирующий значения от 0 до max от uint64 и отправляющий в RabbitMQ
сообщения:
```json
{
"id": 10,
"name": "TODO: Create name",
"number": 3,
"body": "Thread number 3",
"ts": 1583506044
}
```

**Writer** сервис, берёт из очереди сообщения и вставляет пачками в Postgres.

**Задача**

1. Увеличить производительность вставок в БД, чтобы скорость работы Writer была выше, чем скорость работы Producer.
При этом изменять код сервисов не нужно. Конфигурировать только Postgres.
2. Перенести индексы и БД на разные диски.
3. Настроить autovacuum.

Желаю успехов!

Есть предложения по улучшению? Пиши:

Email: [email protected]\
Twitter: @Randomazer\
Telegram: @Randomazer