Mongo DB Atlas vs Azure cosmos DB Mongo API - mongodb

I would like to migrate my already existing Mongo DB to Azure Cosmos DB Mongo API, but could not figure out whether all the functionalities in use can be implemented in cosmos DB. Currently, I am using Mongo DB Atlas.
Following are some of the functionalities that we are using in Mongo Db atlas.
Grid FS
Master DB for connecting all the other DB's.
Indexing manually.
Profiler.
TTL for documents( Data gets deleted after 90 days from its entry date).
Vertical Scaling, ie., more than 500 databases with at least 3 to 4 collections in each database.
Storing certificates whose size is more than 2 MB.
All the files are in JSON format.
Can anyone help me out with this?

Most of these features are already supported and documented. You can refer to below links for more details:
Azure Cosmos DB's API for MongoDB (3.6 version): supported features and syntax - This covers Gridfs, TTL
Per-account limits - This covers scaling limits of DB
Manage indexing in Azure Cosmos DB's API for MongoDB - This covers Index creation
Monitor and debug with insights in Azure Cosmos DB
I dont think there is master db in Azure Cosmos DB MongoDB API

Related

AWS data migration from mongodb to dynamodb

my database is currently present in mongodb atlas.Can i use AWS DMS to directly migrate from atlas to dynamo db or do i have to first make a EC2 instance and make a mongodb server there and dump my data. I can't find any videos nor blogs related to it

How to do bulkupload in Cosmos DB for mongodb api

I am trying to upload 100GB Json file to cosmos DB. I want to use mongo DB API to store the data. How can i able to bulk upload the data to cosmos DB? Is there any option provided to upload json file to cosmos db.
Would probably use mongoimport to do this. There are some things to configure in Cosmos DB when importing data. You can read more here as well as a lot of other articles on migrating data into Cosmos DB API for MongoDB

Azure Cosmos DB: Clone collection to another database

Currently I am trying to clone a cosmos db collection from one database to another database within the cosmos db. The API of the cosmos db is set to Mongo API.
I already tried to use Azure Data factory, but it looks like that there is no support for the Mongo API so far.
Has anyone an idea how to do this respective to efficiency, automation and performance?
Any ideas are appreciated.
You can use data Migration tool suggested by Microsoft to do the same.
There is no way to take a backup and import cosmosdb.
EDIT:
With the new Cosmic Clone tool, you can take a clone/backup with data/stored procedures/triggers/udf, etc. Read my blog on the same.
I already tried to use Azure Data factory, but it looks like that
there is no support for the Mongo API so far.
Actually, Cosmos DB Mongo API and SQL API are all belong to Azure Cosmos DB service.So , you still can create cosmos db linked service and dataset in the azure data factory for your database.
Then you could create copy activity to import data from one collection to another collection.
If you want to make it as an automation task, I suggest using following 2 ways to run the copy activity.
1.Azure Time Trigger Function.
2.Web job which is run in the background of Azure Web App.
Hope it helps you.Any concern, please feel free to let me know.
I used mongodump and mongorestore to copy my database (with mongodb version 4.0.9 installed). From the windows command line I ran the following commands from my mongodb bin directory (c:\Program Files\MongoDB\Server\4.0\bin in my case).
This will copy all the collections, including indexes, in the DB to the specified /out directory as .json files.
mongodump.exe /uri:URI /out:A_DIRECTORY_TO_DUMP_TO
I then ran the following command to take everything in the /out directory and write it to the target DB:
mongorestore.exe /uri:URI /dir:DIRECTORY_TO_RESTORE_FROM
NOTE: Before importing I also had to increase the throughput for the collection, otherwise I ran into rate limiting errors. If you've set throughput at the database level this may need to be changed.

connect to documentdb using robomongo

I have a Document DB (using the DocumentDB interface, NOT the MongoDb interface), so the connection string looks like:
AccountEndpoint=https://SomeDatabase.documents.azure.com:443/;AccountKey=xxxxx;
it does NOT look like this:
mongodb://SomeDatabase:xxxxx==#SomeDatabase.documents.azure.com:10255/?ssl=true&replicaSet=globaldb
Question:
How do I connect using RoboMongo or other MongoDb tools/code?
The stuff I looked at said things like take the username (that it shows in the MongoDb version of Cosmos DB (which won't help, as it is a totally different database and the connection string there won't work for apps that need the DocumentDb interface)
Is there a way to do this,or by 'adding support for MongoDB interface to Document DB' like adding the ability to talk to a Ms-SQL Server using MongoDB because you can always download MongoDb an install that on the same machine. (and not be able to get any data passed between them)
When you use Cosmos DB, you must choose, for your deployed database, which API to use with it (DocumentDB, MongoDB, Tables, Gremlin). You cannot use multiple APIs against the same database.
The only way to use MongoDB tools & frameworks is to deploy a Cosmos DB database with the MongoDB API. The MongoDB API is what provides compatibility with MongoDB. Note: The oplog is not provided with the Cosmos MongoDB API, so tools that rely on reading/tailing the oplog will not work.
The DocumentDB API does not surface any of the MongoDB API, so you will not be able to use MongoDB-specific tools when deploying a DocumentDB-specific database.
Note: The MongoDB API of Cosmos does not surface an oplog, so any operations which attempt to query the oplog will not succeed.
Have you seen this how-to by Microsoft for this: Use Robomongo with an Azure Cosmos DB
And one more related: Connecting to Azure Cosmos DB emulator from RoboMongo

Azure Data Migration Tool

I am trying to migrate my mongoDB from mLab to Azure DocumentDB (with protocol support for mongoDB) using the data migration tool that Microsoft asks us to use, here is the link -https://www.microsoft.com/en-us/download/details.aspx?id=46436. The mlab mongoDb is trial version.
The connection string for mlab mongoDb is mongodb://dbuser:dbpassword#host:port/dbname
But the tool does not accept the connection string for the mLab mongoDB but accepts the one for my local mongoDB.
Has anyone else had this problem?
The data migration tool is designed to migrate to standard DocumentDB accounts. For migrating from MongoDB to a DocumentDB account with protocol support for MongoDB, I recommend standard MongoDB utilities such as mongoexport/mongoimport or mongodump/mongorestore.