Cloud databases are becoming more popular and more powerful.
Note that the term “cloud database” may mean different things to different people. Some people define “cloud database” as any database running on a cloud service. Others define it as any database that runs outside their data center infrastructure. In this post, we’re defining cloud database as the former and not the latter.
Comparing Database Solutions
Comparing different database solutions is like comparing apples to oranges. There is so much variation in how companies sell database services today, it’s tough to understand the available options. For example, let’s look at two popular NoSQL cloud database options and compare them to ObjectRocket for MongoDB.
- AWS DynamoDB
Proprietary flexible, NoSQL database service built by Amazon and offered as part of the Amazon Web Services portfolio - Azure Cosmos DB
Proprietary NoSQL database service built by Microsoft and offered as part of the Azure Cloud portfolio - ObjectRocket for MongoDB
Comprehensive Database-as-a-Service (DBaaS) offering using the open source NoSQL database, MongoDB
Let’s look at the main focus for each type of database.
AWS DynamoDB | Azure Cosmos DB | ObjectRocket for MongoDB |
Summary: A flexible, NoSQL database service that supports document and key-value store models for all applications | Summary: Offers multiple NoSQL choices including key-value, graph, column-family, and document data in one service | Summary: Comprehensive service that manages MongoDB, a NoSQL document database that stores data in JSON-like documents that can vary in structure, offering a dynamic, flexible schema |
|
|
|
Which Database Solution Is the Best Fit for Your Organization?
Ask yourself questions like the ones below to help you determine which solution(s) might suit your needs..
AWS Dynamo DB
- Do you have time to do some monitoring?
- Are you willing and able to troubleshoot issues?
- Do you have a simple use case supporting key-value workloads with little need for future flexibility?
Azure Cosmos DB
- Do you have simple use cases with limited need for deeper document store needs?
- Do you want auto-scaling and geographic distribution?
- Do you value the potential of other value types beyond the document itself?
- Are you willing to accept some immaturity in functionality?
ObjectRocket for MongoDB
- Do you want a fully managed service for MongoDB that is always available and monitored by a team of experts?
- Do you want coverage for a wide range of use cases with development and deployment flexibility?
- Do you need access to MongoDB experts for performance optimization, troubleshooting, best-practice advice, etc.?
- Do you have more complex use cases?
Is your development team and your code base invested in MongoDB?
If you answered “yes” to the majority of questions under a solution, continue exploring that option.
Which Solution Makes the Best Use of Hosting in the Cloud?
What is the primary strategic benefit of hosting your data in the cloud? Cloud hosting should deliver flexibility and agility for your application, not vendor lock-in. With that in mind, note that one of the biggest negatives that comes with both DynamoDB and Cosmos DB is anchoring your app data to a single cloud provider, limiting your future flexibility.
Diving Deeper: Other Considerations
What else should you be thinking about when choosing a cloud database solution? It can get pretty complex, pretty quickly. Don’t forget to take a look at factors like ease of setup, scalability, cost structure, security, support, and more. Factor in the degree to which you’ll be able to reduce your employee headcount and/or man-hours by outsourcing your database management to someone else.
AWS DynamoDB | Azure Cosmos DB | ObjectRocket for MongoDB | |
Setup |
|
|
|
Scalability | Auto-scaling possible with some setup | Built around auto-scaling behind the scenes | Auto-scales horizontally; contact support for vertical scaling |
Data Model |
|
|
|
Programming |
|
|
|
Querying |
|
Some limitations but likely getting better |
|
Indexing |
|
Everything is indexed by default. |
|
Cost Structure | Scales with read/write capacity requires design up front to manage appropriately | Pricing is based on the storage used and the data throughput | Scales with total storage size of instances |
Security |
|
|
|
Backups |
|
|
|
Support |
|
|
|
Latest Version/Features |
|
|
Supports the latest “production-worthy” versions of community MongoDB with support for native MongoDB features |
Monitoring |
|
Cloud service monitoring (does not monitor database performance) |
|
Which Solution Should You Choose?
Here it is in a nutshell:
- If you’re already using the AWS stack and you need a NoSQL database, DynamoDB is worth checking out.
- If you have simple use cases and know you’ll be sticking with Azure, Cosmos DB might be an adequate choice for now.
- If you need scalability and caching for real-time analytics and aren’t sure what the future holds for the types of data you’ll need to store, MongoDB is a great choice.
But just because it fits in a proverbial nutshell doesn’t mean making the choice is simple and easy. As noted previously, there are many complex considerations to take into account, and not everyone is a database expert steeped in all the strengths and weaknesses of these solutions. The good news is you don’t have to figure it out alone! Contact our database experts and we’ll talk about which database services may be right for your business.