{"id":58661,"date":"2020-12-16T02:17:43","date_gmt":"2020-12-15T23:17:43","guid":{"rendered":"https:\/\/www.altoros.com\/blog\/?p=58661"},"modified":"2023-11-15T03:58:47","modified_gmt":"2023-11-15T00:58:47","slug":"dbaas-evaluation-couchbase-cloud-mongodb-atlas-and-amazon-dynamodb","status":"publish","type":"post","link":"https:\/\/www.altoros.com\/blog\/dbaas-evaluation-couchbase-cloud-mongodb-atlas-and-amazon-dynamodb\/","title":{"rendered":"DBaaS Evaluation: Couchbase Cloud, MongoDB Atlas, and Amazon DynamoDB"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-transparent ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.altoros.com\/blog\/dbaas-evaluation-couchbase-cloud-mongodb-atlas-and-amazon-dynamodb\/#Why_database_as_a_service\" >Why database as a service?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.altoros.com\/blog\/dbaas-evaluation-couchbase-cloud-mongodb-atlas-and-amazon-dynamodb\/#What_was_compared\" >What was compared?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.altoros.com\/blog\/dbaas-evaluation-couchbase-cloud-mongodb-atlas-and-amazon-dynamodb\/#Workload_with_50_reads_and_50_updates\" >Workload with 50% reads and 50% updates<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.altoros.com\/blog\/dbaas-evaluation-couchbase-cloud-mongodb-atlas-and-amazon-dynamodb\/#Performance_for_the_update-heavy_workload\" >Performance for the update-heavy workload<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.altoros.com\/blog\/dbaas-evaluation-couchbase-cloud-mongodb-atlas-and-amazon-dynamodb\/#More_performance_results\" >More performance results?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.altoros.com\/blog\/dbaas-evaluation-couchbase-cloud-mongodb-atlas-and-amazon-dynamodb\/#Further_reading\" >Further reading<\/a><\/li><\/ul><\/nav><\/div>\n<h3><span class=\"ez-toc-section\" id=\"Why_database_as_a_service\"><\/span>Why database as a service?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>NoSQL solutions include a wide variety of database technologies that were developed in response to rapidly growing data sets, data structure organization, and data access management. In comparison, relational databases were not designed to provide the scalability and agility needed by modern high-load apps. While NoSQL systems can help to achieve the performance required by workloads today, they also have complex structures with multiple components.<\/p>\n<p>Compared to traditional databases, NoSQL systems are more scalable and provide superior performance. However, the performance increase comes as a cost both in operational expenses and manpower. NoSQL solutions require significant effort and time for deployment, configuration management, and support. Performance drops caused by lag or other factors can lead to major issues and serious troubleshooting.<\/p>\n<p><center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2020\/12\/NoSQL-Database-Market-Executive-Summary-DataIntelo.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2020\/12\/NoSQL-Database-Market-Executive-Summary-DataIntelo-1024x576.png\" width=\"640\" class=\"aligncenter size-large wp-image-59023\" \/><\/a><small>Global NoSQL database market (<a href=\"https:\/\/dataintelo.com\/report\/nosql-database-market\/\" rel=\"noopener noreferrer\" target=\"_blank\">Source<\/a>)<\/small><\/center><\/p>\n<p>As an alternative, a <a href=\"https:\/\/en.wikipedia.org\/wiki\/Cloud_database\" rel=\"noopener noreferrer\" target=\"_blank\">database as a service<\/a> (DBaaS) occurred as a fully managed solution deployed in the cloud. NoSQL DBaaS providers manage these for their customers, enabling companies that concentrate on optimizing resources to benefit from the technology. As a result, managed NoSQL databases remove the operational responsibilities from engineers, enabling organizations to focus manpower on development. Most DBaaS are offered in pay-per-usage models, so customers are able to control their operational expenses by maintaining resource limitations.<\/p>\n<p>Today, we are announcing the results of our latest <a href=\"https:\/\/www.altoros.com\/research-papers\/performance-evaluation-of-nosql-databases-as-a-service-couchbase-capella-mongodb-atlas-amazon-dynamodb\/\">NoSQL DBaaS benchmark<\/a> (check out the official <a href=\"https:\/\/www.newswire.com\/news\/altoros-releases-2020-comparative-analysis-report-of-nosql-databases-21264671\" rel=\"noopener noreferrer\" target=\"_blank\">press release<\/a>). The new study compares the performance of three NoSQL DBaaS systems: <em>Couchbase Cloud<\/em>, <em>MongoDB Atlas<\/em>, and <em>Amazon DynamoDB<\/em>. This post sheds some light on the study.<\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"What_was_compared\"><\/span>What was compared?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Each database was measured in relative performance in terms of latency and throughput. The evaluation was conducted on three different cluster configurations\u20146, 9, and 18 nodes\u2014as well as under 4 different workloads.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2020\/12\/Couchbase-Cloud-logo-transparent.png\" width=\"200\" class=\"alignright size-full wp-image-58822\" \/><\/p>\n<p><a href=\"https:\/\/www.couchbase.com\/products\/cloud\" rel=\"noopener noreferrer\" target=\"_blank\">Couchbase Cloud<\/a> combines features of a key-value store to perform operations involving single documents. The DBaaS also acts as a schemaless document store to access the documents through N1QL queries. For each cluster size of 6, 9, and 18 nodes, the r5.2xlarge instances were used. Each node was configured to run the Data, Index, and Query services. The Data service is the most fundamental of all Couchbase services, providing access to data in memory and on disk. The Index service supports the creation of primary and global secondary indexes on items stored within Couchbase Server. The Query service supports the querying of data by means of SQL- and N1QL-like query language and depends on both the Index and Data services.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2020\/12\/MongoDB-Atlas-logo-transparent.png\" width=\"200\" class=\"alignright size-full wp-image-58823\" \/><\/p>\n<p><a href=\"https:\/\/www.mongodb.com\/atlas\/database\" rel=\"noopener noreferrer\" target=\"_blank\">MongoDB Atlas<\/a> makes use of a hierarchical cluster topology. For each cluster size, a config server was deployed as a three-member replica set (a separate machine, not counted in a cluster). Each shard was deployed as a three-member replica set (one primary, two secondaries). MongoDB\u2019s routers were deployed on each node for each shard.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2020\/12\/Amazon-DynamoDB-logo-transparent.png\" width=\"200\" class=\"alignright size-full wp-image-58824\" \/><\/p>\n<p><a href=\"https:\/\/aws.amazon.com\/dynamodb\/\" rel=\"noopener noreferrer\" target=\"_blank\">Amazon DynamoDB<\/a> is a NoSQL DBaaS enabling users to choose between two capacity modes for processing reads and writes: on-demand and provisioned. For this evaluation, the provisioned mode was chosen in order to specify the biggest number of reads and writes per second as individual settings. Autoscaling was disabled to maintain parity with MongoDB Atlas and Couchbase Cloud.<\/p>\n<p>To ensure the evaluation results are repeatable and verifiable, the benchmark was conducted on Amazon Elastic Compute Cloud (EC2) instances. For added consistency, we utilized the <a href=\"https:\/\/en.wikipedia.org\/wiki\/YCSB\" rel=\"noopener noreferrer\" target=\"_blank\">Yahoo! Cloud Serving Benchmark<\/a> (YCSB)\u2014an open-source specification and program suite for evaluating retrieval and maintenance capabilities of computer programs.<\/p>\n<p><center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2020\/12\/database-as-service-performance-evaluation-2020-couchbase-cloud-mongodb-atlas-amazon-dynamodb-yscb-client-components.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2020\/12\/database-as-service-performance-evaluation-2020-couchbase-cloud-mongodb-atlas-amazon-dynamodb-yscb-client-components.png\" alt=\"\" width=\"640\" class=\"aligncenter size-full wp-image-58923\" \/><\/a><small>Components of the YCSB client<\/small><\/center><\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Workload_with_50_reads_and_50_updates\"><\/span>Workload with 50% reads and 50% updates<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>One of the scenarios was an update-heavy workload that simulated typical actions performed on an e-commerce website: 50% of reading operations and 50% of updates. This is a basic key-value workload executed with the following settings:<\/p>\n<ul>\n<li style=\"margin-bottom: 6px;\">The read\/update ratio was 50%\u201350%.<\/li>\n<li style=\"margin-bottom: 6px;\">The <a href=\"https:\/\/github.com\/brianfrankcooper\/YCSB\/blob\/master\/core\/src\/main\/java\/site\/ycsb\/generator\/ZipfianGenerator.java\" rel=\"noopener noreferrer\" target=\"_blank\">Zipfian<\/a> request distribution was used.<\/li>\n<li>The size of a data set was scaled in accordance with the cluster size: 50 million records (each 1 KB in size, consisting of 10 fields and a key) on a 6-node cluster, 100 million records on a 9-node cluster, and 200 million records on a 18-node cluster.<\/li>\n<\/ul>\n<p>The following queries were used to perform the update-heavy workload.<\/p>\n<table style=\"width: 100%;\">\n<tbody>\n<tr>\n<td><\/td>\n<td>\n<div style=\"text-align: center;\"><code style=\"color: black; background-color: #e6e6e6;\">READ<\/code><\/div>\n<\/td>\n<td>\n<div style=\"text-align: center;\"><code style=\"color: black; background-color: #e6e6e6;\">UPDATE<\/code><\/div>\n<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;\"><small><b>Couchbase N1QL<\/b><\/small><\/td>\n<td style=\"vertical-align: middle;\"><code style=\"color: black; background-color: #e6e6e6;\">collection.get(id, getOptions().timeout(kvTimeout))<\/code><\/td>\n<td style=\"vertical-align: middle;\"><code style=\"color: black; background-color: #e6e6e6;\">collection.upsert(id, content,<br \/> upsertOptions().timeout(kvTimeout).<br \/>expiry(documentExpiry).<br \/>\ndurability(persistTo, replicateTo))<\/code><\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;\"><small><b>MongoDB Query<\/b><\/small><\/td>\n<td style=\"vertical-align: middle;\"><code style=\"color: black; background-color: #e6e6e6;\">db.ycsb.find({_id: $1})<\/code><\/td>\n<td style=\"vertical-align: middle;\">\n                <code style=\"color: black; background-color: #e6e6e6;\">db.ycsb.update(<br \/>\n                &nbsp; &nbsp;{ _id: $1 },<br \/>\n                &nbsp; &nbsp;{<br \/>\n                &nbsp; &nbsp; $set: {<br \/>\n                &nbsp; &nbsp; &nbsp; &nbsp;fieldN: $2<br \/>\n                &nbsp; &nbsp; &nbsp;}<br \/>\n                &nbsp; &nbsp;})<\/code>\n            <\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;\"><small><b>Amazon DynamoDB<\/b><\/small><\/td>\n<td style=\"vertical-align: middle;\">\n                <code style=\"color: black; background-color: #e6e6e6;\">{<br \/>\n                &nbsp; &nbsp; &quot;TableName&quot;: &quot;usertable&quot;,<br \/>\n                &nbsp; &nbsp; &quot;Key&quot;: {<br \/>\n                &nbsp; &nbsp; &nbsp; &nbsp; &quot;firstname&quot;: {<br \/>\n                &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;_id&quot;: &quot;$1&quot;<br \/>\n                &nbsp; &nbsp; &nbsp; &nbsp; }<br \/>\n                &nbsp; &nbsp; },<br \/>\n                &nbsp; &nbsp; &quot;ConsistentRead&quot;: &quot;false&quot;<br \/>\n                }<\/code>\n            <\/td>\n<td style=\"vertical-align: middle;\">\n                <code style=\"color: black; background-color: #e6e6e6;\">{<span style=\"white-space:pre;\">&nbsp; &nbsp;&nbsp;<\/span>&quot;TableName&quot;:&quot;usertable&quot;,<br \/>\n                <span style=\"white-space:pre;\">&nbsp; &nbsp;&nbsp;<\/span>&quot;Key&quot;: {_id={S: $1},<br \/>\n                &nbsp; &nbsp; &quot;AttributeUpdates&quot;: {<br \/>\n                <span style=\"white-space:pre;\">&nbsp; &nbsp;&nbsp;<\/span>&nbsp; &nbsp; $2={<br \/>\n                <span style=\"white-space:pre;\">&nbsp; &nbsp;&nbsp;<\/span>&nbsp; &nbsp; &nbsp; Value: {<br \/>\n                <span style=\"white-space:pre;\">&nbsp; &nbsp;&nbsp;<\/span>&nbsp; &nbsp; &nbsp; &nbsp; S: $3<br \/>\n                <span style=\"white-space:pre;\">&nbsp; &nbsp;&nbsp;<\/span>&nbsp; &nbsp; &nbsp; },<br \/>\n                <span style=\"white-space:pre;\">&nbsp; &nbsp;&nbsp;<\/span>&nbsp; &nbsp; &nbsp; &quot;Action&quot;: &quot;PUT&quot;<br \/>\n                <span style=\"white-space:pre;\">&nbsp; &nbsp;&nbsp;<\/span>&nbsp; &nbsp; }<br \/>\n                <span style=\"white-space:pre;\">&nbsp; &nbsp;&nbsp;<\/span>}<br \/>\n                }<\/code>\n            <\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><\/p>\n<p>Configurations of each DBaaS and a detailed description of the testing environment can be found in the <a href=\"https:\/\/www.altoros.com\/research-papers\/performance-evaluation-of-nosql-databases-as-a-service-couchbase-capella-mongodb-atlas-amazon-dynamodb\/\">full report<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Performance_for_the_update-heavy_workload\"><\/span>Performance for the update-heavy workload<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>On 6-node clusters, Couchbase Cloud and Amazon DynamoDB performed similarly. Couchbase Cloud and Amazon DynamoDB had a throughput of 33,460 ops\/sec and 30,400 ops\/sec, respectively. Meanwhile, MongoDB Atlas had a throughput of 19,144 ops\/sec, much lower than Couchbase Cloud and Amazon DynamoDB. Couchbase Cloud significantly outperformed MongoDB Atlas and Amazon DynamoDB on 9-node and 18-node clusters.<\/p>\n<p><center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2020\/12\/nosql-dbaas-comparison-2020-couchbase-cloud-mongodb-atlas-amazon-dynamodb-update-heavy-workload.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2020\/12\/nosql-dbaas-comparison-2020-couchbase-cloud-mongodb-atlas-amazon-dynamodb-update-heavy-workload.png\" alt=\"\" width=\"640\" class=\"aligncenter size-full wp-image-58925\" \/><\/a><small>Throughput and latency for the update-heavy workload<\/small><\/center><\/p>\n<p>Couchbase Cloud was able to process up to 119,000 ops\/sec on a 9-node cluster and 168,908 ops\/sec on an 18-node cluster, while Amazon DynamoDB managed 46,344 ops\/sec on a 9-node cluster and 54,344 ops\/sec on an 18-node cluster. MongoDB Atlas hit the throughput limit on a 9-node cluster with 27,544 ops\/sec. The 18-node cluster throughput of MongoDB Atlas grew constantly and did not appear to hit a throughput limit.<\/p>\n<p>Due to a significant amount of failed operations, Amazon DynamoDB had unstable results. On each cluster configuration, Amazon DynamoDB had a 40% failure rate for update operations and a 1% failure rate for read operations.<\/p>\n<p>Based on our evaluation, NoSQL DBaaS systems did not perform as well as their <a href=\"https:\/\/www.altoros.com\/research-papers\/nosql-performance-benchmark-2019-couchbase-server-v6-0-datastax-enterprise-v6-7-cassandra-and-mongodb-v4-0\/\">custom software binary counterparts<\/a>. However, the loss in performance is the tradeoff for not having to manage the complexities of manual deployment and the associated operational costs, which is natural. This way, companies using NoSQL DBaaS are able to save on costs and keep engineers focused on development instead of maintenance.<\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"More_performance_results\"><\/span>More performance results?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>To learn more about how we configured each solution, as well as how each performed in the evaluation, check out the full version of the comparison<\/a>. In addition to the update-heavy workload, the study also compares each of the DBaaS systems across other scenarios: <i>short-range scan<\/i> (95% scans and 5% updates), <i>pagination<\/i> (a query with a single filtering option to which an offset and a limit are applied), and <code style=\"color: black; background-color: #e6e6e6;\">JOIN<\/code> (with grouping and ordering applied).<\/p>\n<blockquote><p>The findings show how hardly any DBaaS can perfectly fit all the requirements of any given use case. Every solution has its advantages and disadvantages that become important in varying degrees, depending on the specific criteria to meet. However, fundamentally, DBaaS helps engineers to reduce the time for deployment, configurations, and support.<\/p><\/blockquote>\n<p>Download the full report <a href=\"https:\/\/www.altoros.com\/research-papers\/performance-evaluation-of-nosql-databases-as-a-service-couchbase-capella-mongodb-atlas-amazon-dynamodb\/\">here<\/a>.<\/p>\n<p><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2020\/12\/couchbase-cloud-mongodb-atlas-amazon-dynamodb-performance-evaluation-2020.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2020\/12\/couchbase-cloud-mongodb-atlas-amazon-dynamodb-performance-evaluation-2020.png\" alt=\"\" width=\"640\" class=\"aligncenter size-full wp-image-58922\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Further_reading\"><\/span>Further reading<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><a href=\"https:\/\/www.altoros.com\/research-papers\/performance-evaluation-of-nosql-databases-as-a-service-couchbase-capella-mongodb-atlas-amazon-dynamodb\/\">Performance Evaluation of NoSQL Databases as a Service: Couchbase Cloud, MongoDB Atlas, and Amazon DynamoDB<\/a><\/li>\n<li><a href=\"https:\/\/www.altoros.com\/research-papers\/nosql-performance-benchmark-2019-couchbase-server-v6-0-datastax-enterprise-v6-7-cassandra-and-mongodb-v4-0\/\">Technical NoSQL Comparison Report 2019: Couchbase Server v6.0, DataStax Enterprise v6.7 (Cassandra), and MongoDB v4.0<\/a><\/li>\n<li><a href=\"https:\/\/www.altoros.com\/blog\/comparing-database-query-languages-in-mysql-couchbase-and-mongodb\/\">Comparing Database Query Languages in MySQL, Couchbase, and MongoDB<\/a><\/li>\n<\/ul>\n<hr \/>\n<p><center><small>This blog post was written by <a href=\"https:\/\/github.com\/ayudovin\/\" rel=\"noopener noreferrer\" target=\"_blank\">Artsiom Yudovin<\/a> and <a href=\"https:\/\/www.altoros.com\/blog\/author\/carlo\/\" rel=\"noopener noreferrer\" target=\"_blank\">Carlo Gutierrez<\/a>,<br \/>\nedited by <a href=\"https:\/\/www.altoros.com\/blog\/author\/alex\/\">Alex Khizhniak<\/a>.<\/small><\/center><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Why database as a service?<\/p>\n<p>NoSQL solutions include a wide variety of database technologies that were developed in response to rapidly growing data sets, data structure organization, and data access management. In comparison, relational databases were not designed to provide the scalability and agility needed by modern high-load apps. While NoSQL [&#8230;]<\/p>\n","protected":false},"author":32,"featured_media":58927,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","footnotes":"","_links_to":"","_links_to_target":""},"categories":[7],"tags":[894,692,895],"class_list":["post-58661","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news-and-opinion","tag-benchmarking","tag-nosql","tag-research-and-development"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>DBaaS Evaluation: Couchbase Cloud, MongoDB Atlas, and Amazon DynamoDB | Altoros<\/title>\n<meta name=\"description\" content=\"Our new report compares the performance of three NoSQL databases as a service (DBaaS) while processing update-heavy activities, scans, pagination, and JOINs.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.altoros.com\/blog\/dbaas-evaluation-couchbase-cloud-mongodb-atlas-and-amazon-dynamodb\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"DBaaS Evaluation: Couchbase Cloud, MongoDB Atlas, and Amazon DynamoDB | Altoros\" \/>\n<meta property=\"og:description\" content=\"Why database as a service? NoSQL solutions include a wide variety of database technologies that were developed in response to rapidly growing data sets, data structure organization, and data access management. In comparison, relational databases were not designed to provide the scalability and agility needed by modern high-load apps. While NoSQL [...]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.altoros.com\/blog\/dbaas-evaluation-couchbase-cloud-mongodb-atlas-and-amazon-dynamodb\/\" \/>\n<meta property=\"og:site_name\" content=\"Altoros\" \/>\n<meta property=\"article:published_time\" content=\"2020-12-15T23:17:43+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-11-15T00:58:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2020\/12\/NoSQL-DBaaS-performance-evaluation-2020-Couchbase-Cloud-MongoDB-Atlas-Amazon-DynamoDB.gif\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"576\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/gif\" \/>\n<meta name=\"author\" content=\"Carlo Gutierrez\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Carlo Gutierrez\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/dbaas-evaluation-couchbase-cloud-mongodb-atlas-and-amazon-dynamodb\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/dbaas-evaluation-couchbase-cloud-mongodb-atlas-and-amazon-dynamodb\\\/\"},\"author\":{\"name\":\"Carlo Gutierrez\",\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/#\\\/schema\\\/person\\\/833e109f77de753b2b472dca0236b442\"},\"headline\":\"DBaaS Evaluation: Couchbase Cloud, MongoDB Atlas, and Amazon DynamoDB\",\"datePublished\":\"2020-12-15T23:17:43+00:00\",\"dateModified\":\"2023-11-15T00:58:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/dbaas-evaluation-couchbase-cloud-mongodb-atlas-and-amazon-dynamodb\\\/\"},\"wordCount\":1135,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/dbaas-evaluation-couchbase-cloud-mongodb-atlas-and-amazon-dynamodb\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/12\\\/NoSQL-DBaaS-performance-evaluation-2020-Couchbase-Cloud-MongoDB-Atlas-Amazon-DynamoDB.gif\",\"keywords\":[\"Benchmarking\",\"NoSQL\",\"Research and Development\"],\"articleSection\":[\"News\\\/Opinion\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.altoros.com\\\/blog\\\/dbaas-evaluation-couchbase-cloud-mongodb-atlas-and-amazon-dynamodb\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/dbaas-evaluation-couchbase-cloud-mongodb-atlas-and-amazon-dynamodb\\\/\",\"url\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/dbaas-evaluation-couchbase-cloud-mongodb-atlas-and-amazon-dynamodb\\\/\",\"name\":\"DBaaS Evaluation: Couchbase Cloud, MongoDB Atlas, and Amazon DynamoDB | Altoros\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/dbaas-evaluation-couchbase-cloud-mongodb-atlas-and-amazon-dynamodb\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/dbaas-evaluation-couchbase-cloud-mongodb-atlas-and-amazon-dynamodb\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/12\\\/NoSQL-DBaaS-performance-evaluation-2020-Couchbase-Cloud-MongoDB-Atlas-Amazon-DynamoDB.gif\",\"datePublished\":\"2020-12-15T23:17:43+00:00\",\"dateModified\":\"2023-11-15T00:58:47+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/#\\\/schema\\\/person\\\/833e109f77de753b2b472dca0236b442\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/dbaas-evaluation-couchbase-cloud-mongodb-atlas-and-amazon-dynamodb\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.altoros.com\\\/blog\\\/dbaas-evaluation-couchbase-cloud-mongodb-atlas-and-amazon-dynamodb\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/dbaas-evaluation-couchbase-cloud-mongodb-atlas-and-amazon-dynamodb\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/12\\\/NoSQL-DBaaS-performance-evaluation-2020-Couchbase-Cloud-MongoDB-Atlas-Amazon-DynamoDB.gif\",\"contentUrl\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/12\\\/NoSQL-DBaaS-performance-evaluation-2020-Couchbase-Cloud-MongoDB-Atlas-Amazon-DynamoDB.gif\",\"width\":1024,\"height\":576},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/dbaas-evaluation-couchbase-cloud-mongodb-atlas-and-amazon-dynamodb\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"DBaaS Evaluation: Couchbase Cloud, MongoDB Atlas, and Amazon DynamoDB\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/\",\"name\":\"Altoros\",\"description\":\"Insight\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/#\\\/schema\\\/person\\\/833e109f77de753b2b472dca0236b442\",\"name\":\"Carlo Gutierrez\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/CG_portrait-2-96x96.jpg\",\"url\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/CG_portrait-2-96x96.jpg\",\"contentUrl\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/CG_portrait-2-96x96.jpg\",\"caption\":\"Carlo Gutierrez\"},\"description\":\"Carlo Gutierrez is a Technical Writer at Altoros. As part of the editorial team, his focus has been on emerging technologies such as Cloud Foundry, Kubernetes, blockchain, and the Internet of Things. Prior to Altoros, he primarily wrote about enterprise and consumer technology. Carlo has over 12 years of experience in the publishing industry. Previously, he served as an Editor for PC World Philippines and Questex Asia, as well as a Designer for Tropa Entertainment.\",\"url\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/author\\\/carlo\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"DBaaS Evaluation: Couchbase Cloud, MongoDB Atlas, and Amazon DynamoDB | Altoros","description":"Our new report compares the performance of three NoSQL databases as a service (DBaaS) while processing update-heavy activities, scans, pagination, and JOINs.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.altoros.com\/blog\/dbaas-evaluation-couchbase-cloud-mongodb-atlas-and-amazon-dynamodb\/","og_locale":"en_US","og_type":"article","og_title":"DBaaS Evaluation: Couchbase Cloud, MongoDB Atlas, and Amazon DynamoDB | Altoros","og_description":"Why database as a service? NoSQL solutions include a wide variety of database technologies that were developed in response to rapidly growing data sets, data structure organization, and data access management. In comparison, relational databases were not designed to provide the scalability and agility needed by modern high-load apps. While NoSQL [...]","og_url":"https:\/\/www.altoros.com\/blog\/dbaas-evaluation-couchbase-cloud-mongodb-atlas-and-amazon-dynamodb\/","og_site_name":"Altoros","article_published_time":"2020-12-15T23:17:43+00:00","article_modified_time":"2023-11-15T00:58:47+00:00","og_image":[{"width":1024,"height":576,"url":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2020\/12\/NoSQL-DBaaS-performance-evaluation-2020-Couchbase-Cloud-MongoDB-Atlas-Amazon-DynamoDB.gif","type":"image\/gif"}],"author":"Carlo Gutierrez","twitter_misc":{"Written by":"Carlo Gutierrez","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.altoros.com\/blog\/dbaas-evaluation-couchbase-cloud-mongodb-atlas-and-amazon-dynamodb\/#article","isPartOf":{"@id":"https:\/\/www.altoros.com\/blog\/dbaas-evaluation-couchbase-cloud-mongodb-atlas-and-amazon-dynamodb\/"},"author":{"name":"Carlo Gutierrez","@id":"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/833e109f77de753b2b472dca0236b442"},"headline":"DBaaS Evaluation: Couchbase Cloud, MongoDB Atlas, and Amazon DynamoDB","datePublished":"2020-12-15T23:17:43+00:00","dateModified":"2023-11-15T00:58:47+00:00","mainEntityOfPage":{"@id":"https:\/\/www.altoros.com\/blog\/dbaas-evaluation-couchbase-cloud-mongodb-atlas-and-amazon-dynamodb\/"},"wordCount":1135,"commentCount":0,"image":{"@id":"https:\/\/www.altoros.com\/blog\/dbaas-evaluation-couchbase-cloud-mongodb-atlas-and-amazon-dynamodb\/#primaryimage"},"thumbnailUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2020\/12\/NoSQL-DBaaS-performance-evaluation-2020-Couchbase-Cloud-MongoDB-Atlas-Amazon-DynamoDB.gif","keywords":["Benchmarking","NoSQL","Research and Development"],"articleSection":["News\/Opinion"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.altoros.com\/blog\/dbaas-evaluation-couchbase-cloud-mongodb-atlas-and-amazon-dynamodb\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.altoros.com\/blog\/dbaas-evaluation-couchbase-cloud-mongodb-atlas-and-amazon-dynamodb\/","url":"https:\/\/www.altoros.com\/blog\/dbaas-evaluation-couchbase-cloud-mongodb-atlas-and-amazon-dynamodb\/","name":"DBaaS Evaluation: Couchbase Cloud, MongoDB Atlas, and Amazon DynamoDB | Altoros","isPartOf":{"@id":"https:\/\/www.altoros.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.altoros.com\/blog\/dbaas-evaluation-couchbase-cloud-mongodb-atlas-and-amazon-dynamodb\/#primaryimage"},"image":{"@id":"https:\/\/www.altoros.com\/blog\/dbaas-evaluation-couchbase-cloud-mongodb-atlas-and-amazon-dynamodb\/#primaryimage"},"thumbnailUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2020\/12\/NoSQL-DBaaS-performance-evaluation-2020-Couchbase-Cloud-MongoDB-Atlas-Amazon-DynamoDB.gif","datePublished":"2020-12-15T23:17:43+00:00","dateModified":"2023-11-15T00:58:47+00:00","author":{"@id":"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/833e109f77de753b2b472dca0236b442"},"breadcrumb":{"@id":"https:\/\/www.altoros.com\/blog\/dbaas-evaluation-couchbase-cloud-mongodb-atlas-and-amazon-dynamodb\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.altoros.com\/blog\/dbaas-evaluation-couchbase-cloud-mongodb-atlas-and-amazon-dynamodb\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.altoros.com\/blog\/dbaas-evaluation-couchbase-cloud-mongodb-atlas-and-amazon-dynamodb\/#primaryimage","url":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2020\/12\/NoSQL-DBaaS-performance-evaluation-2020-Couchbase-Cloud-MongoDB-Atlas-Amazon-DynamoDB.gif","contentUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2020\/12\/NoSQL-DBaaS-performance-evaluation-2020-Couchbase-Cloud-MongoDB-Atlas-Amazon-DynamoDB.gif","width":1024,"height":576},{"@type":"BreadcrumbList","@id":"https:\/\/www.altoros.com\/blog\/dbaas-evaluation-couchbase-cloud-mongodb-atlas-and-amazon-dynamodb\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.altoros.com\/blog\/"},{"@type":"ListItem","position":2,"name":"DBaaS Evaluation: Couchbase Cloud, MongoDB Atlas, and Amazon DynamoDB"}]},{"@type":"WebSite","@id":"https:\/\/www.altoros.com\/blog\/#website","url":"https:\/\/www.altoros.com\/blog\/","name":"Altoros","description":"Insight","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.altoros.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/833e109f77de753b2b472dca0236b442","name":"Carlo Gutierrez","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/02\/CG_portrait-2-96x96.jpg","url":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/02\/CG_portrait-2-96x96.jpg","contentUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/02\/CG_portrait-2-96x96.jpg","caption":"Carlo Gutierrez"},"description":"Carlo Gutierrez is a Technical Writer at Altoros. As part of the editorial team, his focus has been on emerging technologies such as Cloud Foundry, Kubernetes, blockchain, and the Internet of Things. Prior to Altoros, he primarily wrote about enterprise and consumer technology. Carlo has over 12 years of experience in the publishing industry. Previously, he served as an Editor for PC World Philippines and Questex Asia, as well as a Designer for Tropa Entertainment.","url":"https:\/\/www.altoros.com\/blog\/author\/carlo\/"}]}},"_links":{"self":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts\/58661","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/users\/32"}],"replies":[{"embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/comments?post=58661"}],"version-history":[{"count":149,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts\/58661\/revisions"}],"predecessor-version":[{"id":67609,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts\/58661\/revisions\/67609"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/media\/58927"}],"wp:attachment":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/media?parent=58661"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/categories?post=58661"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/tags?post=58661"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}