Источник
VictoriaMetrics docs
Официальная документация по архитектуре, компонентам и operational-модели VictoriaMetrics.
VictoriaMetrics — высокопроизводительная TSDB, ориентированная на экономичное хранение метрик и масштабируемый observability-контур. В практической TSDB-карте VictoriaMetrics часто рассматривают рядом с Prometheus как backend для long retention и high-cardinality профиля.
История: ключевые вехи
Публичный запуск проекта
VictoriaMetrics выходит в open source как специализированная TSDB для эффективного хранения метрик.
Фокус на performance и плотность хранения
Проект закрепляется как low-resource альтернатива для Prometheus-совместимых сценариев.
Стабилизация cluster-профиля
Укрепляется архитектура vmselect/vminsert/vmstorage для горизонтального масштабирования.
Рост экосистемы компонентов
Расширяется практическое использование vmagent, vmalert и multi-tenant паттернов.
Массовые production-паттерны
Становятся типовыми миграции из Prometheus-контуров в VictoriaMetrics для long retention.
Эволюция observability-стека
Укрепляются практики cluster deployment, cost-оптимизации и интеграции в enterprise мониторинг.
Специфика VictoriaMetrics
Prometheus-совместимый интерфейс
Поддержка Prometheus API и remote_write/read упрощает интеграцию в существующий мониторинг-контур.
Эффективное хранение метрик
Оптимизации хранения и merge-процессы позволяют держать большие retention-периоды с меньшими ресурсами.
Cluster-архитектура
Разделение на vmagent/vminsert/vmstorage/vmselect дает ясный write/read path и scale-out профиль.
Rule-driven мониторинг
vmalert и интеграция с Alertmanager формируют управляемый контур recording/alerting rules.
Архитектура VictoriaMetrics по слоям
На high-level уровне pipeline можно читать так: ingest -> write routing -> storage parts/merge -> query fan-out -> rules/alerts -> внешние интеграции.
Ключевые особенности
VictoriaMetrics оптимизирована под экономичное хранение метрик, Prometheus-совместимые API и масштабирование от single-node к cluster deployment.
Сжатие и хранение
Prometheus-совместимость
Масштабирование
DDL vs DML: модель для VictoriaMetrics
Как и у большинства TSDB, в VictoriaMetrics нет классического SQL-DDL/DML. Для системного анализа полезно разделять DDL-like операции (изменение topology/configuration) и DML-like операции (движение samples и query read path).
Как работает модель DDL/DML в VictoriaMetrics
DDL-like: обновление topology/config. DML-like: движение samples и query read path.
1. Ingest samples
Samples + queriesvmagent или remote_write отправляет новые метрики в write endpoint.
2. Parse and relabel
Samples + queriesСэмплы парсятся, обогащаются labels и подготавливаются к маршрутизации.
3. vminsert shard routing
Samples + queriesvminsert распределяет поток по vmstorage узлам по hash/tenant policy.
4. vmstorage append + merge
Samples + queriesvmstorage пишет точки в локальные части и фоново объединяет их для чтения.
5. vmselect read path
Samples + queriesvmselect fan-out читает shards, делает dedup/aggregation и возвращает результат.
Активный шаг
1. Ingest samples
vmagent или remote_write отправляет новые метрики в write endpoint.
Поток данных и запросов
- DML-like путь покрывает ingestion, хранение, compaction и query execution.
- В cluster mode write/read path масштабируется горизонтально по shard-узлам.
- Кардинальность labels и skew по tenant-ам определяют latency и стоимость системы.
Источник
Prometheus docs
Сравнительный контекст для Prometheus-совместимого observability стека.
VictoriaMetrics vs Prometheus
Базовый контур
VictoriaMetrics: Сильный акцент на экономичное хранение, масштабируемый write/read path и Prometheus-совместимость.
Prometheus: Канонический мониторинг-стек с pull-моделью, PromQL и встроенным TSDB для оперативного контура.
Язык и запросы
VictoriaMetrics: Поддержка PromQL-совместимых запросов и расширений MetricsQL для production-аналитики.
Prometheus: PromQL как базовый язык time-series анализа с фокусом на alert-driven сценарии.
Масштабирование
VictoriaMetrics: Cluster mode (vminsert/vmstorage/vmselect) для больших объёмов и long-term retention.
Prometheus: Чаще single-node + federation/remote storage для масштабирования и длительного хранения.
Операционная модель
VictoriaMetrics: Часто используется как consolidated metrics backend в больших observability-платформах.
Prometheus: Часто выступает как primary scrape/rule engine с интеграцией внешнего long-term хранилища.
Почему VictoriaMetrics часто выбирают в production
Практическая интерпретация для system design контекста:
- VictoriaMetrics часто выбирают за высокую эффективность хранения и предсказуемую стоимость long retention.
- Prometheus-совместимость снижает цену миграции и позволяет переиспользовать существующие дашборды и алерты.
- Явный write/read path через vmagent/vminsert/vmstorage/vmselect хорошо масштабируется по shard-модели.
- Гибкий выбор между single-node и cluster профилем упрощает рост от небольшой инсталляции к large-scale deployment.
