如何将couchbase用作oracle之上的缓存层?

时间:2013-05-30 16:52:28

标签: oracle memcached couchbase

我将Oracle作为我的主要RDBMS进行读写,但我想使用couchbase作为缓存层,因为它具有map-reduce,因为它可以用作memcache。在更新或插入Oracle等时,我知道如何实现它,以及如何在缓存层中传输和更新数据。

3 个答案:

答案 0 :(得分:0)

您没有说明您目前的表现问题。

我看到太多的应用程序没有真正利用RDBMS / SQL功能,特别是如果ORM介于两者之间。

解决方法是将另一个缓存放在数据库之上,并使用IP多播(例如SwarmCache),消息队列(JMS)或夜间导入作业手动在集群中同步。最终可能会产生更多问题。它增加了系统的复杂性。

所以我对你的问题的回答是:只要你的数据模型和/或查询有改进的余地,我就不会这样做。

答案 1 :(得分:0)

我相信你的问题是关于数据库同步。这可以通过使用数据库依赖关系和“直通”功能的组合来完成,我不太确定couchbase是否提供。因此,对于DB依赖项,您已缓存依赖于Db项的项,如果更新或删除了DB项,则会删除缓存中相应的依赖项,同时您可以编写在服务器级执行的“right-thru”处理程序;此处理程序的主要目的是在缓存中加载已删除项目的新副本。因此,基本上,您将编写处理程序一次并注册缓存服务器,缓存服务器将在需要同步时执行它。带有缓存的DB中的新项目。 This reading on Db synchronization can be useful 。它基于产品Ncache。

答案 2 :(得分:0)

因此,您的问题与Couchbase没有直接关系,但正如其他人所述,更多关于如何在数据更改为Oracle实例时收到警报。

一个尚不为人所熟知的事情是Oracle数据库更改通知功能对此非常酷: http://docs.oracle.com/cd/E11882_01/java.112/e16548/dbchgnf.htm

因此,您可以创建一个正在侦听更改并将数据推送到Couchbase的应用程序。