InfluxDB

InfluxDB – это база данных временных рядов (Time Series Database, TSDB), разработанная для сохранения, запроса и анализа больших объемов данных, которые имеют временную привязку. Основное назначение InfluxDB – обработка и хранение данных, которые изменяются со временем, таких как метрики от мониторинга систем, данные от датчиков Интернета вещей (IoT) и систем АСУТП, логи событий и другие временные ряды.
InfluxDB обладает специализированными функциями для работы с временными рядами, такими как хранение и индексирование временных меток, гибкий язык запросов для извлечения данных, возможность автоматического сжатия и агрегации данных и другие возможности, которые делают его эффективным инструментом для анализа временных рядов.
InfluxDB разработан для обеспечения высокой производительности и масштабируемости, чтобы обрабатывать и хранить большие объемы данных. Он также предоставляет API и инструменты для интеграции с другими системами и приложениями, например Grafana. Благодаря своим характеристикам, InfluxDB широко используется в области мониторинга систем, анализа данных IoT, аналитики логов и других сценариев, где требуется обработка и анализ временных рядов. Телеметрия и АИИС КУЭ также часто используют InfluxDB.

Система не предусматривает операцию обновления записи (Update): для схожих целей используется вставка данных с тем же ключом (временем). Операция удаления записей (Delete) выполняется очень долго, от нескольких секунд на удаление одной записи, и не поддерживает фильтрацию для удаления с использованием условий на столбцы (но можно с использованием тегов или времени). При добавлении нового тега, фильтр по этому тегу для существующих данных недоступен.

Системы баз данных временных рядов построены так, чтобы быстро и эффективно принимать данные. Реляционные базы данных тоже имеют большую скорость загрузки данных (от 20 000 до 100 000 строк в секунду). Тем не менее, приём не постоянен во времени. У реляционных баз данных есть один ключевой аспект, который делает их медленными при росте данных — индексы.

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

Одной из них является организация хранения данных. В традиционной РБД данные хранятся до тех пор, пока вы не решите их удалить. Учитывая сценарии использования БД временных рядов, вы можете не хранить ваши данные слишком долго: это или слишком дорого, или данные со временем теряют актуальность.

Системы вроде InfluxDB могут позаботиться об удалении данных через определённое время, используя концепцию, называемую политикой хранения. Вы также можете выполнять непрерывные запросы к оперативным данным для выполнения определённых операций. В реляционной БД можно найти эквивалентные операции (например «задания» в SQL), которые могут выполняться по заданному расписанию.

Основная разработка и коммерциализация продукта ведётся американской компанией InfluxData (до 2015 года носила наименование Errplane).

Обсуждение закрыто.