{"id":4185,"date":"2017-11-08T11:45:31","date_gmt":"2017-11-08T19:45:31","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=4185"},"modified":"2025-06-13T20:20:15","modified_gmt":"2025-06-14T03:20:15","slug":"tooling-improvements-couchbase-5-update","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/tooling-improvements-couchbase-5-update\/","title":{"rendered":"Tooling Improvements in Couchbase Server 5.0 (Update)"},"content":{"rendered":"<div class=\"paragraph\">\n<p>Tooling improvements have come to <a href=\"https:\/\/www.couchbase.com\/downloads\/\">Couchbase Server 5.0<\/a>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><em>Note: this is an updated repost of <a href=\"https:\/\/www.couchbase.com\/blog\/tooling-improvements-couchbase-5-beta\/\">Tooling Improvements in Couchbase 5.0 Beta<\/a>.<\/em><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>In this blog post, I\u2019m going to show you some of the tooling improvements in:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>Query plan visualization &#8211; to better understand how a query is going to execute<\/li>\n<li>Query monitoring &#8211; to see how a query is actually executing<\/li>\n<li>Improved UX &#8211; highlighting the new Couchbase Web Console<\/li>\n<li>Import\/export &#8211; the new cbimport and cbexport tooling<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Some of these topics have been covered in earlier blog posts. For your reference:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/using-cbimport-to-import-wikibase-data-to-json-documents\/\">Using cbimport to import Wikibase data to JSON documents<\/a><\/li>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/a-tour-of-the-new-couchbase-web-console\/\">A tour of the new Couchbase Web Console<\/a><\/li>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/couchbase-console-video-tour-update\/\">A tour of the new Couchbase Web Console (video)<\/a><\/li>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/profiling-monitoring-update-2\/\">Profiling and Monitoring in Couchbase Server 5.0 (Update)<\/a><\/li>\n<\/ul>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_query_plan_visualization_tooling\">Query Plan Visualization tooling<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>In order to help you write efficient queries, the tooling in Couchbase Server 5.0 has been enhanced to give you a Visual Query Plan when writing <a href=\"https:\/\/www.couchbase.com\/products\/n1ql\/\">N1QL<\/a> queries. If you\u2019ve ever used the <a href=\"https:\/\/stackoverflow.com\/questions\/7359702\/how-do-i-obtain-a-query-execution-plan\">Execution Plan feature in SQL Server Management Studio<\/a>, this should feel familiar to you.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>As a quick example, I\u2019ll write a <code>UNION<\/code> query against Couchbase\u2019s <code>travel-sample<\/code> bucket (optional sample data that ships with Couchbase Server). First, I\u2019ll click &#8220;Query&#8221; to bring up the Couchbase Query Workbench. Then, I\u2019ll enter a query into the Query Editor.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/06\/07001-query-editor-tooling.png\" alt=\"Query Editor tooling\" \/><\/span><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>This is a relatively complex query that involves the following steps (and more):<\/p>\n<\/div>\n<div class=\"olist arabic\">\n<ol class=\"arabic\">\n<li>Identify and scan the correct index(es)<\/li>\n<li>Fetch the corresponding data<\/li>\n<li>Project the fields named in the <code>SELECT<\/code> clause<\/li>\n<li>Find distinct results<\/li>\n<li><code>UNION<\/code> the results together<\/li>\n<li>Stream the results back to the web console<\/li>\n<\/ol>\n<\/div>\n<div class=\"paragraph\">\n<p>In Couchbase Server 4.x, you could use the <code>EXPLAIN<\/code> N1QL command to get an idea of the query plan. Now, in Couchbase Server 5.0, you can view the plan visually.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/06\/07002-query-plan-visualization-tooling.gif\" alt=\"Query Plan Visualization tooling\" \/><\/span><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>This tooling shows you, at a glance, the costliest parts of the query, which can help you to identify improvements.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_query_monitoring\">Query monitoring<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>It\u2019s important to have tooling to monitor your queries in action. Couchbase Server 5.0 has tooling to monitor active, completed, and prepared queries. In addition, you have the ability to cancel queries that are in progress.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Start by clicking &#8220;Query&#8221; on the Web Console menu, and then click &#8220;Query Monitor&#8221;. You\u2019ll see the &#8220;Active&#8221;, &#8220;Completed&#8221;, and &#8220;Prepared&#8221; options at the top of the page.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Let\u2019s look at the &#8220;Completed&#8221; queries page. The query text and other information about the query is displayed in a tab.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\">\u00a0<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3688 size-full\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/06\/07003-query-monitor.png\" alt=\"Query Monitor of completed queries\" width=\"1741\" height=\"262\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/06\/07003-query-monitor.png 1741w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/06\/07003-query-monitor-300x45.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/06\/07003-query-monitor-1024x154.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/06\/07003-query-monitor-768x116.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/06\/07003-query-monitor-1536x231.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/06\/07003-query-monitor-20x3.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/06\/07003-query-monitor-1320x199.png 1320w\" sizes=\"auto, (max-width: 1741px) 100vw, 1741px\" \/><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Next, you can sort the table to see which query took the longest to run (duration), return the most results (result count), and so on. Finally, if you click &#8220;edit&#8221;, you\u2019ll be taken to the Query Workbench with the text of that query.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_new_couchbase_web_console\">New Couchbase Web Console<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>If you\u2019ve been following along, you\u2019ve probably already noticed the new Couchbase Web Console. The UI has been given an overhaul in Couchbase Server 5.0. The goal is to improve navigation and optimize the UI.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/06\/07004-couchbase-web-console-design.png\" alt=\"New Couchbase Web Console\" \/><\/span><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>This new design maximizes usability of existing features from Server 4.x, while leaving room to expand the feature set of 5.0 and beyond.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_cbimport_and_cbexport\">cbimport and cbexport<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>New command line tooling includes cbimport and cbexport for moving data around.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><strong>cbimport<\/strong> supports importing both CSV and JSON data. The <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/current\/tools\/cbimport.html\">documentation on cbimport<\/a> should tell you all you want to know, but I want to highlight a couple things:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>Load data from a URI by using the <code>-d,--dataset &lt;uri&gt;<\/code> flags<\/li>\n<li>Generate keys according to a template by using the <code>-g,--generate-key &lt;key_expr&gt;<\/code> flags. This gives you a powerful templating system to generate unique keys that fit your data model and access patterns<\/li>\n<li>Specify a variety of JSON formats when importing: JSON per line (<code>lines<\/code>), JSON list\/array (<code>list<\/code>), JSON ZIP file\/folder containing multiple files (<code>sample<\/code>). So no matter what format you receive JSON in, cbimport can handle it.<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>For more about cbimport in action, check out <a href=\"https:\/\/www.couchbase.com\/blog\/using-cbimport-to-import-wikibase-data-to-json-documents\/\">Using cbimport to import Wikibase data to JSON documents<\/a>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><strong>cbexport<\/strong> exports data from Couchbase to file(s). Currently, only the JSON format is supported. Again, the <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/current\/tools\/cbexport.html\">documentation on cbexport<\/a> will tell you what you want to know. A couple things to point out:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>Include the document key in your export by using the <code>--include-key &lt;key&gt;<\/code> flag.<\/li>\n<li>Export to either &#8220;lines&#8221; or &#8220;list&#8221; format (see above).<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Here\u2019s an example of cbexport in action (I\u2019m using Powershell on Windows, but it will be very similar on Mac\/Linux):<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight decode:true\"><code class=\"language-JavaScript\">PS C:\\Program Files\\Couchbase\\Server\\bin&gt; .\\cbexport.exe json -c localhost -u Administrator -p password -b mybucketname -f list -o c:\\exportdirectory\\cbexporttest.json --include-key _id\r\n\r\nJson exported to `c:\\exportdirectory\\cbexporttest.json` successfully\r\n\r\nPS C:\\Program Files\\Couchbase\\Server\\bin&gt; type C:\\exportdirectory\\cbexporttest.json\r\n\r\n[\r\n{\"_id\":\"463f8111-2000-48cc-bb69-e2ba07defa37\",\"body\":\"Eveniet sed unde officiis dignissimos.\",\"type\":\"Update\"},\r\n{\"_id\":\"e39375ab-2cdf-4dc4-9659-6c19b39e377d\",\"name\":\"Jack Johnston\",\"type\":\"User\"}\r\n]<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Notice that the key was included in an &#8220;_id&#8221; field.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_summary\">Summary<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Tooling for <a href=\"https:\/\/www.couchbase.com\/downloads\/\">Couchbase Server 5.0<\/a> is designed to make your life easier. These tools will help you whether you\u2019re writing queries, integrating with data, monitoring, or performing administrative tasks.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>We\u2019re always looking for feedback. Feel free to leave a comment below, or <a href=\"https:\/\/twitter.com\/mgroves\">reach out to me on Twitter @mgroves<\/a>.<\/p>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Tooling improvements have come to Couchbase Server 5.0. Note: this is an updated repost of Tooling Improvements in Couchbase 5.0 Beta. In this blog post, I\u2019m going to show you some of the tooling improvements in: Query plan visualization &#8211; [&hellip;]<\/p>\n","protected":false},"author":71,"featured_media":3690,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1816,9417,1812],"tags":[1931,1502,1335,1989],"ppma_author":[8937],"class_list":["post-4185","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-server","category-performance","category-n1ql-query","tag-export","tag-import","tag-monitoring","tag-tooling"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.8 (Yoast SEO v25.8) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Tooling Improvements in Couchbase Server 5.0 (Update)<\/title>\n<meta name=\"description\" content=\"Tooling improvements have come to Couchbase 5.0. This post covers visual query plans, query monitoring, improved UX\/UI, and import\/export tools.\" \/>\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\/tooling-improvements-couchbase-5-update\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tooling Improvements in Couchbase Server 5.0 (Update)\" \/>\n<meta property=\"og:description\" content=\"Tooling improvements have come to Couchbase 5.0. This post covers visual query plans, query monitoring, improved UX\/UI, and import\/export tools.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/tooling-improvements-couchbase-5-update\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-11-08T19:45:31+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T03:20:15+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/06\/070-hero-tooling.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1280\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Matthew Groves\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@mgroves\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Matthew Groves\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/tooling-improvements-couchbase-5-update\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/tooling-improvements-couchbase-5-update\/\"},\"author\":{\"name\":\"Matthew Groves\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58\"},\"headline\":\"Tooling Improvements in Couchbase Server 5.0 (Update)\",\"datePublished\":\"2017-11-08T19:45:31+00:00\",\"dateModified\":\"2025-06-14T03:20:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/tooling-improvements-couchbase-5-update\/\"},\"wordCount\":785,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/tooling-improvements-couchbase-5-update\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/06\/070-hero-tooling.jpg\",\"keywords\":[\"export\",\"import\",\"monitoring\",\"tooling\"],\"articleSection\":[\"Couchbase Server\",\"High Performance\",\"SQL++ \/ N1QL Query\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/tooling-improvements-couchbase-5-update\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/tooling-improvements-couchbase-5-update\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/tooling-improvements-couchbase-5-update\/\",\"name\":\"Tooling Improvements in Couchbase Server 5.0 (Update)\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/tooling-improvements-couchbase-5-update\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/tooling-improvements-couchbase-5-update\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/06\/070-hero-tooling.jpg\",\"datePublished\":\"2017-11-08T19:45:31+00:00\",\"dateModified\":\"2025-06-14T03:20:15+00:00\",\"description\":\"Tooling improvements have come to Couchbase 5.0. This post covers visual query plans, query monitoring, improved UX\/UI, and import\/export tools.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/tooling-improvements-couchbase-5-update\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/tooling-improvements-couchbase-5-update\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/tooling-improvements-couchbase-5-update\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/06\/070-hero-tooling.jpg\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/06\/070-hero-tooling.jpg\",\"width\":1920,\"height\":1280,\"caption\":\"Couchbase tooling\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/tooling-improvements-couchbase-5-update\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tooling Improvements in Couchbase Server 5.0 (Update)\"}]},{\"@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\/3929663e372020321b0152dc4fa65a58\",\"name\":\"Matthew Groves\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/ba51e6aacc53995c323a634e4502ef54\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g\",\"caption\":\"Matthew Groves\"},\"description\":\"Matthew D. Groves is a guy who loves to code. It doesn't matter if it's C#, jQuery, or PHP: he'll submit pull requests for anything. He has been coding professionally ever since he wrote a QuickBASIC point-of-sale app for his parent's pizza shop back in the 90s. He currently works as a Senior Product Marketing Manager for Couchbase. His free time is spent with his family, watching the Reds, and getting involved in the developer community. He is the author of AOP in .NET, Pro Microservices in .NET, a Pluralsight author, and a Microsoft MVP.\",\"sameAs\":[\"https:\/\/crosscuttingconcerns.com\",\"https:\/\/x.com\/mgroves\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/author\/matthew-groves\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Tooling Improvements in Couchbase Server 5.0 (Update)","description":"Tooling improvements have come to Couchbase 5.0. This post covers visual query plans, query monitoring, improved UX\/UI, and import\/export tools.","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\/tooling-improvements-couchbase-5-update\/","og_locale":"en_US","og_type":"article","og_title":"Tooling Improvements in Couchbase Server 5.0 (Update)","og_description":"Tooling improvements have come to Couchbase 5.0. This post covers visual query plans, query monitoring, improved UX\/UI, and import\/export tools.","og_url":"https:\/\/www.couchbase.com\/blog\/tooling-improvements-couchbase-5-update\/","og_site_name":"The Couchbase Blog","article_published_time":"2017-11-08T19:45:31+00:00","article_modified_time":"2025-06-14T03:20:15+00:00","og_image":[{"width":1920,"height":1280,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/06\/070-hero-tooling.jpg","type":"image\/jpeg"}],"author":"Matthew Groves","twitter_card":"summary_large_image","twitter_creator":"@mgroves","twitter_misc":{"Written by":"Matthew Groves","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/tooling-improvements-couchbase-5-update\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/tooling-improvements-couchbase-5-update\/"},"author":{"name":"Matthew Groves","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58"},"headline":"Tooling Improvements in Couchbase Server 5.0 (Update)","datePublished":"2017-11-08T19:45:31+00:00","dateModified":"2025-06-14T03:20:15+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/tooling-improvements-couchbase-5-update\/"},"wordCount":785,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/tooling-improvements-couchbase-5-update\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/06\/070-hero-tooling.jpg","keywords":["export","import","monitoring","tooling"],"articleSection":["Couchbase Server","High Performance","SQL++ \/ N1QL Query"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/tooling-improvements-couchbase-5-update\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/tooling-improvements-couchbase-5-update\/","url":"https:\/\/www.couchbase.com\/blog\/tooling-improvements-couchbase-5-update\/","name":"Tooling Improvements in Couchbase Server 5.0 (Update)","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/tooling-improvements-couchbase-5-update\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/tooling-improvements-couchbase-5-update\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/06\/070-hero-tooling.jpg","datePublished":"2017-11-08T19:45:31+00:00","dateModified":"2025-06-14T03:20:15+00:00","description":"Tooling improvements have come to Couchbase 5.0. This post covers visual query plans, query monitoring, improved UX\/UI, and import\/export tools.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/tooling-improvements-couchbase-5-update\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/tooling-improvements-couchbase-5-update\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/tooling-improvements-couchbase-5-update\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/06\/070-hero-tooling.jpg","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/06\/070-hero-tooling.jpg","width":1920,"height":1280,"caption":"Couchbase tooling"},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/tooling-improvements-couchbase-5-update\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Tooling Improvements in Couchbase Server 5.0 (Update)"}]},{"@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\/3929663e372020321b0152dc4fa65a58","name":"Matthew Groves","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/ba51e6aacc53995c323a634e4502ef54","url":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","caption":"Matthew Groves"},"description":"Matthew D. Groves is a guy who loves to code. It doesn't matter if it's C#, jQuery, or PHP: he'll submit pull requests for anything. He has been coding professionally ever since he wrote a QuickBASIC point-of-sale app for his parent's pizza shop back in the 90s. He currently works as a Senior Product Marketing Manager for Couchbase. His free time is spent with his family, watching the Reds, and getting involved in the developer community. He is the author of AOP in .NET, Pro Microservices in .NET, a Pluralsight author, and a Microsoft MVP.","sameAs":["https:\/\/crosscuttingconcerns.com","https:\/\/x.com\/mgroves"],"url":"https:\/\/www.couchbase.com\/blog\/author\/matthew-groves\/"}]}},"authors":[{"term_id":8937,"user_id":71,"is_guest":0,"slug":"matthew-groves","display_name":"Matthew Groves","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","author_category":"","last_name":"Groves","first_name":"Matthew","job_title":"","user_url":"https:\/\/crosscuttingconcerns.com","description":"Matthew D. Groves is a guy who loves to code.  It doesn't matter if it's C#, jQuery, or PHP: he'll submit pull requests for anything.  He has been coding professionally ever since he wrote a QuickBASIC point-of-sale app for his parent's pizza shop back in the 90s.  He currently works as a Senior Product Marketing Manager for Couchbase. His free time is spent with his family, watching the Reds, and getting involved in the developer community.  He is the author of AOP in .NET, Pro Microservices in .NET, a Pluralsight author, and a Microsoft MVP."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/4185","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\/71"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/comments?post=4185"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/4185\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media\/3690"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media?parent=4185"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/categories?post=4185"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/tags?post=4185"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=4185"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}