How to migrate from Oracle to MongoDB?

3,171 views
Skip to first unread message

Sandra Schlichting

unread,
Aug 8, 2011, 2:22:27 PM8/8/11
to mongodb-user
Hi everyone.

Are there a way to do a quick analysis on ones Oracle database to tell
how the same data would perform on MongoDB?

If so, what would the migration path be? Does there exist a tutorial
for migrating from Oracle to MongoDB?

Hugs,
Sandra

Andreas Jung

unread,
Aug 8, 2011, 2:27:39 PM8/8/11
to mongod...@googlegroups.com
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Sandra Schlichting wrote:
> Hi everyone.
>
> Are there a way to do a quick analysis on ones Oracle database to
> tell how the same data would perform on MongoDB?

What do you mean with same data? Since a RDBMS schema is different from
the documented approach in MongoDB there is no one-to-one mapping.

>
> If so, what would the migration path be? Does there exist a tutorial

> for migrating from Oracle to MongoDB.

First you have to think about a proper database design for MongoDB
and then check your out-of-the-box options (like CSV or JSON import)
or writing a migration script according to your needs and data.

- -aj
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQGUBAEBAgAGBQJOQCqbAAoJEADcfz7u4AZjVAkLwLa2N/4arEMG50jus/wDpH7h
OHYUeGA3YC4uQgc5awcrhQukgQaVzYS3rTIO2l12N4imDLnc6cbbU+Wjah+dyvna
9c8WDBHPnaJlS+41izHw7++3M1E/r3rTsuct8EggG841TiacKjBYwxDZMDhpPLhh
cJqSTBcf4wvJCYiyuyBDrnYFVcTqwjJ3S5SS97Ra88+xtjbmtYNgD/Oae8DgahiM
JNXA5qsBmBoR85/7Le8dkM2ZiATIKF1q0MV82AjeYdUs6fAHYbcev9fF/L5yaxzW
0+/b9pxKlzAkgdd91Zm/PAvKwnQGFyp+YVUgw/+bPVCiuFa8Ryqk/JokebiL9fU4
q1tnN9xc/hNZ8mrNEy/Lto6oDxQkSH2DCD34sDlMUd+CmJkVOaVLLZI7W9xdU+7R
U9pEO+vSU+6yu+t8o+/YR1IyKgvSWSSG1GiE6juIDSA/FFYjIPIQ0i9C0QXkJzWl
a83PisJP7vKTXGKhXN9tCo+RSirLlqY=
=f+4g
-----END PGP SIGNATURE-----

lists.vcf

Sandra Schlichting

unread,
Aug 8, 2011, 2:45:22 PM8/8/11
to mongodb-user
> What do you mean with same data? Since a RDBMS schema is different from
> the documented approach in MongoDB there is no one-to-one mapping.

I mean, without modifying the fundamental way the application talks to
the Oracle database. So it would more or less be a matter of replacing
the database layer.

Are the things where you can say, if you use this feature in Oracle,
then the migration will be hard?

Or are things where you can say, if you only use these features in
Oracle, then the migration will be easy?

> First you have to think about a proper database design for MongoDB
> and then check your out-of-the-box options (like CSV or JSON import)
> or writing a migration script according to your needs and data.

I can do that. But I am afraid that when I am done, the end is slower,
because I hadn't identified performance killers.

So I am looking for a check list so to speak of things I should be
aware of, before I begin migrating the data.

Andreas Jung

unread,
Aug 8, 2011, 3:00:05 PM8/8/11
to mongod...@googlegroups.com
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Sandra Schlichting wrote:
>> What do you mean with same data? Since a RDBMS schema is different
>> from the documented approach in MongoDB there is no one-to-one
>> mapping.
>
> I mean, without modifying the fundamental way the application talks
> to the Oracle database. So it would more or less be a matter of
> replacing the database layer.

I am under the impression that you think that MongoDB would be a
fully-fledged replacement for a RDBMS, right?

- -aj
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQGUBAEBAgAGBQJOQDI1AAoJEADcfz7u4AZjXkQLv1Y1poIzdooKI6b8w0KNUPiK
2izNNgyZKuv4gxeQQ4Hae6GTSV73uOe2zxm1t0WlZDpeO5KSZuO/vjyClgI9Y761
BSEsRZZhZRwYIMvJ5JOKUR8kSr3HE+5ogYF4QSoj6NJ1UCZBr/JDd1ksp51hZjpR
xA+qbf/xc2KAsmx5xeJsv4lB2TWlstFi3AmSE62nlxgLDEUHsRFac3GjCZvDxNOu
NON1/WOmE+Deg7JudGvOjwemtmtiW6MYT8ucgTz+VynTU/7ude3EuRhVWqiA7NQ0
wr0S/BW/Mmybk0rEEQpUKG/9FORh9rOiPNnT7WbYS5Rd+aJh6Aj3XIqiL3te9orj
zyTUoPluEX7TBIpM6EAJ1hK4kx5IXuVmNUSSSZWXjR4+iVON57W+FrKBWIWDXJkH
i3ZUlKymrbwachMpghLWrhTHFp+d+5dglip8iVw8aJ64DldX6Akrt+ow5JDOSaoj
s3Hw94Txd/L84jernjhYfCFlnPHzjYE=
=hDPk
-----END PGP SIGNATURE-----

lists.vcf

Dan Cook

unread,
Aug 8, 2011, 3:01:09 PM8/8/11
to mongod...@googlegroups.com
Sandra,

How isolated is your application from the database layer? 
(Are database keys exposed in the application layer?   What about views?)

Is your current application tied a specific schema?  Does it expect a particular relationships to hold true, like referential integrity?

Can your existing schema be expressed in terms of documents and collections efficiently/sufficiently in MongoDB?

What are your goals with using MongoDB?  (performance, sharding, etc..)
How constrained are you with application changes?

Dan



--
You received this message because you are subscribed to the Google Groups "mongodb-user" group.
To post to this group, send email to mongod...@googlegroups.com.
To unsubscribe from this group, send email to mongodb-user...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/mongodb-user?hl=en.


Chris Westin

unread,
Aug 8, 2011, 6:33:41 PM8/8/11
to mongodb-user
The short answer is "no, there isn't a way to do a quick analysis."
Unless your use of an RDBMS is extremely simple, it is almost certain
that MongoDB cannot be a drop-in replacement, and that you will have
to invest in rewriting parts of your application to make the switch.

Re later questions in the thread, a couple of major differences
between MongoDB and any RDBMS is that as a NoSQL store, MongoDB has
neither transactions, nor joins. You would have to look at your
application and see where you depend on these, and find ways to
rewrite your application to avoid needing them. In some cases, both
can be avoided by using embedded documents to model master-details
situations. But if you need to model many-to-many relationships,
you're going to have to add logic to your application to deal with
that, because NoSQL stores don't do that.

In general MongoDB gets its performance gains through simplicity. It
provides less functionality than an RDBMS, and in exchange, a number
of other things emerge. Schema evolution is doable. Data can be
sharded under the covers. In short, features that make building large
scalable web sites easier.

You might want to check out some of the introductory talks on the
10gen site to see what this is all about: http://www.10gen.com/presentations
.

Chris


On Aug 8, 11:22 am, Sandra Schlichting <littlesandr...@gmail.com>
wrote:

trac...@gmail.com

unread,
Oct 9, 2013, 3:35:11 AM10/9/13
to mongod...@googlegroups.com
Hi,
 
you may check a tool called mongodbpumper for oracle. As far as I know this tool can perform a quick data migration from oracle to mongodb. thus, you will be able to compare oracle and mongodb in terms of performance.
 
cheers,
tracer
 

Ger Hartnett

unread,
Feb 28, 2014, 6:06:12 AM2/28/14
to mongod...@googlegroups.com
Apollo did such a migration and published it as a whitepaper recently. They documented performance and the process they followed. You'll find it at:

s.molinari

unread,
Mar 1, 2014, 5:24:49 AM3/1/14
to mongod...@googlegroups.com
Um, not really. From what I read, Apollo imported only a small subset of the Oracle data using a python script and formed it to fit in a single collection to see how well Mongo can perform. There is no real details of a migration/ import and no real comparisons to Oracle's performance, other than noting Mongo performed as well or better than their (20 year old?) Oracle system. That white paper is mostly about their findings while testing Mongo. Still, it is an interesting read, but I think will disappoint Sandra, as it doesn't really answer her questions. Some of the things they mention though are also pluses for Mongo like 

Ease of use
Quick implementation
Ability to handle failover well
Great support
Easy to learn for application devs, dev ops and DBAs

and so on and so forth.  

Scott

Rajeshwar Reddy

unread,
Apr 21, 2014, 12:00:14 PM4/21/14
to mongod...@googlegroups.com
Hi Sandra,

There is a tool called "Pelica Migrator" that can migrate data from Oracle to MongoDB. The tool is available for trail and it can migrate data from almost any RDBMS to MongoDB. Here is the url: http://www.techgene.com/pelica-migrator/

s.molinari

unread,
Apr 22, 2014, 3:50:22 AM4/22/14
to mongod...@googlegroups.com
From the MongoDB site, they have this listed in their tools section. http://www.spviewer.com/mongodbpumper.html

Scott
Reply all
Reply to author
Forward
Message has been deleted
0 new messages