从Apache Cassandra 2.2迁移到Oracle Coherence Oracle 12

时间:2015-12-08 13:59:00

标签: oracle cassandra cassandra-2.0 oracle-coherence cassandra-2.1

我正在寻找基于Java的项目的迁移路径,该项目使用Apache Cassandra 2.2到Oracle Coherence 12和Oracle 12后端。 现有应用程序使用CQL与3节点Cassandra集群进行交互。 Elswhere我们特别不使用任何ORM(例如Hibernate / JPA),而是使用JDBC直接与数据库交互。

是的,Cassandra是免费的,而Oracle解决方案相当昂贵,但这超出了这个问题的范围。

欢迎任何技术建议。

1 个答案:

答案 0 :(得分:2)

根据您的使用情况,您有几种选择。

  1. 如果您正在使用SQL与Cassandra进行交互以进行标准请求/响应交互,并且需要将其迁移到使用Oracle DB,这将需要最少的代码更改并仍然使用标准方法将使用对象关系映射(ORM)工具,如Hibernate / JPA,并使用Coherence as the L2 cache (我个人喜欢MyBatis,因为您可以完全控制SQL代码。您可以使用此Coherence integration with MyBatis)。

  2. 如果您有其他应用程序/操作用户直接更新数据库并且需要将这些更改提供给您的应用程序,那么您需要实现CacheStore(如果您愿意,请使用您喜欢的ORM)保存对数据库的更新,并使用Oracle Golden Gate Hotcache feature将对应用程序外部数据库的更新推送到Coherence。您的应用程序需要更改为直接使用其Map接口或使用Coherence查询语言(CQL)与Coherence进行交互,该语言是" SQL类似于"。这种方法还有一个额外的优势,即能够支持您可能拥有的任何异步用例,因为Coherence API支持监听缓存更改(使用MapListeners),类似于Cassandra的executeAsync。

  3. 我希望这会有所帮助。