TSDB против HBase: что выбрать в долгосрочной перспективе?
Проблема, которую мы пытаемся решить: Храните все точки данных, которые могут быть запрошены позже, чтобы определить производительность веб-службы. Дайте визуальное представление данных.
Здесь мое понимание далеко от того, что я прочитал на Hbase и на сайтах TSDB
TSDB хранит данные в Hbase, хотя и немного нестандартным способом (широкоформатный формат)
TSDB невероятно быстр и позволяет быстро добавлять графики.
- HBase, хотя и медленнее, чем TSDB, дает вам возможность использовать драйвер SIMBA ODBC для подключения его к Tableau, что является удивительно гибким и прекрасным визуальным представлением данных.
Еще одна проблема с TSDB заключается в том, что он не работает с текущей версией HBase .96 (я знаю, что над этим работает tsuna@, но у меня нет графика стабильной версии tsdb, которая работает с текущей версией Hbase.96).
Таким образом, ваш простой ответ может быть Hbase или TSDB, или в дополнение к выбору одного из другого, вы можете обосновать свой ответ и помочь мне выбрать один из другого.
Я открыт для других решений, если они могут поддерживать около триллиона точек данных, хранящихся в течение года.
2 ответа
По моему честному мнению, если вам нужны графики данных, вы должны рассмотреть возможность использования OpenTSDB. Я не уверен в долгосрочной перспективе, что может быть лучше, потому что OpenTSDB постоянно развивается, и в ноябре была выпущена версия RC 2.0. Существует также форк OpenTSDB, который называется KairosDB, и он использует Apache Cassandra в качестве базы данных, так что вы можете хранить точки до миллисекунд, в то время как OpenTSDB позволяет хранить точки до секунд.
Поэтому я предлагаю вам распределенные базы данных Timeseries, такие как OpenTSDB/KairosDB, для построения графиков данных довольно простым способом. Не уверен насчет долгосрочной проблемы, может быть, что-то лучшее может быть разработано на Hbase в следующем месяце из-за его открытого характера.
Если вы настроены на экосистему Hadoop, база данных временных рядов Axibase - это еще один продукт, работающий поверх HBase. У нас есть встроенная интеграция с таблицами и драйвером JDBC, которая позволяет вам извлекать данные временных рядов (необработанные и агрегированные) с помощью SQL-подобных запросов, которые мы поддерживаем.
Исходный код и примеры доступны на https://github.com/axibase/atsd-jdbc