InfluxDB - база даних часових рядів з відкритим кодом. Написана на Go і оптимізована для швидкого запису та отримання даних часових рядів в галузях моніторингу операцій, метрик програмного забезпечення, даних сенсорів інтернету речей та аналітики в реальному часі. Підтримує обробку даних з Graphite.
Історія
Технічний опис InfluxDB не має зовнішніх залежностей і надає SQL-подібну мову запитів з вбудованими функціями для роботи з часом і структурою даних що складається з вимірів (), серій (), та точок даних (). Кожна точка складається з кількох пар ключ-значення які називаються множиною полів () та мітку часу (). Набір точок об'єднаних однаковою множиною пар ключ-значення які називаються множиною тегів (), задають ряд (). Нарешті, ряди групуються разом спільним ідентифікатором і формують вимірювання ().
Значення можуть бути 64-бітними цілими, 64-бітними числами з плаваючою комою, рядками, та булевими значеннями.
Точки індексуються за часом і множиною тегів. (І не індексуються множиною полів)
На вимірюваннях можна задавати політики зберігання (), які контролюють як дані проріджуються та видаляються.
Періодично запускаються постійні запити (), які зберігають результати в заданому вимірюванні.
Line protocol InfluxDB може приймати дані по HTTP, TCP, та UDP.
Вона визначає протокол, зворотньо сумісний з протоколом graphite і приймає форму:
measurement(,tag_key=tag_val)* field_key=field_val(,field_key_n=field_value_n)* (nanoseconds-timestamp)?
Кластерні компоненти з закритим кодом В травні 2016, InfluxData оголосила що горизонтально масштабовний "кластерний" компонент InfluxDB буде продаватись як програмне забезпечення з закритим кодом, для того щоб забезпечити стабільне фінансування розробки проекту. Це отримало змішані відгуки спільноти, дехто назвав це маркетинговим обманом.
Зноски
Посилання Код на GitHub