I authored a tool to import MySQL/MariaDB to MongoDb -- is it needed?

I knew I might be reinventing the wheel when I authored a tool (Python script) to import MySQL/MariaDB to MongoDb.

It was worth doing anyway for the education.

My question is, is this a task for which fully sufficient tooling already exists, or is this generally useful to the community … i.e., should I publish?

Hi @Jack_Woehr,

Can you describe what your tool does in some more detail, or share a link if there is a public repo?

There are several tools for performing RDBMS to MongoDB migrations, but an effective migration normally involves some data transformation to take advantage of MongoDB. A tool’s ETL (Extract/Transform/Load) support could be a differentiating feature.

Based on your current description, something like MongoSyphon (written in Java) might be a similar tool: GitHub - johnlpage/MongoSyphon: A tool for transferring data from a Relational Database to MongoDB.

If a tool solves a need, there’s no harm in sharing unless you don’t want the onus of responding to feedback requests or issues (although you can also turn off Issues in GitHub if appropriate). Even if there is a very similar tool, choice of implementation language may attract different contributors.

Regards,
Stennie

1 Like

Hmm, MongoSyphon is more featureful than my tool, but mine is simpler. It just grabs one table from MySQL/MariaDB and copies it into a Collection where the fields have the same name as the original SQL columns.

Also, mine is a Python module (with a __main__ interface) so its individual members can be used. Particularly interesting are get_rows() and get_column_names() so that instead of just using the bulk copy main scripting interface, you can use the module to transform your relational schema into a more Mongo-ish collection schema.

That’s actually how I used it myself, to convert a relational schema from MySQL on a website I own into a smaller number of MongoDB colllections where certain relational items became list members of the new collections.