4 найкращі бази даних часового ряду, які слід переглянути у 2019 році

Під час розробки IoT, фінансових чи промислових застосувань вибір хорошої бази даних часових рядів є головним болем, вибираючи між 30+ (і зростаючим) списком постачальників часових рядів у цій галузі.

Вибираючи базу даних часових рядів, найкраще знати, що вони можуть запропонувати та як вони можуть відповідати вашим потребам.

Чи хочете ви більше безпосередньо писати SQL, чи віддаєте перевагу абсолютно новій мові обробки для свого часового ряду? Вас турбують хмарні рішення чи у вас є власні інтеграційні рішення?

Ця стаття допоможе вам порівняти різні варіанти.

Ось список моїх найкращих баз даних часових рядів, які слід використовувати у 2019 році.

1. ІнфлюксДБ

Рейтинг InfluxDB за 2019 рік

Побудована компанією InfluxData в 2013 році, InfluxDB - це повністю база даних із відкритим кодом з тимчасовим рядом, яка працює на всіх поточних операційних системах. InfluxDB підтримує дуже великий набір мов програмування (так .. навіть Lisp та Clojure…). Він оптимізований для великого навантаження для письма і працює надзвичайно добре з одночасністю.

InfluxDB не має схем: він заснований на ароматах NoSQL і дозволяє швидко модифікувати схему бази даних. Залежно від того, що ви намагаєтеся побудувати, цей концептуальний вибір може бути, а може, не бути адаптованим до ваших потреб.

Чому слід використовувати InfluxDB?
  • Пограйте з ним за 5 хвилин

П'ять хвилин - це все, що потрібно з моменту завантаження, до того, як ви зможете грати з ним. Хороша технічна документація дозволяє легко встановлювати, налаштовувати та запускати InfluxDB. Як база даних, схожа на NoSQL, вам не потрібно налаштовувати базу даних жодним чином: ви вставляєте свої дані, і ви готові йти.

  • Вбудований стек TICK

InfluxDB є частиною стеку TICK: Telegraf, InfluxDB, Chronograf та Kapacitor. InfluxData надає з вікна інструмент візуалізації (який можна порівняти з Grafana), механізм обробки даних, який безпосередньо зв’язується з InfluxDB, і набір з більш ніж 50+ агентів, які можуть збирати показники в реальному часі для багатьох різні джерела даних.

Тепер давайте будемо справедливими.

InfluxDB більшість часу використовується з Grafana. Хронограф на даний момент не такий хороший, як Графана, але InfluxData намагається перевернути корабель. Створюючи Flux, нову мову обробки та інтегруючи її безпосередньо з Chronograf, вони можуть запропонувати їй дуже унікальні функції в наступні місяці.

(Хочете дізнатися більше про Flux? Я написав про це статтю.)

Веб-сайт InfluxDB - influxdata.com

2. Часовий масштабDB

Рейтинг шкалиDB на 2019 рік

Цьогоріч TimescaleDB, що займає 15-е місце, TimescaleDB досягла значних успіхів у рейтингу.

Чому?

Ну якщо ви запитаєте мене, вони надають дуже солідну та масштабовану альтернативу InfluxDB. TimescaleDB також відкритий і базується на приміщенні SQL. Вони також пропонують дуже великий набір підтримуваних мов програмування (включаючи Java та Python) для ваших додатків для інтеграції безпосередньо з ним.

TimescaleDB безпосередньо пов'язаний з PostgresSQL, оскільки він масштабує відому реляційну базу даних, щоб запропонувати унікальний набір операцій, пов’язаних із тимчасовим рядом (таких як швидке занурювання).

Для чого слід використовувати TimescaleDB?
  • Підтримка SQL:

Одним з найбільших надбань TimescaleDB є той факт, що він підтримує мову SQL на самому собі і дозволяє розробникам швидко стрибати з поїзда, не вивчаючи жодної нової мови. Звичайно, це дуже приємний аспект для продуктивності розробників, оскільки ви можете гарантувати, що досвідчені розробники SQL у вашій команді можуть бути негайно ефективними з TimescaleDB.

  • Інтеграція PostgresSQL:

Guardian зробив дуже приємну статтю, в якій пояснив, що вони перейшли від MongoDB до PostgresSQL на користь масштабування їх архітектури та шифрування їх вмісту на REST. Як ви можете сказати, великі компанії покладаються на системи обмежень SQL (звичайно з хмарною архітектурою), щоб забезпечити надійність та доступність системи. Я вірю, що PostgresSQL буде продовжувати зростати, як і TimescaleDB. Приналежність до екосистеми PostgresSQL, TimescaleDB успадкує всі інструменти та плагіни, розроблені цим величезним співтовариством.

  • Суперечливіші показники порівняно з InfluxDB

Я мушу підкреслити, що це «дискусійні» кращі показники, оскільки системи є досить новими на ринку, і вони не перевірялися на всіх різних випадках, які може запропонувати галузь.

Як добросовісний письменник, я мушу зазначити той факт, що Матві Ері написав дуже гарну статтю, порівнюючи Flux з SQL і певним чином InfluxDB до TimescaleDB. Його точки зору оптимізації запитів, зокрема, слід уважно читати, і вони дають дуже чітке пояснення того, чому вони можуть бути ефективнішими (принаймні теоретично).

Стаття Matvey Arye - SQL проти Flux

Веб-сайт TimescaleDB - timescale.com

3. OpenTSDB

Рейтинг OpenTSDB за 2019 рік

OpenTSDB працює вже набагато більше часу, ніж його конкуренти, і є однією з перших технологій, яка вирішила необхідність зберігання даних часових рядів у дуже великих масштабах. OpenTSDB обіцяє можливість зберігати сотні мільярдів рядків даних над розподіленими екземплярами серверів TSD.

OpenTSDB - це безкоштовна база даних, побудована на Apache HBase. Для тих, хто цього не знає, HBase - це нереляційна система управління, написана для елегантного та ефективного керування зберіганням великих столів.

Чому слід використовувати OpenTSDB?
  • Продуктивність!

Тед Даннінг (головний архітектор додатків у MapR) висловив досить експлікативну інформацію про те, як слід будувати базу даних часових рядів і як горизонтальне упорядкування часових діапазонів може масштабувати СУБД до 20-30 мільйонів записів в секунду. Це величезна швидкість вставки, враховуючи, що один екземпляр вузла InfluxDB може вставити до одного мільйона записів в секунду.

Можливо, ви хочете дати зняти OpenTSDB, якщо ви маєте справу з такими показниками вставки у вашій системі.

  • Інтеграційна екосистема

Читаючи документацію, OpenTSDB інтегрується з неабиякою кількістю інструментів, таких як Cassandra, BigTable, CollectD, StatsD, Chef і навіть Puppet для управління розгортанням.

Тед Данінг про архітектуру баз даних часових рядів

Веб-сайт OpenTSDB - opentsdb.net

4. Графіт

Графітні рейтинги на 2019 рік

Графіт - це ще більш усталена і дуже широко застосовувана система баз даних часових рядів. Графіт - це потужний інструмент моніторингу, який зберігає числові дані часових рядів і відображає їх на вимогу через його графітний веб-інтерфейс з досить швидкою швидкістю. Графіт більшість часу використовується як зберігання метрики продуктивності системи, мережі та додатків. Великі компанії, такі як Booking.com, Reddit і GitHub, використовують його щодня, щоб легко виявити відключення в їх архітектурі.

Для чого слід використовувати Graphite?
  • Графіт робить кілька речей, але це робить добре.

Графіт побудований для обробки числових даних. Оскільки це може бути обмеженням саме по собі, якщо ви не маєте справу з числовими даними, Graphite надає з коробки набір інструментів, що розробникам полегшує початок роботи. Graphite Web надає дуже приємний інтерфейс для розробників для контролю за їх застосуванням.

  • Хороша інтеграційна екосистема

Як OpenTSDB, Graphite з'єднується з багатьма інструментами, і полегшує розробникам можливість підключення до існуючої інфраструктури. Графіт здатний легко з'єднуватися з CollectD, sensu, Riemann, Windows Server, Logstash та багатьма іншими.

Веб-сайт Graphite - graphiteapp.org

X - Ваша черга поділитися!

Чи маєте ви досвід роботи з тими базами даних часових рядів? Якщо так, то який би ви порадили і чому?

Крім того, якщо ви виявите, що деякі TSMS повинні бути класифіковані вище чи нижче, сміливо дайте власні рейтинги в розділі коментарів.

XI - плескати та підписуватись

Якщо вам сподобалась ця стаття, дайте нам кілька хлопців, вона завжди допомагає. Як завжди, підпишіться на нашу публікацію, щоб упевнитися, що в майбутньому не пропустіть жодної статті з інженерних програм.

Дякую за хлопак!