Apache Ignite与Apache Storm(深入)

时间:2015-11-26 10:46:19

标签: apache-storm ignite

Apache Ignite和Apache Storm在很多方面都是两种截然不同的技术 - 特别是因为Storm有一个非常具体的用例,而Ignite在同一个屋檐下有相当多的工具。据我了解,Ignite的核心是它的内存存储。建立在它的数据局部敏感计算。建立在各种酷玩具上。我感兴趣的是Streaming功能,它基本上是对内存缓存不断变化的查询监听器。

如果我将滑动窗口设置为一个元组,Ignite会像Storm一样提供一次一元组的功能。 Ignite将数据存储在内存中。 Storm不会在内存中“存储”数据,但是元组当然也存储在内存中。所以在这两种情况下我都有流媒体,我在内存中有数据,我可以分发我的计算。

由于这两种技术的抽象,我觉得编写执行许多数据转换步骤的程序可能更容易在Storm中编写。该怎么说呢?

第二个问题:表现怎么样?我猜Ignite的数据位置可能会给它一个优势。另一方面,我认为在Storm中可以更好地分配多个步骤(在各种机器上使用不同的螺栓),而Ignite程序可能不会那么容易分割。

如果我仍想分发流(不仅是每个数据,还有不同机器上的步骤)。我想我必须编写多个Ignite流媒体,通过缓存进行通信,对吗?这听起来比在Storm中更难(让我们回到第一个问题)。

1 个答案:

答案 0 :(得分:3)

  

由于两种技术的抽象,我觉得编写执行许多数据转换步骤的程序可能更容易编写。该怎么说呢?

你可能是对的。虽然Ignite通过将新生成的元组流式传输到另一个缓存中,但它似乎对它有了很好的支持。

  

表现怎么样?我猜Ignite的数据位置可能会给它一个优势。另一方面,我认为在Storm中可以更好地分配多个步骤(在各种机器上使用不同的螺栓),而Ignite程序可能不会那么容易分割。

根据我在社区内听到的消息,Ignite应该比Storm快一个数量级。

  

如果我仍想分发流(不仅是每个数据,还有不同机器上的步骤)。我想我必须编写多个Ignite流媒体,通过缓存进行通信,对吗?

是的,你是对的。在Ignite中拥有多个缓存并不是一件坏事,实际上是推荐的。大多数用户最终都有十几个。

  

这听起来比在Storm中更难(让我们回到第一个问题)。

听起来你需要决定表演对你有多重要。