Ламина против Шторма

Я разрабатываю прототип монитора реального времени для обработки довольно больших объемов (> 30 ГБ / день) потоковых числовых данных. Я хотел бы написать это на Clojure, так как язык, кажется, хорошо подходит для системы типа «наблюдатель + конечный автомат», к которой это, вероятно, приведет.

Два основных кандидата, которых я нашел для фреймворка, — это Lamina и Storm. Есть также Riemann и Pulse, но первый кажется скорее полным решением, чем фреймворком, и я бы не хотел пока приступать к окончательному дизайну; Репозиторий Pulse выглядит немного заброшенным?

Что я хотел бы знать, так это; Для каких типов данных и рабочего потока оптимизированы эти два проекта? Storm кажется более зрелым, но Lamina кажется более компонуемой и «Clojureic» (мой опыт работы с Python, поэтому я склонен оценивать это высоко).

Что я нашел из чтения в Интернете:


person CLF    schedule 17.06.2013    source источник


Ответы (3)


Storm включает в себя управление кластером и обработку отказавших узлов в потоке, потому что он был разработан, чтобы быть чем-то вроде «Hadoop, но для потоковой передачи», что, насколько я понимаю, ваших требований, кажется, ближе к вашему варианту использования.

person Arthur Ulfeldt    schedule 17.06.2013
comment
Это дает много вещей в комплекте, поэтому я собираюсь попробовать и посмотреть, не будет ли это излишним. Ламина, судя по тому, как я с ней возился, кажется слишком низкоуровневой, хотя очень обтекаемой и элегантной. Спасибо! - person CLF; 19.06.2013

Storm, вероятно, неплохой выбор, но «более 30 ГБ в день» числовых данных — это не большие данные, а крошечные данные. Любой полусовременный компьютер может легко обрабатывать такой объем данных на одном узле с пластиной. Возможно, вы все равно захотите использовать Storm, чтобы, когда вы попадете в область, где вам нужно больше серверов, вы могли легко масштабироваться, но я полагаю, что есть некоторые начальные трудности с настройкой Storm (и некоторые постоянные трения в обслуживании кластера). , которые будут потрачены впустую, если вам никогда не придется увеличивать масштаб.

person amalloy    schedule 18.06.2013

Lamina кажется хорошим выбором, но, похоже, ему полностью не хватает убийственной функции Storm — управления кластерными вычислениями. Кластер Storm возьмет на себя большую часть грязной работы по распределению ваших вычислений по кластеру узлов, предоставив вам возможность сосредоточиться только на своей бизнес-логике, пока вы вписываете ее в структуру Storm. Насколько я вижу, Lamina обеспечивает хороший способ организации ваших вычислений, но тогда вам придется позаботиться обо всех деталях масштабирования, если это то, что вам нужно.

person G Gordon Worley III    schedule 18.06.2013