Мои данные
Это прежде всего мониторинг данных, передаваемых в виде отметки времени: значение для каждого контролируемого значения на каждом контролируемом устройстве. Он регулярно собирал множество приборов и многие контролируемые значения.
Кроме того, у него есть изворотливая особенность многих из этих значений данных, полученных в источнике, причем время от времени вычисляется время. Это означает, что мои данные эффективно версируются, и мне нужно просто вызвать только данные из самой последней версии расчета. Примечание. Это не версия, где старые значения перезаписываются. У меня просто есть временные ограничения, за которыми данные меняют свой смысл.
Мое использование
В нисходящем потоке я собираюсь использовать различные данные undefined для интеллектуального анализа данных/машинного обучения. Пока не совсем ясно, что такое использование, но ясно, что я буду писать весь код ниже по потоку в Python. Кроме того, мы очень маленький магазин, поэтому я могу реально справиться с такой сложностью в настройке, обслуживании и взаимодействии с приложениями, расположенными ниже по потоку. У нас просто не так много людей.
Выбор
Мне не разрешено использовать SQL RDBMS для хранения этих данных, поэтому я должен найти правильное решение NoSQL. Вот что я нашел до сих пор:
- Cassandra
- Похоже на меня, но похоже, что некоторые из основных пользователей перешли. Это заставляет меня задаться вопросом, не будет ли это просто такой яркой экосистемой. У этого сообщения SE, кажется, есть хорошие вещи, чтобы сказать: данные временного ряда Кассандры
- Accumulo
- Опять же, это кажется прекрасным, но я обеспокоен тем, что это не крупная, активно развивающаяся платформа. Похоже, это оставило бы меня немного голодным для инструментов и документации.
- MongoDB
- У меня есть, возможно, иррациональная, интенсивная неприязнь к монгольской толпе, и я ищу любую причину отказаться от этого как решения. Мне кажется, что модель данных Монго ошибочна для вещей с такой статической, регулярной структурой. Мои данные даже входят (и должны оставаться) в порядке. Тем не менее, все и их мать, похоже, любят эту вещь, поэтому я действительно пытаюсь оценить ее применимость. См. Это и многие другие сообщения SE: Что использовать NoSQL DB для редких временных рядов, таких как данные?
- HBase
- Вот где я сейчас склоняюсь. Похоже, что преемник Кассандры с полностью используемым подходом к моей проблеме. Тем не менее, это большая часть технологий, и я обеспокоен тем, что действительно знаю, за что я запишу, если я его выберу.
- OpenTSDB
- В основном это база данных по временному ряду, построенная поверх HBase. Отлично, правда? Я не знаю. Я пытаюсь понять, что другой слой абстракции покупает меня.
Мои критерии
- Открытый исходный код
- Хорошо работает с Python
- Подходит для небольшой команды.
- Очень хорошо документировано
- Имеет конкретные функции, позволяющие использовать данные упорядоченного временного ряда.
- Помогает решить некоторые из моих проблем с версиями данных
Итак, какая база данных NoSQL действительно может помочь мне удовлетворить мои потребности? Это может быть что угодно, из моего списка или нет. Я просто пытаюсь понять, на какой платформе есть код, а не только шаблоны использования, которые поддерживают мои супер конкретные, хорошо понятные потребности. Я не спрашиваю, какой из них лучше или какой кулер. Я пытаюсь понять, какая технология может наиболее естественным образом хранить и манипулировать данными такого типа.
Любые мысли?