将数据从Oracle移动到Cassandra和/或MongoDB

时间:2011-03-15 10:26:04

标签: oracle mongodb cassandra

在工作中我们正在考虑从Oracle迁移到NoSQL数据库,因此我必须对Cassandra和MongoDB进行一些测试。我必须将大量表移到NoSQL数据库,我们的想法是在这两个平台之间同步数据。

因此,我创建了一个简单的过程,使选择进入Oracle DB并插入到mongo中。我的一些同事指出,也许有一种更简单(也更专业)的方法。

以前有人遇到过这个问题吗?你是怎么解决的?

2 个答案:

答案 0 :(得分:8)

如果您的目标是将现有结构从Oracle复制到NoSQL数据库,那么您应该首先重新考虑您的行动。通过这样做,您将失去从访问非关系数据存储所看到的任何好处。

好的第一步是仔细查看现有结构,并确定如何修改它以影响对您的应用程序的积极影响。另外,同时考虑混合系统。 Cassandra很适合很多事情,但是如果你需要一个关系系统并且已经使用了很多Oracle功能,那么你的大多数数据库都可能留在Oracle中,同时移动需要经常写入的部分,并且受益于与Mongo或Cassandra不同的结构。

一旦您对结构做出了决定,我建议您编写脚本/程序/向现有应用程序添加模块,以新格式将数据写入新数据存储。这将为您提供对流程中每个步骤的最精细控制,这在大型系统范围内的架构更改中,我希望拥有。

答案 1 :(得分:1)

您还可以考虑使用Hadoop生态系统的组件来执行此类(ETL)任务。为此,您需要根据要求对Cassandra DB进行建模。 步骤可以是将oracle表数据迁移到HDFS(最好使用SQOOP),然后编写Map-Reduce作业来转换此数据并插入到Cassandra数据模型中。