InfluxDB
InfluxDB — база данных временных рядов (TSDB), разрабатываемая компанией InfluxData.
Используется для хранения и извлечения данных временных рядов в таких областях, как мониторинг производственных процессов, метрики приложений, данные датчиков интернета вещей и анализ данных в реальном времени. Также поддерживается обработка данных из Graphite[2].
Актуальная версия InfluxDB серии 3.x написана на языке программирования Rust. Версии 1.x и 2.x были реализованы на Go.
Общие сведения
| InfluxDB | |
|---|---|
| Тип | база данных временных рядов |
| Разработчик | InfluxData |
| Написана на | Rust |
| Операционная система | кроссплатформенное ПО |
| Первый выпуск | 24 сентября 2013 |
| Последняя версия | |
| Репозиторий | github.com/influxdata/in… |
| Лицензия | MIT, проприетарная |
| Сайт | influxdata.com |
История
Компания Errplane, поддерживаемая Y Combinator, начала разработку InfluxDB как проекта с открытым исходным кодом в конце 2013 года для задач мониторинга производительности и оповещений[3]. В ноябре 2014 года Errplane получила финансирование серии A в размере 8,1 млн долларов, возглавляемое фондами Mayfield Fund и Trinity Ventures[4]. В конце 2015 года компания сменила название на InfluxData Inc. В сентябре 2016 года InfluxData привлекла финансирование серии B в размере 16 миллионов долларов[5]. В феврале 2018 года InfluxData получила 35 миллионов долларов инвестиций на серии C под руководством Sapphire Ventures[6]. Ещё один раунд на 60 миллионов долларов был объявлен в 2019 году[7]. В феврале 2023 года был закрыт очередной раунд серии E на сумму 81 миллион долларов[8]. По состоянию на 2026 год, 12.05, имеются две версии InfluxDB, InfluxDB 3 Enterprise и InfluxDB 3 Core.
Технические особенности
InfluxDB предоставляет язык запросов, похожий на SQL, с встроенными функциями работы с временными данными, позволяя обращаться к структурам данных, включающим измерения, серии и точки. Каждая точка состоит из набора ключ-значение (называемого fieldset) и временной метки. Когда такие точки группируются по заданному набору ключ-значение (tagset), формируется серия. Серии, в свою очередь, объединяются в измерение по строковому идентификатору.
Значения могут быть 64-битными целыми числами, 64-битными числами с плавающей запятой, строками и булевыми значениями. Индексация точек производится по времени и tagset. Для измерений настраиваются политики хранения, определяющие правила агрегирования и удаления данных. Непрерывные запросы выполняются периодически и сохраняют результаты в целевом измерении.
События
Компания InfluxData регулярно организует мероприятия, связанные с InfluxDB, под названием InfluxDays. Это технические конференции, посвящённые развитию InfluxDB в технических и бизнес-аспектах. Обычно они проводятся раз в год в трёх городах: Нью-Йорк, Сан-Франциско и Лондон. На InfluxDays представлены различные темы — от докладов по программной инженерии и разработке до практических и бизнес-ориентированных семинаров. Компании демонстрируют способы применения InfluxDB.
Протокол передачи данных
InfluxDB принимает данные по HTTP, TCP и UDP. Определён строковый протокол передачи данных, совместимый с Graphite, в следующей форме:
measurement(,tag_key=tag_val)* field_key=field_val(,field_key_n=field_value_n)* (nanoseconds-timestamp)?
Лицензирование
Вкладчики InfluxDB обязаны предоставлять компании InfluxData Inc. права лицензирования своих вкладов и остального ПО любым образом, в том числе под закрытой лицензией. Соглашение о лицензировании вкладчика (CLA) заявляет, что не является уступкой авторских прав[9].
Закрытые компоненты для кластеризации
В мае 2016 года компания InfluxData объявила, что компоненты кластеризации InfluxDB будут распространяться только в виде закрытого программного обеспечения для обеспечения устойчивого финансирования развития проекта[10]. Реакция сообщества была неоднозначной, некоторые посчитали это примером политики «bait and switch»(с англ. «приманка и подмена»)[11].
Изменения в открытой части с выходом InfluxDB 3
InfluxDB 3 Core — новое открытое решение от InfluxData, изначально предназначенное как «edge data collector», а не прямой функциональный преемник InfluxDB OSS v1 и v2. InfluxDB 3 Core ограничен пятью базами данных и не включает механизм компакции данных для ускорения исторических запросов. Для замещения функциональности OSS v1 и v2 в коммерческом использовании требуется приобретение лицензии на InfluxDB 3 Enterprise, однако бесплатная версия InfluxDB 3 Enterprise доступна для энтузиастов и домашнего применения.
Примечания
- ↑ Release 2.5.1 — 2022.
- ↑ James Turnbull. The Art of Monitoring : [англ.]. — James Turnbull, 2014-12-01. — P. 206–. — ISBN 978-0-9888202-4-1.
- ↑ Lardinois, Frederic Y Combinator-Backed Errplane Launches Comprehensive Performance Monitoring And Alert Service For Web Apps (англ.). TechCrunch (18 марта 2013). Дата обращения: 3 августа 2021. Архивировано 4 мая 2023 года.
- ↑ Miller, Ron Errplane Snags $8.1M To Continue Building Open Source InfluxDB Time Series Database (англ.). TechCrunch (8 декабря 2014). Дата обращения: 7 сентября 2016. Архивировано 4 декабря 2023 года.
- ↑ Mannes, John InfluxData closes $16 million Series B led by Battery Ventures to organize IOT data (англ.). TechCrunch (21 сентября 2016). Дата обращения: 13 октября 2016. Архивировано 17 ноября 2024 года.
- ↑ Miller, Ron. InfluxData scores $35 million Series C to expand time series database business (англ.), TechCrunch. Архивировано 15 января 2025 года.
- ↑ Notice of Exempt Offering of Securities (англ.). US Securities and Exchange Commission (13 февраля 2019). Дата обращения: 3 августа 2021. Архивировано 3 августа 2021 года.
- ↑ InfluxData Closes Series E Round and Raises $81 Million in Capital (англ.). InfluxData Inc. (8 февраля 2023). Дата обращения: 4 октября 2024. Архивировано 15 августа 2025 года.
- ↑ Individual Contributor License Agreement (англ.) (5 февраля 2018). Архивировано 23 ноября 2018 года.
- ↑ Update on InfluxDB Clustering, High-Availability and Monetization (англ.). GitHub. influxdata (10 марта 2016). Дата обращения: 8 августа 2016. Архивировано 6 августа 2025 года.
- ↑ I've advocated for and implemented several InfluxDB installations in production ... (англ.). Hacker News (11 марта 2016). Дата обращения: 8 августа 2016. Архивировано 29 сентября 2023 года.