当前位置: 首页 > 知识库问答 >
问题:

Apache Ignite频繁更新

皮骏
2023-03-14

我希望有Apache Ignite经验的人能够帮助指导我的团队找到关于Apache Ignite新设置的答案。

数据从许多分布式传感器中不断产生,并流进我们的数据库。每个传感器每秒可能提供许多更新,但通常每秒生成<10个更新。

    null

查询相当复杂,需要在时间上进行重要的(和动态的)回溯。一个查询可能需要来自一个站点中多个传感器的数据,但所需的传感器是动态确定的。大多数连续查询只需要最近几个小时的数据,但经常需要在多天内进行查询。

因此,通常情况下,我们有一次写入查询多的场景。

如果我们将数据加载到java中的基元整数数组中,一周的空间消耗接近5 GB。因为这在当今的平台中是“花生”,所以我们打算将所有数据加载到Ignite集群/分布式缓存中的所有节点上。换句话说,使用复制缓存。

例如,为每分钟/小时创建块也不一定有效,因为每个传感器都可能暂时脱机,这将使它在稍后的某个时间点传递过时的数据。

因此,我的问题是如何有效地处理这些更新流,同时保持最近7-10天数据的一致视图。

我当前的本地实现是将数据分块为1小时的块。当给定块的新记录到达时,该块将被更新的块替换。这在一台机器上运行良好,但在集群中的网络开销方面可能过于昂贵。我还没有一个Ignite实现,所以我还不能测试它。

所以我的问题是,其他的点火器会如何处理这个问题呢?

共有1个答案

苗康平
2023-03-14

听起来您想要跨多个服务器扩展负载,但在复制缓存中这是不可能的,因为每次更新都会更新所有节点,拥有的节点越多,网络流量就越大。我认为您应该使用分区缓存,并尝试添加节点,直到系统能够处理负载为止。

 类似资料:
  • 问题内容: 是否可以在经常修改的对象上使用缓存?例如,假设我们有一个BlogPost对象,并且有一个num_of_views列(以及其他)经常更改。是否可以在高速缓存和数据库中更新num_of_views字段,而无需破坏高速缓存对象并重新创建它?我可以手动完成,但是我担心同步问题。 问题答案: 是的。我不知道您的缓存状况如何,但是您可以随时替换缓存实例:

  • 问题内容: 嗨, 我的lucene索引经常用新记录更新,索引中有5,000,000条记录,并且正在使用FieldCache缓存我的一个数字字段。但是在更新索引之后,需要花费一些时间来重新加载FieldCache(由于重新加载缓存,导致文档说DocID不可靠),所以如何通过仅将新添加的DocID添加到FieldCache来最小化此开销,导致此功能成为瓶颈应用。 我想要一种通过仅将新添加的文档添加到数

  • 我最近把我的应用上传到了谷歌Playstore。我使用错误报告器跟踪崩溃。应用程序工作正常,但经常出现HttpHostConnectException。在进行每次网络通话之前,我都会检查互联网连接。造成这一例外的原因还有其他原因吗?如何避免? 附言:在测试/调试我的应用程序时,我从来没有遇到过这个异常。

  • 问题内容: 我目前正在Linux系统上以python编写程序。目的是在发现特定字符串后读取日志文件并执行bash命令。日志文件正在被另一个程序不断写入。 我的问题 :如果使用该方法打开文件,我的Python文件对象将随着其他程序写入实际文件而更新,还是我必须在一定时间间隔内重新打开文件? 更新 :感谢到目前为止的答案。我也许应该提到,该文件是由Java EE应用程序写入的,所以我无法控制何时将数据

  • 我有一个用例,需要将小文档批(通常是1到10个1KB的文档)上传到CloudSearch。每2或3秒就会上传一个新批次。批量上传的CloudSearch文档说: 确保您的批次尽可能接近5 MB的限制。上载大量较小的批次会减慢上载和索引过程。 如果在文档出现在搜索结果中之前有30秒的延迟,也可以。随着我的文档数量不断增加,比如说增加到50万个文档,我的实现能否正常工作?

  • Java运行时环境检测到一个致命错误: SIGSEGV(0xB)在PC=0x00007FBFFF58A061,PID=4562,TID=140465537804032 JRE版本:Java(TM)SE运行时环境(7.0_51-B13)(build 1.7.0_51-B13)Java VM:Java HotSpot(TM)64位服务器VM(24.51-B03混合模式linux-amd64压缩oops