img

7 мощных баз данных временных рядов

База данных временных рядов, она же Time Series Database (TSDB), оптимизирована для меток времени или данных временных рядов. Данные временных рядов - это средние измерения или события, которые прослежены, собраны, или объединены в течение определенного времени. Это могут быть данные, собранные из контрольных сигналов датчиков движения, метрики JVM из java-приложений, данные рыночной торговли, сетевые данные, ответы API, время безотказной работы процесса и т.д.

Базы данных временных рядов полностью настраиваются с данными временных меток, которые индексируются и эффективно записываются таким образом, что можно вставить данные временных рядов. Эти данные временных рядов можно запрашивать гораздо быстрее, чем из реляционной базы данных или базы данных NoSQL.

В последнее время она приобрела большую популярность. А почему нет? Это замечательный инструмент для мониторинга бизнеса и ИТ-операций. Хорошая новость в том, что есть множество вариантов выбора, и большинство из них - с открытым исходным кодом.


1. InfluxDB

InfluxDB является одной из самых популярных баз данных временных рядов среди DevOps, которая написана в Go. InfluxDB была разработана с самого начала, с целью обеспечить высокомасштабируемый механизм приема и хранения данных. Он очень эффективен при сборе, хранении, запросе, визуализации и выполнении действий с потоками данных временных рядов, событий и метрик в реальном времени.

Она предоставляет политики понижающей дискретизации и хранения данных для поддержания высокой ценности, высокой точности данных в памяти и более низкой ценности данных на диске. Он построен на основе "облачной" технологии для обеспечения масштабируемости в нескольких топологиях развертывания, включая локальную облачную среду и гибридные среды.

InfluxDB

InfluxDB - это решение с открытым исходным кодом и готовое для развертывания на предприятии. Он использует InfluxQL, который очень похож на язык SQL, для взаимодействия с данными. Последняя версия содержит агенты, панели мониторинга, запросы и задачи в наборе инструментов. Это универсальный инструмент для панели мониторинга, визуализации и оповещения.


Особенности

  • Высокая производительность для данных временных рядов с высоким уровнем приема и запросов в реальном времени
  • InfluxQL для взаимодействия с данными, которые схож с языком запросов SQL.
  • Основной компонент стека TICK (Telegraf, InfluxDB, Chronograf и Kapacitor)
  • Поддержка плагинов для таких протоколов, как collectd, Graphite, OpenTSDB для приема данных
  • Может обрабатывать миллионы точек данных всего за 1 секунду
  • Политики хранения для автоматического удаления устаревших данных

Так как это открытый исходный код, вы можете загрузить и поднять его на своем сервере. Тем не менее, они предлагают InfluxDB Cloud на AWS, Azure и GCP.


2. Prometheus

Prometheus - это решение для мониторинга с открытым исходным кодом, используемое для анализа данных метрик и отправки необходимых предупреждений. Он имеет локальную базу данных временных рядов на диске, которая хранит данные в пользовательском формате на диске.

Модель данных Prometheus многомерна на основе временных рядов; он сохраняет все данные в виде потоков значений с временной меткой. Это очень полезно при работе с полностью числовым временным рядом. Сбор данных о микросервисах и их запрос - одна из сильных сторон Prometheus.

Он плотно интегрируется с Grafana для визуализации.

Prometheus

Особенности

  • Имеет многомерную модель, в которой использовались пары "имя метрики" и "ключ-значение" (метки)
  • PromQL используется для запроса данных временных рядов для создания таблиц, оповещений и графиков Adhoc
  • Использует режим HTTP pull для сбора данных временных рядов
  • Использует промежуточный шлюз для передачи временных рядов

У Prometheus есть сотни экспортеров для экспорта данных из Windows, Linux, Java, базы данных, API, веб-сайта, серверного оборудования, PHP, обмена сообщениями и т.д.


3. TimescaleDB

TimesterDB - реляционная база данных с открытым исходным кодом, которая делает SQL масштабируемым для данных временных рядов. Эта база данных построена на PostgreSQL.

Он предлагает два продукта - первый вариант - это бесплатное издание, которое вы можете установить на свой сервер. Второй вариант - TimesterDB Cloud, где вы получаете полностью размещенную и управляемую инфраструктуру в облаке для вашего развертывания.

TimescaleDB

Он может использоваться для мониторинга DevOps, понимания показателей приложений, отслеживания данных с устройств Интернета вещей, понимания финансовых данных и т.д. Можно измерять журналы, события Kubernetes, метрики Prometheus и даже пользовательские метрики.

Владельцы продуктов могут использовать его для понимания производительности продукта с течением времени, что помогает принимать стратегические решения для роста.


Особенности

  • Выполнение запросов 10-100X быстрее, чем PostgreSQL, MongoDB
  • Возможность горизонтального масштабирования до петабайт и записи миллионов точек данных в секунду
  • Очень похож на PostgreSQL, что облегчает работу с ним разработчиков и администраторов.
  • Сочетание функций реляционных баз данных и баз данных временных рядов для создания мощных приложений.
  • Встроенные алгоритмы и функции производительности для защиты от больших затрат.

4. Graphite

Graphite - это универсальное решение для хранения и эффективной визуализации данных в реальном времени. Графит может выполнять две функции: хранить данные временных рядов и визуализировать графики по требованию. Но она не собирает данные для вас; для этого можно использовать такие инструменты, как collectd, Ganglia, Sensu, telegraf и т. д.

Он имеет три компонента - Carbon, Whisper и Graphite-Web. Carbon получает данные временных рядов, агрегирует их и сохраняет на диске. Whisper - это хранилище базы данных временных рядов, в котором хранятся данные. Graphite-Web - это интерфейс для создания панелей мониторинга и визуализации данных.

Graphite

Особенности Graphite:

  • Формат метрик, в котором передаются данные, прост.
  • Комплексный API для визуализации данных и создания диаграмм, панелей мониторинга, графиков
  • Предоставляет богатый набор статистических библиотек и функций преобразования
  • Связывает несколько функций визуализации для создания целевого запроса.

5. QuestDB

QuestDB - это реляционная база данных, ориентированная на столбцы, которая может выполнять анализ данных временных рядов в реальном времени. Он работает с SQL и некоторыми расширениями для создания реляционной модели для данных временных рядов. QuestDB был создан с нуля и не имеет зависимостей, повышающих его производительность.

QuestDB поддерживает реляционные соединения и соединения временных рядов, что помогает сопоставлять данные. Самый простой способ начать работу с QuestDB - развернуть его внутри контейнера Docker.

QuestDB

Функции QuestDB:

  • Интерактивная консоль для импорта данных с помощью перетаскивания и запроса
  • Поддерживается работа как на облачных технологиях (AWS, Azure, GCP), так и локально.
  • Поддерживает такие корпоративные возможности, как работа с Active Directory, обеспечение высокой доступности, корпоративная безопасность, кластеризация
  • Предоставляет информацию в режиме реального времени с использованием оперативной и прогнозируемой аналитики

6. AWS Timestream

Как AWS может отсутствовать в списке?

AWS Timestream - это служба базы данных временных рядов без сервера, которая является быстрой и масштабируемой. Он используется главным образом для приложений Интернета вещей, чтобы хранить триллионы событий в день и в 1000 раз быстрее при 1/10 стоимости реляционных баз данных.

С помощью специализированного механизма запросов можно одновременно запрашивать последние данные и архивные сохраненные данные. Она предоставляет множество встроенных функций для анализа данных временных рядов для поиска полезной информации.

AWS Timestream

Функции Amazon Timestream:

  • Нет серверов для управления или экземпляров для выделения; все обрабатывается автоматически.
  • Экономичный, платите только за то, что вы принимаете, храните и запрашиваете.
  • Способен ежедневно принимать триллионы событий без снижения производительности
  • Встроенная аналитика со стандартными функциями SQL, интерполяции и сглаживания для определения тенденций, шаблонов и аномалий
  • Все данные шифруются с помощью системы управления ключами AWS (KMS) с ключами управления клиента (CMK)

7. OpenTSDB

OpenTSDB - масштабируемая база данных временных рядов, написанная поверх HBase. Он способен хранить триллионы точек данных при миллионах операций записи в секунду. Данные в OpenTSDB можно хранить вечно с его исходной меткой времени и точным значением, чтобы не потерять данные.

Имеет демон временных рядов (TSD) и утилиты командной строки. Демон временных рядов отвечает за хранение данных в HBase или их извлечение из нее. С TSD можно общаться с помощью HTTP API, telnet или простого встроенного графического интерфейса. Для сбора данных из различных источников в OpenTSDB нужны такие инструменты, как flume, collectd, vacuumetrix и т.д.

OpenTSDB

Функции OpenTSBD:

  • Может агрегировать, фильтровать, понижать метрики на огромной скорости
  • Хранение и запись данных с точностью до миллисекунды
  • Работает на Hadoop и HBase и легко масштабируется, добавляя узлы в кластер
  • Использование графического интерфейса для создания графиков

Заключение

Поскольку в наши дни используются все больше и больше IoT или умных устройств, на веб-сайтах с миллионами событий в день в реальном времени генерируется огромный трафик, увеличивается торговля на рынке, что и привело к созданию база данных временных рядов! Базы данных временных рядов являются обязательным элементом производственного стека для мониторинга.

Большая часть вышеперечисленной базы данных временных рядов доступна для бесплатного использования, поэтому получите облачную виртуальную машину и попробуйте посмотреть, что подойдет именно вам.

Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
DevOps
Скидка 25%
DevOps-инженер с нуля
Научитесь использовать инструменты и методы DevOps для автоматизации тестирования, сборки и развертывания кода, управления инфраструктурой и ускорения процесса доставки продуктов в продакшн. Станьте желанным специалистом в IT-индустрии и претендуйте на работу с высокой заработной платой.
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
Git Flow - это специальная система ветвления для Git. Она помогает команде лучше контролировать и добавлять различные версии про
img
Docker — популярная платформа виртуализации на уровне ОС. Она поставляет приложения в пакетах (контейнерах), которые, представля
img
Хуки в Git — это bash-скрипты, которые запускаются до или после команд Git, например, коммитов и пушей. Они позволяют автоматизи
img
  Nomad и Kubernetes – это две самые популярные платформы оркестровки, предназначенные для оркестровки динамических рабочих нагр
img
  Давайте узнаем о новом Ops-течении – GitOps! DevOps поспособствовал цифровизации многих компаний. Речь идет о командах разрабо
img
  Канареечное (canary) развёртывание – это метод разработки и развертывания программного обеспечения, который позволяет выпускат
ОСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59