0

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

4

3 回答 3

0

因此,您的问题与 Couchbase 没有直接关系,但正如其他人所说,当数据更改为您的 Oracle 实例时如何提醒您。

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

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

于 2013-06-03T08:25:24.680 回答
0

我相信您的问题是关于数据库同步的。这可以通过结合使用数据库依赖项和“直通”功能来完成,我不太确定 couchbase 是否提供这些功能。因此,对于 DB 依赖项,您已经缓存了依赖于 Db 项的项,如果更新或删除了 DB 项,则缓存中的相应依赖项将被删除,同时您可以编写在服务器级别执行的“right-thru”处理程序; 这个处理程序的主要目的是在缓存中加载已删除项目的新副本。因此,基本上,您将编写一次处理程序并将其注册到缓存服务器,缓存服务器将在需要同步时执行它。带有缓存的数据库中的新项目。这篇关于 Db 同步的文章很有用

于 2013-05-31T07:12:19.423 回答
0

您没有告诉任何有关您当前的性能问题的信息。

我见过太多没有真正利用 RDBMS/SQL 特性的应用程序,尤其是当 ORM 介于两者之间时。

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

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

于 2013-05-30T19:13:27.423 回答