{"id":2063,"date":"2015-06-05T17:06:03","date_gmt":"2015-06-05T17:06:02","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2063"},"modified":"2023-06-27T22:47:44","modified_gmt":"2023-06-28T05:47:44","slug":"mongodb-is-special-benchmarks-prove-it","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/mongodb-is-special-benchmarks-prove-it\/","title":{"rendered":"What does MongoDB have against transparency?"},"content":{"rendered":"<p>MongoDB published another benchmark performed by United Software Associates.<\/p>\n<p>Benchmarks are a useful tool to evaluate <a href=\"https:\/\/www.couchbase.com\/blog\/5-steps-to-better-database-performance\/\">database performance<\/a>. But to be useful, they must be transparent and repeatable. If they fail to meet these standards, the results are questionable.<\/p>\n<p>In recent benchmarks, Couchbase and MongoDB took two different approaches. Couchbase clearly documented the full configuration <em>and<\/em> included the results of every test. MongoDB did not.<\/p>\n<p><strong>The below tables illustrate the different approaches taken by Avalon Consulting, LLC and United Software Associates:<\/strong><\/p>\n<div class=\"responsive-table\">\n<table style=\"width: 100%\" border=\"1\" cellspacing=\"0\" cellpadding=\"3\">\n<tbody>\n<tr>\n<td style=\"vertical-align: top\" width=\"33%\"><\/td>\n<td style=\"vertical-align: top\" width=\"33%\">United Software Associates<\/td>\n<td style=\"vertical-align: top\" width=\"33%\">Avalon Consulting, LLC<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\" colspan=\"3\"><strong>YCSB<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">Entries \/ Operations<\/td>\n<td style=\"vertical-align: top\">400M \/ 100M<\/td>\n<td style=\"vertical-align: top\">300M \/ 100M<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">Value Size<\/td>\n<td style=\"vertical-align: top\"><strong>Missing<\/strong><\/td>\n<td style=\"vertical-align: top\">1K<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">Data Set Size<\/td>\n<td style=\"vertical-align: top\"><strong>Missing<\/strong><\/td>\n<td style=\"vertical-align: top\">286GB<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">Request Distribution<\/td>\n<td style=\"vertical-align: top\">Zipfian<\/td>\n<td style=\"vertical-align: top\">Uniform<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\" colspan=\"3\"><strong>Database<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">Nodes<\/td>\n<td style=\"vertical-align: top\"><strong>Missing<\/strong><\/td>\n<td style=\"vertical-align: top\">MongoDB: 9<br \/>\nCouchbase Server: 9<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">Replicas<\/td>\n<td style=\"vertical-align: top\"><strong>Missing<\/strong><\/td>\n<td style=\"vertical-align: top\">3 (1 primary, 2 secondary)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">Replication<\/td>\n<td style=\"vertical-align: top\"><strong>Missing<\/strong><\/td>\n<td style=\"vertical-align: top\">MongoDB: Async<br \/>\nCouchbase Server: Async<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">Persistence<\/td>\n<td style=\"vertical-align: top\"><strong>Missing<\/strong><\/td>\n<td style=\"vertical-align: top\">MongoDB: Async<br \/>\nCouchbase Server: Async<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">Configured Memory (per Node)<\/td>\n<td style=\"vertical-align: top\"><strong>Missing<\/strong><\/td>\n<td style=\"vertical-align: top\">MongoDB: 30GB<br \/>\nCouchbase Server: 30GB<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">Total Data Set Size (with Replicas)<\/td>\n<td style=\"vertical-align: top\"><strong>Missing<\/strong><\/td>\n<td style=\"vertical-align: top\">858GB<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">Primary Data Resident in Memory<\/td>\n<td style=\"vertical-align: top\"><strong>Missing<\/strong><\/td>\n<td style=\"vertical-align: top\">32%<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\" colspan=\"3\"><strong>Version<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">Database<\/td>\n<td style=\"vertical-align: top\">MongoDB: 3.0.3<br \/>\nCouchbase Server: 3.0.2<\/td>\n<td style=\"vertical-align: top\">MongoDB: 3.0.0<br \/>\nCouchbase Server: 3.0.2<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">Client<\/td>\n<td style=\"vertical-align: top\">MongoDB: 3.0.0<br \/>\nCouchbase Server: 2.1.2<\/td>\n<td style=\"vertical-align: top\">MongoDB: 2.1.3<br \/>\nCouchbase Server: 2.1.0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\" colspan=\"3\"><strong>Hardware<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">Servers<\/td>\n<td style=\"vertical-align: top\">Database: 3<br \/>\nYCSB: 1<\/td>\n<td style=\"vertical-align: top\">Database: 9x AWS EC2 i2.2xlarge<br \/>\nYCSB: 2-23x AWS EC2 r2.8xlarge<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">Processors<\/td>\n<td style=\"vertical-align: top\">Both: 2x 3.0GHz<\/td>\n<td style=\"vertical-align: top\">Database: 8 vCPU (2.5GHz)<br \/>\nYCSB: 32vCPU (2.5GHz)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">Memory<\/td>\n<td style=\"vertical-align: top\">Both: 96GB<\/td>\n<td style=\"vertical-align: top\">Database: 61GB<br \/>\nYCSB: 244GB<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">Storage<\/td>\n<td style=\"vertical-align: top\">Both: 2x 960GB SSD<\/td>\n<td style=\"vertical-align: top\">Database: 2x 800GB SSD<br \/>\nYCSB: 2x 320GB SSD<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">Networking<\/td>\n<td style=\"vertical-align: top\">Both: 10GbE<\/td>\n<td style=\"vertical-align: top\">Both: High<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">OS<\/td>\n<td style=\"vertical-align: top\">Both: Ubuntu 14.10<\/td>\n<td style=\"vertical-align: top\">Database: CentOS 6<br \/>\nYCSB: Amazon Linux<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\" colspan=\"3\"><strong>OS<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">Transparent Huge Pages (THP)<\/td>\n<td style=\"vertical-align: top\">Disabled<\/td>\n<td style=\"vertical-align: top\">Disabled<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">NUMA<\/td>\n<td style=\"vertical-align: top\">Disabled<\/td>\n<td style=\"vertical-align: top\">Disabled<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p><em>I hope MongoDB and DataStax will help me improve this template for future benchmarks.<\/em><\/p>\n<h3><strong>United Software Associates Benchmark Results<\/strong><\/h3>\n<p>They did not publish the results of <em>all<\/em> tests, they published the results of one.<\/p>\n<p>The benchmark states the ideal number of threads for every database was 150 or 350 depending on the workload, but it does not state the number of threads for the results published.<\/p>\n<h4><u>Workload A Throughput<\/u><\/h4>\n<div class=\"responsive-table\">\n<table style=\"width: 100% !important\" border=\"1\" cellspacing=\"0\" cellpadding=\"3\">\n<tbody>\n<tr>\n<td style=\"vertical-align: top\" width=\"33%\"><strong>Threads<\/strong><\/td>\n<td style=\"vertical-align: top\" width=\"33%\"><strong>MongoDB<\/strong><\/td>\n<td style=\"vertical-align: top\" width=\"33%\"><strong>Couchbase Server<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">105<\/td>\n<td style=\"vertical-align: top\">Missing<\/td>\n<td style=\"vertical-align: top\">Missing<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">140<\/td>\n<td style=\"vertical-align: top\">Missing<\/td>\n<td style=\"vertical-align: top\">Missing<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">175<\/td>\n<td style=\"vertical-align: top\">Missing<\/td>\n<td style=\"vertical-align: top\">Missing<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">210<\/td>\n<td style=\"vertical-align: top\">Missing<\/td>\n<td style=\"vertical-align: top\">Missing<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">245<\/td>\n<td style=\"vertical-align: top\">Missing<\/td>\n<td style=\"vertical-align: top\">Missing<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">280<\/td>\n<td style=\"vertical-align: top\">Missing<\/td>\n<td style=\"vertical-align: top\">Missing<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">315<\/td>\n<td style=\"vertical-align: top\">Missing<\/td>\n<td style=\"vertical-align: top\">Missing<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">350<\/td>\n<td style=\"vertical-align: top\">Missing<\/td>\n<td style=\"vertical-align: top\">Missing<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h4><u>Results &#8211; Workload A Latency<\/u><\/h4>\n<div class=\"responsive-table\">\n<table style=\"width: 100% !important\" border=\"1\" cellspacing=\"0\" cellpadding=\"3\">\n<tbody>\n<tr>\n<td style=\"vertical-align: top\" width=\"33%\"><strong>Threads<\/strong><\/td>\n<td style=\"vertical-align: top\" width=\"33%\"><strong>MongoDB<\/strong><\/td>\n<td style=\"vertical-align: top\" width=\"33%\"><strong>Couchbase Server<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">105<\/td>\n<td style=\"vertical-align: top\">Read: Missing<br \/>\nWrite: Missing<\/td>\n<td style=\"vertical-align: top\">Read: Missing<br \/>\nWrite: Missing<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">140<\/td>\n<td style=\"vertical-align: top\">Read: Missing<br \/>\nWrite: Missing<\/td>\n<td style=\"vertical-align: top\">Read: Missing<br \/>\nWrite: Missing<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">175<\/td>\n<td style=\"vertical-align: top\">Read: Missing<br \/>\nWrite: Missing<\/td>\n<td style=\"vertical-align: top\">Read: Missing<br \/>\nWrite: Missing<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">210<\/td>\n<td style=\"vertical-align: top\">Read: Missing<br \/>\nWrite: Missing<\/td>\n<td style=\"vertical-align: top\">Read: Missing<br \/>\nWrite: Missing<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">245<\/td>\n<td style=\"vertical-align: top\">Read: Missing<br \/>\nWrite: Missing<\/td>\n<td style=\"vertical-align: top\">Read: Missing<br \/>\nWrite: Missing<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">280<\/td>\n<td style=\"vertical-align: top\">Read: Missing<br \/>\nWrite: Missing<\/td>\n<td style=\"vertical-align: top\">Read: Missing<br \/>\nWrite: Missing<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">315<\/td>\n<td style=\"vertical-align: top\">Read: Missing<br \/>\nWrite: Missing<\/td>\n<td style=\"vertical-align: top\">Read: Missing<br \/>\nWrite: Missing<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">350<\/td>\n<td style=\"vertical-align: top\">Read: Missing<br \/>\nWrite: Missing<\/td>\n<td style=\"vertical-align: top\">Read: Missing<br \/>\nWrite: Missing<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h3>Avalon Consulting, LLC Benchmark Results<\/h3>\n<p>They published the results of <em>all<\/em> tests <u>and<\/u> stated the number of threads for them.<\/p>\n<h4><u>Workload A Throughput<\/u><\/h4>\n<div class=\"responsive-table\">\n<table style=\"width: 100% !important\" border=\"1\" cellspacing=\"0\" cellpadding=\"3\">\n<tbody>\n<tr>\n<td style=\"vertical-align: top\" width=\"33%\"><strong>Threads<\/strong><\/td>\n<td style=\"vertical-align: top\" width=\"33%\"><strong>MongoDB<\/strong><\/td>\n<td style=\"vertical-align: top\" width=\"33%\"><strong>Couchbase Server<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">105<\/td>\n<td style=\"vertical-align: top\">61K<\/td>\n<td style=\"vertical-align: top\">110K<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">140<\/td>\n<td style=\"vertical-align: top\">65K<\/td>\n<td style=\"vertical-align: top\">141K<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">175<\/td>\n<td style=\"vertical-align: top\">67K<\/td>\n<td style=\"vertical-align: top\">154K<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">210<\/td>\n<td style=\"vertical-align: top\">70K<\/td>\n<td style=\"vertical-align: top\">170K<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">245<\/td>\n<td style=\"vertical-align: top\">74K<\/td>\n<td style=\"vertical-align: top\">193K<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">280<\/td>\n<td style=\"vertical-align: top\">Exceeded Max Latency<\/td>\n<td style=\"vertical-align: top\">238K<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">315<\/td>\n<td style=\"vertical-align: top\">Exceeded Max Latency<\/td>\n<td style=\"vertical-align: top\">245K<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">350<\/td>\n<td style=\"vertical-align: top\">Exceeded Max Latency<\/td>\n<td style=\"vertical-align: top\">252K<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h4><u>Results &#8211; Workload A Latency <\/u><\/h4>\n<div class=\"responsive-table\">\n<table style=\"width: 100% !important\" border=\"1\" cellspacing=\"0\" cellpadding=\"3\">\n<tbody>\n<tr>\n<td style=\"vertical-align: top\" width=\"33%\"><strong>Threads<\/strong><\/td>\n<td style=\"vertical-align: top\" width=\"33%\"><strong>MongoDB<\/strong><\/td>\n<td style=\"vertical-align: top\" width=\"33%\"><strong>Couchbase Server<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">105<\/td>\n<td style=\"vertical-align: top\">Read: 1.42ms<br \/>\nWrite: 2.05ms<\/td>\n<td style=\"vertical-align: top\">Read: .78ms<br \/>\nWrite: .76ms<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">140<\/td>\n<td style=\"vertical-align: top\">Read: 2.01ms<br \/>\nWrite: 2.97ms<\/td>\n<td style=\"vertical-align: top\">Read: .79ms<br \/>\nWrite: .78ms<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">175<\/td>\n<td style=\"vertical-align: top\">Read: 3.16ms<br \/>\nWrite: 3.54ms<\/td>\n<td style=\"vertical-align: top\">Read: .89ms<br \/>\nWrite: .88ms<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">210<\/td>\n<td style=\"vertical-align: top\">Read: 3.5ms<br \/>\nWrite: 4.49ms<\/td>\n<td style=\"vertical-align: top\">Read: .93ms<br \/>\nWrite: .92ms<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">245<\/td>\n<td style=\"vertical-align: top\">Read: 4.19ms<br \/>\nWrite: 5.38ms<\/td>\n<td style=\"vertical-align: top\">Read: .92ms<br \/>\nWrite: .91ms<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">280<\/td>\n<td style=\"vertical-align: top\">Exceeded Max Latency<\/td>\n<td style=\"vertical-align: top\">Read: .92ms<br \/>\nWrite: .92ms<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">315<\/td>\n<td style=\"vertical-align: top\">Exceeded Max Latency<\/td>\n<td style=\"vertical-align: top\">Read: 1.06ms<br \/>\nWrite: .99ms<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">350<\/td>\n<td style=\"vertical-align: top\">Exceeded Max Latency<\/td>\n<td style=\"vertical-align: top\">Read: 1.22ms<br \/>\nWrite: 1.22ms<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h2><strong>Benchmark Configuration<\/strong><\/h2>\n<p>A benchmark, if you care, should answer the following questions:<\/p>\n<ul>\n<li>What was the hardware configuration?<\/li>\n<li>How was the operating system configured?<\/li>\n<li>What were the database and client versions?<\/li>\n<li>How were the databases configured?<\/li>\n<li>How was YCSB configured?<\/li>\n<\/ul>\n<p><strong>So, what configuration is this United Software Associates benchmark missing?<\/strong><\/p>\n<ul>\n<li>The number of nodes<\/li>\n<li>The replica configuration (# of replicas<\/li>\n<li>The replication configuration (async or sync)<\/li>\n<li>The persistence configuration (async or sync)<\/li>\n<li>The size of the values<\/li>\n<li>The size of the data set<\/li>\n<li>The size of the cache (per node)<\/li>\n<li>The size of the total data set (including replicas)<\/li>\n<li>The percentage of primary data resident in memory<\/li>\n<li>The results of all runs<\/li>\n<li>The number of threads for all published runs<\/li>\n<\/ul>\n<p>In addition, the GitHub repository referenced in this United Software Associates white paper does not include the client configuration for MongoDB, Cassandra, or Couchbase Server.<\/p>\n<p>And what about the MongoDB routers and config servers?<\/p>\n<p>Were they deployed? If so, where?<\/p>\n<p>I don\u2019t know because this benchmark does not include <em>all<\/em> of the configuration. The first<a style=\"text-decoration: none\" href=\"https:\/\/info-mongodb-com.s3.amazonaws.com\/High%2BPerformance%2BBenchmark%2BWhite%2BPaper_final.pdf\"> <u>benchmark<\/u><\/a> included <em>most<\/em> of the configuration, but there were a number of<a style=\"text-decoration: none\" href=\"https:\/\/www.couchbase.com\/blog\/mongodb-rules-single-node-deployments\/\"> <u>mistakes<\/u><\/a>. With this benchmark, they may have fixed the mistakes, but they failed to include <em>all<\/em> of the configuration.<\/p>\n<h2>Bottom Line<\/h2>\n<p>It&#8217;s important for benchmarks to be credible. Anyone should be able to reproduce a benchmark and validate its results. All of the configuration must be provided and, preferably, it should be performed on cloud infrastructure. If not, vendors can manipulate the configuration to make unfair comparisons look fair.<\/p>\n<p>That&#8217;s not helpful to anyone.<\/p>\n<h2>Resources<\/h2>\n<p>MongoDB + United Software Associates Benchmark<br \/>\n<a style=\"text-decoration: none\" href=\"https:\/\/info-mongodb-com.s3.amazonaws.com\/Scalability-Benchmarking-MongoDB-and-NoSQL-Systems.pdf\"><u>White Paper<\/u><\/a> |<a style=\"text-decoration: none\" href=\"https:\/\/github.com\/usaindev\/YCSB\"> <u>Code<\/u><\/a><\/p>\n<p>Couchbase + Avalon Consulting, LLC Benchmark<br \/>\n<a style=\"text-decoration: none\" href=\"https:\/\/info.couchbase.com\/rs\/northscale\/images\/couchbase_benchmark.pdf\"><u>White Paper<\/u><\/a> |<a style=\"text-decoration: none\" href=\"https:\/\/github.com\/kruthar\/couchbase-mongodb-benchmark\/\"> <u>Code<\/u><\/a><\/p>\n<p>Discuss on <a href=\"https:\/\/news.ycombinator.com\/item?id=9645559\" target=\"_blank\" rel=\"noopener noreferrer\">Hacker News<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>MongoDB published another benchmark performed by United Software Associates. Benchmarks are a useful tool to evaluate database performance. But to be useful, they must be transparent and repeatable. If they fail to meet these standards, the results are questionable. In [&hellip;]<\/p>\n","protected":false},"author":13,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1],"tags":[],"ppma_author":[9000],"class_list":["post-2063","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.2 (Yoast SEO v26.2) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>What does MongoDB have against transparency? - The Couchbase Blog<\/title>\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.couchbase.com\/blog\/mongodb-is-special-benchmarks-prove-it\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What does MongoDB have against transparency?\" \/>\n<meta property=\"og:description\" content=\"MongoDB published another benchmark performed by United Software Associates. Benchmarks are a useful tool to evaluate database performance. But to be useful, they must be transparent and repeatable. If they fail to meet these standards, the results are questionable. In [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/mongodb-is-special-benchmarks-prove-it\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2015-06-05T17:06:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-06-28T05:47:44+00:00\" \/>\n<meta name=\"author\" content=\"Shane Johnson, Director, Product Marketing, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Shane Johnson, Director, Product Marketing, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/mongodb-is-special-benchmarks-prove-it\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/mongodb-is-special-benchmarks-prove-it\/\"},\"author\":{\"name\":\"Shane Johnson, Director, Product Marketing, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/f045291995fbe1d06823814c3d39fe98\"},\"headline\":\"What does MongoDB have against transparency?\",\"datePublished\":\"2015-06-05T17:06:02+00:00\",\"dateModified\":\"2023-06-28T05:47:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/mongodb-is-special-benchmarks-prove-it\/\"},\"wordCount\":808,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/mongodb-is-special-benchmarks-prove-it\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/mongodb-is-special-benchmarks-prove-it\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/mongodb-is-special-benchmarks-prove-it\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/mongodb-is-special-benchmarks-prove-it\/\",\"name\":\"What does MongoDB have against transparency? - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/mongodb-is-special-benchmarks-prove-it\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/mongodb-is-special-benchmarks-prove-it\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2015-06-05T17:06:02+00:00\",\"dateModified\":\"2023-06-28T05:47:44+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/mongodb-is-special-benchmarks-prove-it\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/mongodb-is-special-benchmarks-prove-it\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/mongodb-is-special-benchmarks-prove-it\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/mongodb-is-special-benchmarks-prove-it\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"What does MongoDB have against transparency?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/f045291995fbe1d06823814c3d39fe98\",\"name\":\"Shane Johnson, Director, Product Marketing, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/86c05535d28a003c47351c87fec5286a\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d32be7d685d95dba07766e7b2861dfc964676843c984d1ba01bf572b2e075aba?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d32be7d685d95dba07766e7b2861dfc964676843c984d1ba01bf572b2e075aba?s=96&d=mm&r=g\",\"caption\":\"Shane Johnson, Director, Product Marketing, Couchbase\"},\"description\":\"Shane K Johnson was the Director of Product Marketing at Couchbase. Prior to Couchbase, he occupied various roles in developing and evangelism with a background in Java and distributed systems. He has consulted with organizations in the financial, retail, telecommunications, and media industries to draft and implement architectures that relied on distributed systems for data and analysis.\",\"url\":\"https:\/\/www.couchbase.com\/blog\/author\/shane-johnson\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"What does MongoDB have against transparency? - The Couchbase Blog","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.couchbase.com\/blog\/mongodb-is-special-benchmarks-prove-it\/","og_locale":"en_US","og_type":"article","og_title":"What does MongoDB have against transparency?","og_description":"MongoDB published another benchmark performed by United Software Associates. Benchmarks are a useful tool to evaluate database performance. But to be useful, they must be transparent and repeatable. If they fail to meet these standards, the results are questionable. In [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/mongodb-is-special-benchmarks-prove-it\/","og_site_name":"The Couchbase Blog","article_published_time":"2015-06-05T17:06:02+00:00","article_modified_time":"2023-06-28T05:47:44+00:00","author":"Shane Johnson, Director, Product Marketing, Couchbase","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Shane Johnson, Director, Product Marketing, Couchbase","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/mongodb-is-special-benchmarks-prove-it\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/mongodb-is-special-benchmarks-prove-it\/"},"author":{"name":"Shane Johnson, Director, Product Marketing, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/f045291995fbe1d06823814c3d39fe98"},"headline":"What does MongoDB have against transparency?","datePublished":"2015-06-05T17:06:02+00:00","dateModified":"2023-06-28T05:47:44+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/mongodb-is-special-benchmarks-prove-it\/"},"wordCount":808,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/mongodb-is-special-benchmarks-prove-it\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/mongodb-is-special-benchmarks-prove-it\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/mongodb-is-special-benchmarks-prove-it\/","url":"https:\/\/www.couchbase.com\/blog\/mongodb-is-special-benchmarks-prove-it\/","name":"What does MongoDB have against transparency? - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/mongodb-is-special-benchmarks-prove-it\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/mongodb-is-special-benchmarks-prove-it\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2015-06-05T17:06:02+00:00","dateModified":"2023-06-28T05:47:44+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/mongodb-is-special-benchmarks-prove-it\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/mongodb-is-special-benchmarks-prove-it\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/mongodb-is-special-benchmarks-prove-it\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/mongodb-is-special-benchmarks-prove-it\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"What does MongoDB have against transparency?"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"The Couchbase Blog","description":"Couchbase, the NoSQL Database","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"The Couchbase Blog","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/f045291995fbe1d06823814c3d39fe98","name":"Shane Johnson, Director, Product Marketing, Couchbase","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/86c05535d28a003c47351c87fec5286a","url":"https:\/\/secure.gravatar.com\/avatar\/d32be7d685d95dba07766e7b2861dfc964676843c984d1ba01bf572b2e075aba?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d32be7d685d95dba07766e7b2861dfc964676843c984d1ba01bf572b2e075aba?s=96&d=mm&r=g","caption":"Shane Johnson, Director, Product Marketing, Couchbase"},"description":"Shane K Johnson was the Director of Product Marketing at Couchbase. Prior to Couchbase, he occupied various roles in developing and evangelism with a background in Java and distributed systems. He has consulted with organizations in the financial, retail, telecommunications, and media industries to draft and implement architectures that relied on distributed systems for data and analysis.","url":"https:\/\/www.couchbase.com\/blog\/author\/shane-johnson\/"}]}},"authors":[{"term_id":9000,"user_id":13,"is_guest":0,"slug":"shane-johnson","display_name":"Shane Johnson, Director, Product Marketing, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/d32be7d685d95dba07766e7b2861dfc964676843c984d1ba01bf572b2e075aba?s=96&d=mm&r=g","author_category":"","last_name":"Johnson","first_name":"Shane","job_title":"","user_url":"","description":"Shane K Johnson was the Director of Product Marketing at Couchbase. Prior to Couchbase, he occupied various roles in developing and evangelism with a background in Java and distributed systems. He has consulted with organizations in the financial, retail, telecommunications, and media industries to draft and implement architectures that relied on distributed systems for data and analysis."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/2063","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/comments?post=2063"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/2063\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media?parent=2063"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/categories?post=2063"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/tags?post=2063"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=2063"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}