Showing posts from 2021

A Series of MongoPush Events

MongoPush is not only a data migration tool but also a database cluster transformation solution.  Data migration is one of many functions mongopush has. Another Bold Stroke In my tenure at Professional Services, December has been a month full of customer requested cancellations and thus resulting in many last minute engagements.  Right before the December holidays in 2020, I was assigned to an Atlas migration consultation on a short notice.  A colleague of mine already demonstrated to the customer a replica set migration to Atlas using the mongomirror tool in a previous meeting.  The customer asked me to use the same procedure and tool to mirror a 3-shard cluster to Atlas.  Unfortunately, it was not possible to migrate a sharded cluster using a simple mongomirror command.  After explaining the steps of migrating a sharded cluster using multiple modified mongomirror instances, the idea of simplifying the process of migrating sharded clusters began brewing in my head. The mongomirror

MongoPush - Push-Based MongoDB Atlas Migration Tool

MongoPush tool is another bold stroke in my serendipitous MongoDB career. It is a push based migration tool for MongoDB clusters. It provides high parallelism, supports topology transformation, is resumable, offers progress monitoring, and supports migrating subsets of data.  With MongoDB Atlas gaining popularity and the success of the Keyhole , I was frequently asked whether a migration feature can be added to the Keyhole. The other existing migration solutions often fail because of firewall restrictions or other limitations.  Keyhole serves a different purpose as an analysis tool, so rather than confuse its function, I created MongoPush as a separate tool.  Push-Based Solution My goal was simple, to develop a tool that can perform a sharded cluster migration when the Atlas Live Migration Service is not suitable.  MongoDB provides the mongomirror tool to push data to MongoDB Atlas from behind firewalls, but mongomirror can only migrate data between replica sets. It does not yet p