Вкратце
- В бенчмарке сравнили Postgres, управляемый ClickHouse, с AWS RDS (16k выделенный IOPS) и Aurora IO Optimized, используя стандартные тесты
pgbench - Производительность: Postgres от ClickHouse на NVMe обеспечивает в 4,3–9 раз более высокую производительность для рабочих нагрузок с интенсивным IO и на 12% более высокую — в сценариях, ограниченных CPU
- Идеально подходит для быстрорастущих рабочих нагрузок на базе ИИ, которым требуются высокая частота транзакций, доступ к данным с низкой задержкой и предсказуемая производительность без узких мест по IO
Обзор бенчмарка
pgbench — стандартного инструмента PostgreSQL для бенчмаркинга, чтобы оценить производительность рабочей нагрузки при умеренном и высоком параллелизме.
Бенчмарки
Тест 1: Интенсивный IO — чтение+запись (набор данных 500 ГБ)
- TPS выше на 326% (в 4,3 раза быстрее)
- TPS выше на 345% (в 4,5 раза быстрее)
Настройка
| Конфигурация | Postgres, управляемый ClickHouse | RDS с 16k IOPS | Aurora IO Optimized |
|---|---|---|---|
| Версия PG | 17 | 17 | 17 |
| vCPU | 16 | 16 | 16 |
| Оперативная память | 64 ГБ | 64 ГБ | 128 ГБ |
| Размер диска | 1 ТБ | 1 ТБ | 1 ТБ |
| Тип диска | NVMe (неограниченные IOPS) | Сетевое хранилище (16 000 IOPS) | Сетевое хранилище (IO Optimized) |
Тест 2: Интенсивный IO — только для чтения (набор данных 500 ГБ)
- TPS на 802% выше (в 9,0 раза быстрее)
Настройка
| Конфигурация | Postgres, управляемый ClickHouse | RDS с 16k IOPS |
|---|---|---|
| Версия PG | 17 | 17 |
| vCPU | 16 | 16 |
| Оперативная память | 64 GB | 64 GB |
| Размер диска | 1 TB | 1 TB |
| Тип диска | NVMe (неограниченные IOPS) | Сетевое хранилище (16,000 IOPS) |
Тест 3: Интенсивная нагрузка на CPU (данные помещаются в память)
- TPS на 12.3% выше, чем у RDS PostgreSQL
Конфигурация
| Конфигурация | Postgres, управляемый ClickHouse | RDS PostgreSQL |
|---|---|---|
| Версия PG | 17 | 17 |
| vCPU | 2 | 2 |
| Оперативная память | 8 GB | 8 GB |
| Тип диска | NVMe | сетевое хранилище (gp3) |
Сводка по производительности
Ключевые выводы
- Рабочие нагрузки чтения и записи с интенсивным IO: TPS в 4,3–4,5 раза выше по сравнению с RDS (16k IOPS) и Aurora IO Optimized
- Рабочие нагрузки чтения с интенсивным IO: TPS в 9 раз выше по сравнению с RDS с 16k IOPS
- Рабочие нагрузки, ограниченные CPU: TPS на 12% выше, чем у RDS
Когда Postgres by ClickHouse особенно эффективен
- Обеспечивают работу быстрорастущих ИИ-нагрузок, где требуются высокая пропускная способность при ингестии данных, частые upsert-операции, обновление признаков в реальном времени и готовая аналитика благодаря бесшовной интеграции с ClickHouse для OLAP-нагрузок
- Выполняют частые записи, обновления или смешанные операции чтения и записи
- Требуют предсказуемого высокопроизводительного хранилища
- В настоящее время упираются в ограничения IOPS у традиционных управляемых сервисов Postgres
Преимущество архитектуры NVMe
| Аспект | NVMe-хранилище (Managed Postgres) | Сетевое хранилище (выделенный IOPS) |
|---|---|---|
| IOPS | от 100 тыс. до практически неограниченного | 16 000 выделенных |
| Сетевые переходы | Отсутствуют (локальное устройство) | Каждая операция с диском требует сетевого обмена |
| Масштабирование производительности | Линейно масштабируется с ростом параллелизма | Ограничено выделенным IOPS |
Экономическая эффективность
- Более высокая пропускная способность на доллар: достигайте в 4–9 раз больше TPS по сравнению с RDS с 16k выделенным IOPS и Aurora IO Optimized
- Предсказуемые затраты: не нужно выделять дополнительную емкость IOPS — неограниченный локальный IOPS уже включен
- Меньшие требования к вычислительным ресурсам: достигайте целевой производительности на инстансах меньшего размера благодаря эффективному I/O
- Меньшая потребность в репликах для чтения: более высокая пропускная способность одного инстанса снижает необходимость в горизонтальном масштабировании