2013-06-17 8 views
5

Я разрабатываю прототип реального времени для обработки довольно больших сумм (> 30G/day) потоковых числовых данных. Я хотел бы написать это в Clojure, так как язык, похоже, хорошо подходит для системы «Observer + state machine», которая, вероятно, окажется такой.Lamina vs Storm

Два основных кандидата, которые я нашел для рамки, - это Ламина и Шторм. Существует также Riemann и Pulse, но первое кажется скорее полноценным решением, чем каркасом, и я бы предпочел не делать окончательный проект; Репо Pulse выглядит немного незапятнанным?

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

Что я нашел от чтения онлайн:

  • Шторма, кажется, Big Data (поток) сфокусирован, ядро ​​является прямым Java с DSL Clojure. По-видимому, у него есть предварительно построенные обработчики для ряда существующих источников данных.

  • Lamina - более легкий, многоразовый компонент, который делает Clojure для кодирования абстракциями, то есть он может быть reused as a base for other eventing systems. Источники данных должны обрабатываться в коде.

  • Оба имеют полезный набор функций библиотеки агрегации/расщепления/вычисления из коробки. Интеграция графиков в Lamina - приятный штрих.

ответ

4

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

+0

Это дает много всего в комплекте, поэтому я собираюсь дать ему попробовать и посмотреть, не слишком ли это. Ламина, по моему возиться с ней, кажется слишком низкоуровневой, хотя и очень обтекаемой и элегантной. Благодаря! – CLF

1

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

8

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