我是Pivotal Gemfire的新手,并配置Gemfire来存储Oracle表数据,以实现低延迟和高吞吐量应用。
通过我们可以通过多种方式将数据加载到Gemfire缓存中。
如果在Oracle post Gemfire缓存加载中发生任何更新,有谁知道如何更新数据?
任何帮助,指示,参考都会有很大的帮助。
答案 0 :(得分:1)
通常,您需要设计应用程序,以便所有更新都从您的应用程序流向GemFire,然后流向Oracle。您可以使用GemFire CacheWriter同步更新Oracle数据库,甚至将其包装在(JTA) transaction中,这样只有在GemFire成功更新后才会更新Oracle数据库。查看更多详情here。您甚至可以使用AsyncEventQueues和Listeners异步执行更新(后写),请参阅here,更常见的是here。
您可能有其他非基于GemFire的应用程序直接访问您的Oracle数据库。在这种情况下,您将不得不依靠外部手段来检测数据库更新并将其提供给GemFire。当然,有很多方法可以做到这一点,例如来自定期检查数据库更新的计划服务并将其拉入GemFire。弹簧框架核心Task Scheduling基础架构与Spring Data JPA(甚至只是Spring's JDBC Abstraction)相结合,可以大大简化这项工作。
或者,如果是我,我可能会选择Spring XD,并设置一个“stream”,其中Oracle数据库(JDBC)“source”与某些{transformations/filters/etc混合在一起3}}根据需要,然后是GemFire“sink”。
希望这会有所帮助,祝你好运。
干杯!