{"id":4695,"date":"2018-03-10T17:21:06","date_gmt":"2018-03-11T01:21:06","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=4695"},"modified":"2025-06-13T22:39:53","modified_gmt":"2025-06-14T05:39:53","slug":"eventing","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/eventing\/","title":{"rendered":"Introducing Couchbase Eventing Service"},"content":{"rendered":"<p>It gives us immense pleasure in announcing the launch of <a href=\"https:\/\/www.couchbase.com\/products\/eventing\/\"><strong>Couchbase Eventing Service<\/strong><\/a> as part of the <a href=\"https:\/\/www.couchbase.com\/blog\/announcing-couchbase-server-5-5\/\">Couchbase Data Platform 5.5<\/a>. This new offering brings compute closer to data and lets customers process changes (create\/ update\/ delete\/ expiry) to data stored in Couchbase Cluster as they happen in near real-time. It provides an interface to consume the changes that are exposed with the Database Change Protocol (DCP). \u00a0DCP glues together many different services in the Couchbase Data Platform. Index, Full Text Search and XDCR consume DCP for their efficient operations.<\/p>\n<h2>Couchbase Functions<\/h2>\n<p><strong>Couchbase Functions<\/strong> is the first offering under the Couchbase Eventing Service that enables you to write <strong>server-side functions<\/strong> that are automatically triggered using the familiar <strong>Event-Condition-Action model<\/strong>. It is extremely easy to use, via an online javascript code editor that lets you develop and debug the code on generated mutations to the data residing in Couchbase cluster. Couchbase Eventing Service handles all the complexity of scaling to a large number of document mutations. By making deployment of business rules as easy as possible, Couchbase Functions offers developers a platform by which they can <strong>concentrate on the business logic, than over configuration or infrastructure<\/strong>. This paradigm enables to develop deeply engaging and personalized user experiences based on real-time events.<\/p>\n<p>Couchbase Functions does away with the problems of multiple-writes from the application tier for managing changes and also is much more efficient as it offers an alternative to polling from middle-tier. Couchbase Functions offers to solve some of the following requirements that was not possible earlier by providing developers with a clean and simple interface.<\/p>\n<ul>\n<li>Notifications Before Expiry<\/li>\n<li>Threshold Based Monitoring &amp; Alerting<\/li>\n<li>Propagate Changes to Other Systems<\/li>\n<li>Enrich Content in Near-Real Time<\/li>\n<li>Trigger a routine on a Document at Specified Intervals<\/li>\n<li>Cascade Deletes<\/li>\n<\/ul>\n<p>Also, it offers these capabilities by performing at scale \u2013 an important characteristic, and a requirement for most distributed compute operations.<\/p>\n<p>Couchbase Functions essentially targets asynchronous, stateless, low-latency (time-bracketed) workloads that often see inconsistent traffic. By emphasising on business logic than configuration or infrastructure, developers have a very powerful tool in their arsenal which leads to high dev velocity. \u00a0By lowering the barriers to experiment with data, the Functions service offers developers a fast and pleasant experience, which in turn lets businesses be much more agile.<\/p>\n<p>For example, one can send a promotional email when a shopping cart is about to expire, trigger an alert when a value monitored exceeds certain threshold, or propagate changes in Couchbase to other adjacent systems.<\/p>\n<div id=\"attachment_4698\" style=\"width: 610px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4698\" class=\"wp-image-4698\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/03\/eventing-summary-300x165.png\" alt=\"Couchbase Functions Summary Screen\" width=\"600\" height=\"330\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/eventing-summary-300x165.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/eventing-summary-1024x564.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/eventing-summary-768x423.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/eventing-summary-1536x846.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/eventing-summary-2048x1128.png 2048w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/eventing-summary-20x11.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/eventing-summary-1320x727.png 1320w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><p id=\"caption-attachment-4698\" class=\"wp-caption-text\">Functions Summary Screen<\/p><\/div>\n<p>Couchbase Functions is a homegrown offering, that leverages the V8 engine for running the Javascript code. The mutations to the data can be consumed by the two out of the box event handlers &#8211; OnUpdate and OnDelete \u2013 that get triggered respectively for create+update and delete operations on data. We have also added and removed many constructs to the Javascript language so that it performs at scale.<\/p>\n<div id=\"attachment_4697\" style=\"width: 612px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4697\" class=\"wp-image-4697\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/03\/eventing-editor-300x178.png\" alt=\"Browser based Javascript Editor\" width=\"602\" height=\"357\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/eventing-editor-300x178.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/eventing-editor-1024x608.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/eventing-editor-768x456.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/eventing-editor-1536x913.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/eventing-editor-2048x1217.png 2048w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/eventing-editor-20x12.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/eventing-editor-1320x784.png 1320w\" sizes=\"auto, (max-width: 602px) 100vw, 602px\" \/><p id=\"caption-attachment-4697\" class=\"wp-caption-text\">Browser based Javascript Editor<\/p><\/div>\n<p>As Couchbase Functions is essentially a platform to write snippets of server-side code that get triggered in response to events, it brings the serverless (the FaaS aspects) computing infrastructure closer to the datastore, and thereby helping in layer consolidation as well.<\/p>\n<h3><strong>World Class Diagnosability Features!!<\/strong><\/h3>\n<p>An often cited issue with event based systems is the complete lack of diagnosability options.\u00a0 Couchbase Functions integrates with the Chrome Debugger to debug updates to data in real-time. We block only a single mutation at a time and hand it over the debugger session, in such a way that processing of the rest of the mutations are not blocked. This capability is probably the first of it\u2019s kind in either the world of databases or in streaming software.<\/p>\n<p>Developers can also specify log statements that are captured in application specific log files on the file-system. The diagnosability features being offered, both on a file and using the debugger, truly differentiate this offering and also offer developers and administrators a powerful tool which was missing earlier.<\/p>\n<div id=\"attachment_4696\" style=\"width: 612px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4696\" class=\"wp-image-4696\" style=\"background-color: initial;color: #333333;font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size: 19px\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/03\/eventing-debugger-300x133.png\" alt=\"Online Real-Time Javascript Debugger\" width=\"602\" height=\"267\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/eventing-debugger-300x133.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/eventing-debugger-1024x455.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/eventing-debugger-768x341.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/eventing-debugger-1536x682.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/eventing-debugger-2048x909.png 2048w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/eventing-debugger-20x9.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/eventing-debugger-1320x586.png 1320w\" sizes=\"auto, (max-width: 602px) 100vw, 602px\" \/><p id=\"caption-attachment-4696\" class=\"wp-caption-text\">Online Real-Time Javascript Debugger<\/p><\/div>\n<p>And yes, it is a Multidimensional Scaling (MDS) enabled service. Hence, Couchbase Eventing Service can run on it&#8217;s own set of nodes providing the much needed workload isolation and also independent scalability for compute workloads.<\/p>\n<div id=\"attachment_4700\" style=\"width: 562px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4700\" class=\"wp-image-4700\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/03\/eventing_mds-300x155.png\" alt=\"Eventing Service is a MDS Service\" width=\"552\" height=\"285\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/eventing_mds-300x155.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/eventing_mds-1024x528.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/eventing_mds-768x396.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/eventing_mds-20x10.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/eventing_mds.png 1214w\" sizes=\"auto, (max-width: 552px) 100vw, 552px\" \/><p id=\"caption-attachment-4700\" class=\"wp-caption-text\">Eventing Service is a MDS Service<\/p><\/div>\n<p>We truly hope that you find this offering compelling and implement it to solve use-cases that truly revolutionises your workflows and leads to better customer engagement and delight. We are excited to hear more from you.<\/p>\n<p style=\"text-align: center\">\u201c<strong>A successful [software] tool is one that was used to do something undreamed of by its author<\/strong>\u201d. &#8211;\u00a0Stephen Johnson<\/p>\n<ul>\n<li>Learn more about this new Couchbase Eventing Service and what Couchbase Functions has to offer by referring to our <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/5.5\/eventing\/eventing-overview.html\">Couchbase Eventing documentation<\/a> <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/5.5\/eventing\/eventing-overview.html\">here<\/a>.<\/li>\n<li>Do leave your comments on this new service down below or on our <a href=\"https:\/\/www.couchbase.com\/forums\/c\/eventing\/\">Forum<\/a> dedicated for Couchbase Eventing Service.<\/li>\n<li>Download the <a href=\"https:\/\/www.couchbase.com\/downloads\/\">Couchbase Server 5.5 here<\/a>.<\/li>\n<li>Read blog &#8220;<a href=\"https:\/\/www.couchbase.com\/blog\/detect-sensitive-information-nosql-documents-automatically-couchbase-functions\/\">Detect Sensitive Information In Your NoSQL Documents Automatically With Couchbase Functions<\/a>&#8220;.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>It gives us immense pleasure in announcing the launch of Couchbase Eventing Service as part of the Couchbase Data Platform 5.5. This new offering brings compute closer to data and lets customers process changes (create\/ update\/ delete\/ expiry) to data [&hellip;]<\/p>\n","protected":false},"author":3013,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1821,1816,2273],"tags":[2258,1977,1976,2182,2133,1562],"ppma_author":[9055],"class_list":["post-4695","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-architecture","category-couchbase-server","category-eventing","tag-5-5","tag-database-change-protocol","tag-dcp","tag-devbuild","tag-functions","tag-replication"],"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>Couchbase Eventing Service for World Class Diagnosability<\/title>\n<meta name=\"description\" content=\"The Couchbase Eventing Service allows customers to process changes (create\/ update\/ delete\/ expiry) to data stored in Couchbase Cluster in near real-time.\" \/>\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\/eventing\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Introducing Couchbase Eventing Service\" \/>\n<meta property=\"og:description\" content=\"The Couchbase Eventing Service allows customers to process changes (create\/ update\/ delete\/ expiry) to data stored in Couchbase Cluster in near real-time.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/eventing\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2018-03-11T01:21:06+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T05:39:53+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/eventing-summary.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2186\" \/>\n\t<meta property=\"og:image:height\" content=\"1204\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Venkat Subramanian, Product Manager\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@venkasub\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Venkat Subramanian, Product Manager\" \/>\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\/eventing\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/eventing\/\"},\"author\":{\"name\":\"Venkat Subramanian, Product Manager\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/0756e2347c2166a32f93f9a7e07e9f90\"},\"headline\":\"Introducing Couchbase Eventing Service\",\"datePublished\":\"2018-03-11T01:21:06+00:00\",\"dateModified\":\"2025-06-14T05:39:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/eventing\/\"},\"wordCount\":853,\"commentCount\":7,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/eventing\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"keywords\":[\"5.5\",\"Database Change Protocol\",\"DCP\",\"devbuild\",\"functions\",\"replication\"],\"articleSection\":[\"Couchbase Architecture\",\"Couchbase Server\",\"Eventing\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/eventing\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/eventing\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/eventing\/\",\"name\":\"Couchbase Eventing Service for World Class Diagnosability\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/eventing\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/eventing\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2018-03-11T01:21:06+00:00\",\"dateModified\":\"2025-06-14T05:39:53+00:00\",\"description\":\"The Couchbase Eventing Service allows customers to process changes (create\/ update\/ delete\/ expiry) to data stored in Couchbase Cluster in near real-time.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/eventing\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/eventing\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/eventing\/#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\/eventing\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Introducing Couchbase Eventing Service\"}]},{\"@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\/0756e2347c2166a32f93f9a7e07e9f90\",\"name\":\"Venkat Subramanian, Product Manager\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/8f9acdf95e167a15007b71867fe87a9a\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/53cfc83eb606325239f7058417a02969ab8ff0106a374bcdcf5d78f9b749cccd?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/53cfc83eb606325239f7058417a02969ab8ff0106a374bcdcf5d78f9b749cccd?s=96&d=mm&r=g\",\"caption\":\"Venkat Subramanian, Product Manager\"},\"description\":\"Venkat dabbles in product development and product management and has been developing data\/analytics platforms &amp; products. Significant chunk of his experience has been with Oracle, where he transitioned from being an Engineer in Oracle\u2019s Enterprise Manager team to Product Manager for Oracle's BI\/Analytics suite of products. He has worked in startups in the past helping develop machine-learning\/NLP products and distributed decisioning systems. He lurks around at @venkasub.\",\"sameAs\":[\"https:\/\/x.com\/venkasub\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/author\/venkatcouchbase-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Couchbase Eventing Service for World Class Diagnosability","description":"The Couchbase Eventing Service allows customers to process changes (create\/ update\/ delete\/ expiry) to data stored in Couchbase Cluster in near real-time.","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\/eventing\/","og_locale":"en_US","og_type":"article","og_title":"Introducing Couchbase Eventing Service","og_description":"The Couchbase Eventing Service allows customers to process changes (create\/ update\/ delete\/ expiry) to data stored in Couchbase Cluster in near real-time.","og_url":"https:\/\/www.couchbase.com\/blog\/eventing\/","og_site_name":"The Couchbase Blog","article_published_time":"2018-03-11T01:21:06+00:00","article_modified_time":"2025-06-14T05:39:53+00:00","og_image":[{"width":2186,"height":1204,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/eventing-summary.png","type":"image\/png"}],"author":"Venkat Subramanian, Product Manager","twitter_card":"summary_large_image","twitter_creator":"@venkasub","twitter_misc":{"Written by":"Venkat Subramanian, Product Manager","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/eventing\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/eventing\/"},"author":{"name":"Venkat Subramanian, Product Manager","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/0756e2347c2166a32f93f9a7e07e9f90"},"headline":"Introducing Couchbase Eventing Service","datePublished":"2018-03-11T01:21:06+00:00","dateModified":"2025-06-14T05:39:53+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/eventing\/"},"wordCount":853,"commentCount":7,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/eventing\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","keywords":["5.5","Database Change Protocol","DCP","devbuild","functions","replication"],"articleSection":["Couchbase Architecture","Couchbase Server","Eventing"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/eventing\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/eventing\/","url":"https:\/\/www.couchbase.com\/blog\/eventing\/","name":"Couchbase Eventing Service for World Class Diagnosability","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/eventing\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/eventing\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2018-03-11T01:21:06+00:00","dateModified":"2025-06-14T05:39:53+00:00","description":"The Couchbase Eventing Service allows customers to process changes (create\/ update\/ delete\/ expiry) to data stored in Couchbase Cluster in near real-time.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/eventing\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/eventing\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/eventing\/#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\/eventing\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Introducing Couchbase Eventing Service"}]},{"@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\/0756e2347c2166a32f93f9a7e07e9f90","name":"Venkat Subramanian, Product Manager","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/8f9acdf95e167a15007b71867fe87a9a","url":"https:\/\/secure.gravatar.com\/avatar\/53cfc83eb606325239f7058417a02969ab8ff0106a374bcdcf5d78f9b749cccd?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/53cfc83eb606325239f7058417a02969ab8ff0106a374bcdcf5d78f9b749cccd?s=96&d=mm&r=g","caption":"Venkat Subramanian, Product Manager"},"description":"Venkat dabbles in product development and product management and has been developing data\/analytics platforms &amp; products. Significant chunk of his experience has been with Oracle, where he transitioned from being an Engineer in Oracle\u2019s Enterprise Manager team to Product Manager for Oracle's BI\/Analytics suite of products. He has worked in startups in the past helping develop machine-learning\/NLP products and distributed decisioning systems. He lurks around at @venkasub.","sameAs":["https:\/\/x.com\/venkasub"],"url":"https:\/\/www.couchbase.com\/blog\/author\/venkatcouchbase-com\/"}]}},"authors":[{"term_id":9055,"user_id":3013,"is_guest":0,"slug":"venkatcouchbase-com","display_name":"Venkat Subramanian, Product Manager","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/53cfc83eb606325239f7058417a02969ab8ff0106a374bcdcf5d78f9b749cccd?s=96&d=mm&r=g","author_category":"","last_name":"Subramanian, Product Manager","first_name":"Venkat","job_title":"","user_url":"","description":"Venkat dabbles in product development and product management and has been developing data\/analytics platforms &amp; products. Significant chunk of his experience has been with Oracle, where he transitioned from being an Engineer in Oracle\u2019s Enterprise Manager team to Product Manager for Oracle's BI\/Analytics suite of products. He has worked in startups in the past helping develop machine-learning\/NLP products and distributed decisioning systems. He lurks around at @venkasub."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/4695","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\/3013"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/comments?post=4695"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/4695\/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=4695"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/categories?post=4695"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/tags?post=4695"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=4695"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}