{"id":1808,"date":"2014-12-16T17:54:52","date_gmt":"2014-12-16T17:54:51","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=1808"},"modified":"2019-03-04T01:36:47","modified_gmt":"2019-03-04T09:36:47","slug":"topology-architecture-distributed-systems","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/topology-architecture-distributed-systems\/","title":{"rendered":"Topology: The Architecture of Distributed Systems"},"content":{"rendered":"<p>You can\u2019t judge a book by its cover, but you can judge the architecture of a distributed system by its topology.<\/p>\n<p>If two distributed systems are equally effective, is the one with the simpler topology the one with the better architecture? This article compares the architecture of two document databases and two wide column stores by looking at their topologies.<\/p>\n<h5>Wide Column Store<\/h5>\n<p><strong>Topology #1<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3535\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2014\/12\/wcs_one.png\" alt=\"wcs_one\" width=\"800\" height=\"421\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2014\/12\/wcs_one.png 800w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2014\/12\/wcs_one-300x158.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2014\/12\/wcs_one-768x404.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2014\/12\/wcs_one-20x11.png 20w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Wow. There is a lot going on here. There are four nodes types and multiple components per node.<\/p>\n<p><strong>Topology #2<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3536\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2014\/12\/wcs_two.png\" alt=\"wcs_two\" width=\"684\" height=\"114\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2014\/12\/wcs_two.png 684w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2014\/12\/wcs_two-300x50.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2014\/12\/wcs_two-20x3.png 20w\" sizes=\"auto, (max-width: 684px) 100vw, 684px\" \/><\/p>\n<p>Nice. Simple. There is one node type.<\/p>\n<p>Which wide column store would you choose?<\/p>\n<ul>\n<li>Which one is going to be easier to deploy?<\/li>\n<li>Which one is going to be easier to maintain?<\/li>\n<li>Which one is going to be easier to scale?<\/li>\n<li>Which one is going to be more resilient<\/li>\n<\/ul>\n<p>I believe the less moving parts, the better.<\/p>\n<p><strong>Apache HBase<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3532\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2014\/12\/wcs_hbase.png\" alt=\" wcs_hbase\" width=\"800\" height=\"421\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2014\/12\/wcs_hbase.png 800w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2014\/12\/wcs_hbase-300x158.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2014\/12\/wcs_hbase-768x404.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2014\/12\/wcs_hbase-20x11.png 20w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/p>\n<p>Apaceh HBase sits on top of Apache Hadoop, so there are a lot of nodes types and components. Apache Hadoop requires name nodes and data nodes for HDFS. It requires job trackers and task trackers for map \/ reduce.\u00a0 Apache HBase requires master servers, region servers, and a Zookeeper cluster. The Apache HBase, HDFS, and map \/ reduce components can be co-located. However, they don\u2019t have to be.<\/p>\n<p>The master server and the name node may be single points of failure. However, multiple name nodes can be deployed, as can multiple master servers. That being said, there will be problems if the name nodes are unavailable, the master servers are unavailable, and \/ or the Zookeeper cluster is unavailable.<\/p>\n<p><strong>Apache Cassandra<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3533\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2014\/12\/wcs_cass.png\" alt=\"wcs_cass\" width=\"684\" height=\"114\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2014\/12\/wcs_cass.png 684w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2014\/12\/wcs_cass-300x50.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2014\/12\/wcs_cass-20x3.png 20w\" sizes=\"auto, (max-width: 684px) 100vw, 684px\" \/><\/p>\n<p>There is one node type. That\u2019s it. Clients communicate directly with the nodes. There are no single points of failure. There are no dependencies on independent nodes or separate clusters.<\/p>\n<h5>Document Databases<\/h5>\n<p><strong>Topology #1<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3537\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2014\/12\/doc_db_one.png\" alt=\"doc_db_one\" width=\"703\" height=\"600\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2014\/12\/doc_db_one.png 703w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2014\/12\/doc_db_one-300x256.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2014\/12\/doc_db_one-20x17.png 20w\" sizes=\"auto, (max-width: 703px) 100vw, 703px\" \/><\/p>\n<p>Wow. There is a lot going on here. There are four node types and two layers of logical groupings.<\/p>\n<p><strong>Topology #2<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3538\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2014\/12\/doc_db_two.png\" alt=\"doc_db_two\" width=\"684\" height=\"114\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2014\/12\/doc_db_two.png 684w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2014\/12\/doc_db_two-300x50.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2014\/12\/doc_db_two-20x3.png 20w\" sizes=\"auto, (max-width: 684px) 100vw, 684px\" \/><\/p>\n<p>Nice. Simple. There is one node type.<\/p>\n<p>Which document database would you choose?<\/p>\n<ul>\n<li>Which one is going to be easier to deploy?<\/li>\n<li>Which one is going to be easier to maintain?<\/li>\n<li>Which one is going to be easier to scale?<\/li>\n<li>Which one is going to be more resilient?<\/li>\n<\/ul>\n<p>I believe the less moving parts, the better.<\/p>\n<p><strong>MongoDB<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3539\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2014\/12\/doc_db_mongo.png\" alt=\"doc_db_mongo\" width=\"703\" height=\"600\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2014\/12\/doc_db_mongo.png 703w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2014\/12\/doc_db_mongo-300x256.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2014\/12\/doc_db_mongo-20x17.png 20w\" sizes=\"auto, (max-width: 703px) 100vw, 703px\" \/><\/p>\n<p>The MongoDB topology is similar to the Apache HBase topology. The difference is that clients to not directly connect to the nodes. The client requests are proxied by the router nodes. The router nodes retrieve shard information from the config nodes. A shard consists of a replica set. A replica set consists of multiple nodes and an arbiter.<\/p>\n<p>Like Apache HBase, the router node and the config node may be single points of failure. However, like Apache HBase, multiple router nodes and multiple config nodes can be deployed. That being said, there will be problems if the router nodes and \/ or the config nodes are unavailable.<\/p>\n<p><strong>Couchbase Server<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3540\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2014\/12\/doc_db_cbs.png\" alt=\"doc_db_cbs\" width=\"684\" height=\"114\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2014\/12\/doc_db_cbs.png 684w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2014\/12\/doc_db_cbs-300x50.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2014\/12\/doc_db_cbs-20x3.png 20w\" sizes=\"auto, (max-width: 684px) 100vw, 684px\" \/><\/p>\n<p>There is one node type. That\u2019s it. Clients communicate directly with the nodes. There are no single points of failure. There are no dependencies on independent nodes or separate clusters.<\/p>\n<h5>Summary<\/h5>\n<p>A great architecture balances flexibility and simplicity. There is value in a modular architecture. There is value in a simple architecture. However, modularity does not have to be reflected in the topology of a distributed system. Couchbase Server is a modular, distributed system. A single instance is compromised of multiple components and multiple services. However, the modularity is not forced on administrators. It is an aspect of the distributed system itself, not its deployment.<\/p>\n<p>Join the conversation over at reddit (<a href=\"https:\/\/www.reddit.com\/r\/software\/comments\/1zn1y1\/how_important_is_the_topology_architecture_in\/\">link<\/a>).<br \/>\nJoin the conversation over at Hacker News (<a href=\"https:\/\/news.ycombinator.com\/item?id=7348741\">link<\/a>).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>You can\u2019t judge a book by its cover, but you can judge the architecture of a distributed system by its topology. If two distributed systems are equally effective, is the one with the simpler topology the one with the better [&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":[1311,1301,1312],"ppma_author":[9000],"class_list":["post-1808","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-architecture","tag-competitive","tag-topology"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.7.1 (Yoast SEO v25.7) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Topology: The Architecture of Distributed Systems - 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\/topology-architecture-distributed-systems\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Topology: The Architecture of Distributed Systems\" \/>\n<meta property=\"og:description\" content=\"You can\u2019t judge a book by its cover, but you can judge the architecture of a distributed system by its topology. If two distributed systems are equally effective, is the one with the simpler topology the one with the better [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/topology-architecture-distributed-systems\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2014-12-16T17:54:51+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-03-04T09:36:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/11\/couchbase-nosql-dbaas.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1800\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\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=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/topology-architecture-distributed-systems\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/topology-architecture-distributed-systems\/\"},\"author\":{\"name\":\"Shane Johnson, Director, Product Marketing, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/f045291995fbe1d06823814c3d39fe98\"},\"headline\":\"Topology: The Architecture of Distributed Systems\",\"datePublished\":\"2014-12-16T17:54:51+00:00\",\"dateModified\":\"2019-03-04T09:36:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/topology-architecture-distributed-systems\/\"},\"wordCount\":615,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/topology-architecture-distributed-systems\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"keywords\":[\"Architecture\",\"Competitive\",\"Topology\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/topology-architecture-distributed-systems\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/topology-architecture-distributed-systems\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/topology-architecture-distributed-systems\/\",\"name\":\"Topology: The Architecture of Distributed Systems - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/topology-architecture-distributed-systems\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/topology-architecture-distributed-systems\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2014-12-16T17:54:51+00:00\",\"dateModified\":\"2019-03-04T09:36:47+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/topology-architecture-distributed-systems\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/topology-architecture-distributed-systems\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/topology-architecture-distributed-systems\/#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\/topology-architecture-distributed-systems\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Topology: The Architecture of Distributed Systems\"}]},{\"@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":"Topology: The Architecture of Distributed Systems - 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\/topology-architecture-distributed-systems\/","og_locale":"en_US","og_type":"article","og_title":"Topology: The Architecture of Distributed Systems","og_description":"You can\u2019t judge a book by its cover, but you can judge the architecture of a distributed system by its topology. If two distributed systems are equally effective, is the one with the simpler topology the one with the better [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/topology-architecture-distributed-systems\/","og_site_name":"The Couchbase Blog","article_published_time":"2014-12-16T17:54:51+00:00","article_modified_time":"2019-03-04T09:36:47+00:00","og_image":[{"width":1800,"height":630,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/11\/couchbase-nosql-dbaas.png","type":"image\/png"}],"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":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/topology-architecture-distributed-systems\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/topology-architecture-distributed-systems\/"},"author":{"name":"Shane Johnson, Director, Product Marketing, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/f045291995fbe1d06823814c3d39fe98"},"headline":"Topology: The Architecture of Distributed Systems","datePublished":"2014-12-16T17:54:51+00:00","dateModified":"2019-03-04T09:36:47+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/topology-architecture-distributed-systems\/"},"wordCount":615,"commentCount":2,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/topology-architecture-distributed-systems\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","keywords":["Architecture","Competitive","Topology"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/topology-architecture-distributed-systems\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/topology-architecture-distributed-systems\/","url":"https:\/\/www.couchbase.com\/blog\/topology-architecture-distributed-systems\/","name":"Topology: The Architecture of Distributed Systems - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/topology-architecture-distributed-systems\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/topology-architecture-distributed-systems\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2014-12-16T17:54:51+00:00","dateModified":"2019-03-04T09:36:47+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/topology-architecture-distributed-systems\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/topology-architecture-distributed-systems\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/topology-architecture-distributed-systems\/#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\/topology-architecture-distributed-systems\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Topology: The Architecture of Distributed Systems"}]},{"@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\/1808","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=1808"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/1808\/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=1808"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/categories?post=1808"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/tags?post=1808"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=1808"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}