⚡ ѕ–ќ…ƒ» Ќќ¬џ… ќЌЋј…Ќ  ”–— ѕќ —≈“≈¬џћ “≈’ЌќЋќ√»яћ —ќ — »ƒ ќ… 50%

до конца скидки осталось

Ќачать обучение 🚀
ћерион Ќетворкс

8 минут чтени€

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

ќбучайс€ в Merion Academy

ѕройди курс по
сетевым технологи€м

Ќачать

Ѕазы данных временных р€дов полностью настраиваютс€ с данными временных меток, которые индексируютс€ и эффективно записываютс€ таким образом, что можно вставить данные временных р€дов. Ёти данные временных р€дов можно запрашивать гораздо быстрее, чем из рел€ционной базы данных или базы данных 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 или умных устройств, на веб-сайтах с миллионами событий в день в реальном времени генерируетс€ огромный трафик, увеличиваетс€ торговл€ на рынке, что и привело к созданию база данных временных р€дов! Ѕазы данных временных р€дов €вл€ютс€ об€зательным элементом производственного стека дл€ мониторинга.

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


>