Apache Ignite和Apache Storm在很多方面都是两种截然不同的技术 - 特别是因为Storm有一个非常具体的用例,而Ignite在同一个屋檐下有相当多的工具。据我了解,Ignite的核心是它的内存存储。建立在它的数据局部敏感计算。建立在各种酷玩具上。我感兴趣的是Streaming功能,它基本上是对内存缓存不断变化的查询监听器。
如果我将滑动窗口设置为一个元组,Ignite会像Storm一样提供一次一元组的功能。 Ignite将数据存储在内存中。 Storm不会在内存中“存储”数据,但是元组当然也存储在内存中。所以在这两种情况下我都有流媒体,我在内存中有数据,我可以分发我的计算。
由于这两种技术的抽象,我觉得编写执行许多数据转换步骤的程序可能更容易在Storm中编写。该怎么说呢?
第二个问题:表现怎么样?我猜Ignite的数据位置可能会给它一个优势。另一方面,我认为在Storm中可以更好地分配多个步骤(在各种机器上使用不同的螺栓),而Ignite程序可能不会那么容易分割。
如果我仍想分发流(不仅是每个数据,还有不同机器上的步骤)。我想我必须编写多个Ignite流媒体,通过缓存进行通信,对吗?这听起来比在Storm中更难(让我们回到第一个问题)。
答案 0 :(得分:3)
由于两种技术的抽象,我觉得编写执行许多数据转换步骤的程序可能更容易编写。该怎么说呢?
你可能是对的。虽然Ignite通过将新生成的元组流式传输到另一个缓存中,但它似乎对它有了很好的支持。
表现怎么样?我猜Ignite的数据位置可能会给它一个优势。另一方面,我认为在Storm中可以更好地分配多个步骤(在各种机器上使用不同的螺栓),而Ignite程序可能不会那么容易分割。
根据我在社区内听到的消息,Ignite应该比Storm快一个数量级。
如果我仍想分发流(不仅是每个数据,还有不同机器上的步骤)。我想我必须编写多个Ignite流媒体,通过缓存进行通信,对吗?
是的,你是对的。在Ignite中拥有多个缓存并不是一件坏事,实际上是推荐的。大多数用户最终都有十几个。
这听起来比在Storm中更难(让我们回到第一个问题)。
听起来你需要决定表演对你有多重要。