{"id":31181,"date":"2025-03-11T15:00:49","date_gmt":"2025-03-11T15:00:49","guid":{"rendered":"https:\/\/www.intercom.com\/blog\/?p=31181"},"modified":"2025-03-11T15:03:30","modified_gmt":"2025-03-11T15:03:30","slug":"evolving-intercoms-database-infrastructure-lessons-and-progress","status":"publish","type":"post","link":"https:\/\/www.intercom.com\/blog\/evolving-intercoms-database-infrastructure-lessons-and-progress\/","title":{"rendered":"Evolving Intercom\u2019s database infrastructure: Lessons and progress"},"content":{"rendered":"<p>A few months ago, we launched an overhaul of Intercom&#8217;s database architecture with Vitess and PlanetScale. Already, we&#8217;re seeing transformative results: zero-downtime maintenance, 90%+ performance improvement for our most demanding queries, and a more resilient infrastructure that scales in days, not months.<\/p>\n<p>In our <a href=\"https:\/\/www.intercom.com\/blog\/evolving-intercoms-database-infrastructure\/\">previous post<\/a>, we shared how we\u2019re overhauling Intercom\u2019s database architecture to scale better, reduce complexity, and improve reliability. We are moving away from Amazon Aurora and our custom sharding solution, and adopting <a href=\"https:\/\/vitess.io\/\">Vitess<\/a>, managed by <a href=\"https:\/\/planetscale.com\/\">PlanetScale<\/a>. We outlined why we made this shift, the challenges we faced in our legacy setup, and the benefits we expected.<\/p>\n<p>Since then, we\u2019ve migrated critical databases, optimized query performance, and tackled some of our toughest infrastructure bottlenecks. Most significantly, we\u2019ve adopted PlanetScale Metal, a new storage architecture that has improved performance, reduced costs, and simplified our operations.<\/p>\n<p>This post is a status update on where we are today \u2013 what\u2019s working, what we\u2019ve learned, and what\u2019s next.<\/p>\n<h2 id=\"recap-why-vitess-and-planetscale\">Recap: Why Vitess and PlanetScale?<\/h2>\n<p>Our decision to adopt Vitess and PlanetScale was driven by five key goals:<\/p>\n<ol>\n<li>Improving availability<\/li>\n<li>Eliminating downtime during maintenance.<\/li>\n<li>Reducing engineering complexity<\/li>\n<li>Streamlining table migrations.<\/li>\n<li>Achieving straightforward scaling.<\/li>\n<\/ol>\n<p>To achieve this, we needed a database that could scale seamlessly while keeping things operationally simple. Vitess solves this by bringing built-in sharding, connection pooling, and zero-downtime migrations and upgrades, all while remaining MySQL-compatible.<\/p>\n<p>Running Vitess ourselves would have required a massive investment in building operational expertise. PlanetScale, with its managed platform and deep Vitess expertise, offered an exceptional developer experience and handled the heavy lifting of infrastructure management.<\/p>\n<h2 id=\"progress-so-far\">Progress so far<\/h2>\n<p>Over the past few months, we\u2019ve successfully migrated several of our most critical databases, including those powering Intercom\u2019s AI infrastructure, Contacts, and our Inbox \u2013 one of the most latency sensitive parts of our system.<\/p>\n<p>Each migration has validated our decision and reinforced the benefits of the new architecture. These migrations apply to our US hosted customers region. Our EU and AU hosted regions will follow soon, but since they are not currently affected by database scaling performance issues, we are prioritizing the US migration first.<\/p>\n<h2 id=\"key-successes-and-optimizations\">Key successes and optimizations<\/h2>\n<p>Despite some initial challenges outlined in our original post, we&#8217;ve seen numerous successes and optimizations:<\/p>\n<h3>Sharding in days, not months<\/h3>\n<p>Previously, sharding even a single table took months and required careful coordination, manual data migrations, and application-layer changes. With PlanetScale, we\u2019ve sharded multiple databases in a matter of days, freeing up resources and dramatically improving query performance.<\/p>\n<h3>Massive query speedups with materialized views<\/h3>\n<p>Some of our most expensive queries on Aurora were rewritten using Vitess materialized views, leading to 90%+ performance improvements. These improvements especially benefit our largest customers who generate the most data.<\/p>\n<h3>Connection management is no longer a headache<\/h3>\n<p>Vitess&#8217;s VTGate component has simplified connection management, eliminating the 16,000 connection limit per MySQL host imposed by Aurora and removing the need for ProxySQL, our connection management middle layer.<\/p>\n<p>This has reduced complexity and potential points of failure. For example, the database that powers the Inbox would routinely require 135,000 active connections \u2013 we can now do this without additional infrastructure.<\/p>\n<h3>Zero-downtime maintenance<\/h3>\n<p>Vitess&#8217;s failover mechanisms have enabled us to perform maintenance without any customer downtime. Almost all scheduled maintenance operations in Intercom in the past have been for critical database maintenance on Aurora, so being able to make these changes without disrupting our customers is a huge win.<\/p>\n<p>We\u2019ve been upgrading databases every couple of weeks, and no one has even noticed. That\u2019s exactly how it should be.<\/p>\n<h2 id=\"planetscale-metal-a-game-changer\">PlanetScale Metal: A game changer<\/h2>\n<p>Early in our migration when we were migrating a database critical to the Inbox, we ran into a major performance bottleneck: disk I\/O saturation on database replicas. This led to incidents in June and July 2024 where we had degraded or slow performance of the Inbox.<\/p>\n<p>We originally used EBS-backed storage (GP3 volumes) for our PlanetScale databases. But at peak load, replicas maxed out their IOPS allocation, causing increased CPU wait times and degraded performance. Scaling out was an option, but provisioning new replicas and catching them up with replication took hours. During this time, core operations like Inbox performance or Load Balanced Assignment suffered.<\/p>\n<p>We learned the hard way: scaling under pressure is slow, expensive, and disruptive. Our immediate fix was to overscale and upgrade to high-IOPS EBS io2 volumes.<\/p>\n<blockquote class=\"pullquote-style-two\"><p>&#8220;We needed a better way. That\u2019s where PlanetScale Metal changed the game&#8221;<\/p><\/blockquote>\n<p>This experience made it clear that our storage layer was an expensive bottleneck. We needed higher throughput and lower latency, but without the operational headaches of constantly tuning IOPS provisioning.<\/p>\n<p>We needed a better way. That\u2019s where <a href=\"https:\/\/planetscale.com\/blog\/planetscale-metal-theres-no-replacement-for-displacement\">PlanetScale Metal<\/a> changed the game. PlanetScale Metal uses locally attached NVMe drives and removes the need for the slower network-attached storage (EBS).<\/p>\n<p>This has translated into immediate and substantial benefits for Intercom.<\/p>\n<h3>Dramatic performance improvements<\/h3>\n<p>We saw immediate and significant improvements in tail latency. This performance boost has benefited all customers, with queries running faster and more consistently, even during peak load.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2025\/03\/Evolving-Intercoms-Database-Infrastructure-Lessons-and-Progress-2-scaled.jpg\" \/><\/p>\n<p style=\"text-align: center;\"><em>This heat map shows the moment Metal went live, showing the speed of loading conversations in the Intercom inbox \u2013 Metal significantly reduced tail latency.<\/em><\/p>\n<h3>Operational stability<\/h3>\n<p>Simply put, every database we\u2019ve migrated to PlanetScale Metal has run smoothly. We\u2019ve had no availability issues caused by the migrated databases.<\/p>\n<h3>Significant cost reduction<\/h3>\n<p>By switching to Metal, we&#8217;ve achieved a 60%+ reduction in cost compared to our previous EBS io2 volumes. Metal provides even greater IO capacity and improved latency at a fraction of the cost.<\/p>\n<h3><img decoding=\"async\" src=\"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2025\/03\/Evolving-Intercoms-Database-Infrastructure-Lessons-and-Progress-1-scaled.jpg\" \/><\/h3>\n<p style=\"text-align: center;\"><em>Here we can see the moment Metal went live reflected in the hourly cost of the database.<\/em><\/p>\n<h3>Smooth database migration<\/h3>\n<p>The database that powers Contacts is one of our highest throughput databases. So much so that when we had to upgrade it from Aurora 1 to Aurora 2 in 2022, it took six months of engineering effort for that single database. With PlanetScale Metal supplying the throughput, and the lessons already learned, we were able to test and then migrate it safely with no impact to production in a couple of weeks.<\/p>\n<h3>Ensuring durability on PlanetScale Metal<\/h3>\n<p>PlanetScale Metal databases offer <a href=\"https:\/\/www.planetscale.com\/blog\/planetscale-metal-theres-no-replacement-for-displacement#why-metal-databases-are-durable\">exceptional durability<\/a> through semi-synchronous, row-based MySQL replication to a minimum of three replicas spread across three availability zones, ensuring every write is securely persisted before acknowledgment.<\/p>\n<p>All databases that have been migrated to PlanetScale now run on Metal. All databases we\u2019re actively moving across will only ever use Metal.<\/p>\n<h2 id=\"the-road-ahead\">The road ahead<\/h2>\n<p>While we\u2019ve made huge strides, the biggest challenge is still ahead: migrating our two largest legacy databases, which powers nearly every part of Intercom.<\/p>\n<p>These databases still run on our custom-sharded Aurora setup where we\u2019ve had an unacceptable increase in availability issues in recent months. A significant driver of that has been us stretching the limits of what Aurora is capable of delivering for us. This migration to PlanetScale will move hundreds of terabytes of customer data.<\/p>\n<p>Based on everything we\u2019ve learned, and extensive testing already performed, we\u2019re confident this transition will be smooth and result in a step-change in performance and stability.<\/p>\n<p>We\u2019ll share more updates as we move forward.<\/p>\n\n","protected":false},"excerpt":{"rendered":"<p>An update on the progress we&#8217;ve made since launching an overhaul of Intercom&#8217;s database architecture with Vitess and PlanetScale. Find out how PlanetScale Metal has changed the game, unlocking greater scalability, performance improvements, and zero-downtime maintenance.<\/p>\n","protected":false},"author":271,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"category":[12898],"tags":[24961,25353],"coauthors":[599,24792],"class_list":["post-31181","post","type-post","status-publish","format-standard","hentry","category-engineering","tag-data-infrastructure","tag-planetscale"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Evolving Intercom\u2019s database infrastructure: Lessons and progress - The Intercom Blog<\/title>\n<meta name=\"description\" content=\"An update on the progress we&#039;ve made on the overhaul of our database architecture. Find out how PlanetScale Metal has unlocked greater scalability, performance improvements, and zero-downtime maintenance.\" \/>\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.intercom.com\/blog\/evolving-intercoms-database-infrastructure-lessons-and-progress\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Evolving Intercom\u2019s database infrastructure: Lessons and progress\" \/>\n<meta property=\"og:description\" content=\"An update on the progress we&#039;ve made on the overhaul of our database architecture. Find out how PlanetScale Metal has unlocked greater scalability, performance improvements, and zero-downtime maintenance.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.intercom.com\/blog\/evolving-intercoms-database-infrastructure-lessons-and-progress\/\" \/>\n<meta property=\"og:site_name\" content=\"The Intercom Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/intercominc\" \/>\n<meta property=\"article:published_time\" content=\"2025-03-11T15:00:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-03-11T15:03:30+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2024\/05\/Painterly-Bridge.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1800\" \/>\n\t<meta property=\"og:image:height\" content=\"840\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Ryan Sherlock, Miles McGuire\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@ryan_sherlock\" \/>\n<meta name=\"twitter:site\" content=\"@intercom\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ryan Sherlock, Miles McGuire\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/evolving-intercoms-database-infrastructure-lessons-and-progress\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/evolving-intercoms-database-infrastructure-lessons-and-progress\\\/\"},\"author\":{\"name\":\"Ryan Sherlock\",\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#\\\/schema\\\/person\\\/41825cc80d4824f33c53c88fb92ec112\"},\"headline\":\"Evolving Intercom\u2019s database infrastructure: Lessons and progress\",\"datePublished\":\"2025-03-11T15:00:49+00:00\",\"dateModified\":\"2025-03-11T15:03:30+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/evolving-intercoms-database-infrastructure-lessons-and-progress\\\/\"},\"wordCount\":1204,\"publisher\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/evolving-intercoms-database-infrastructure-lessons-and-progress\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/03\\\/Evolving-Intercoms-Database-Infrastructure-Lessons-and-Progress-2-scaled.jpg\",\"keywords\":[\"data infrastructure\",\"PlanetScale\"],\"articleSection\":[\"Engineering\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/evolving-intercoms-database-infrastructure-lessons-and-progress\\\/\",\"url\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/evolving-intercoms-database-infrastructure-lessons-and-progress\\\/\",\"name\":\"Evolving Intercom\u2019s database infrastructure: Lessons and progress - The Intercom Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/evolving-intercoms-database-infrastructure-lessons-and-progress\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/evolving-intercoms-database-infrastructure-lessons-and-progress\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/03\\\/Evolving-Intercoms-Database-Infrastructure-Lessons-and-Progress-2-scaled.jpg\",\"datePublished\":\"2025-03-11T15:00:49+00:00\",\"dateModified\":\"2025-03-11T15:03:30+00:00\",\"description\":\"An update on the progress we've made on the overhaul of our database architecture. Find out how PlanetScale Metal has unlocked greater scalability, performance improvements, and zero-downtime maintenance.\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.intercom.com\\\/blog\\\/evolving-intercoms-database-infrastructure-lessons-and-progress\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/evolving-intercoms-database-infrastructure-lessons-and-progress\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/03\\\/Evolving-Intercoms-Database-Infrastructure-Lessons-and-Progress-2-scaled.jpg\",\"contentUrl\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/03\\\/Evolving-Intercoms-Database-Infrastructure-Lessons-and-Progress-2-scaled.jpg\",\"width\":2560,\"height\":538},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/\",\"name\":\"The Intercom Blog\",\"description\":\"Articles and Podcasts on Customer Service, AI and Automation, Product, and more\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#organization\",\"name\":\"The Intercom Blog\",\"url\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/08\\\/Intercom-logo-sq-black-trans.png\",\"contentUrl\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/08\\\/Intercom-logo-sq-black-trans.png\",\"width\":1000,\"height\":1000,\"caption\":\"The Intercom Blog\"},\"image\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/intercominc\",\"https:\\\/\\\/x.com\\\/intercom\",\"https:\\\/\\\/www.instagram.com\\\/intercom\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/2491343\",\"https:\\\/\\\/www.pinterest.ie\\\/intercom\\\/\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCJG0MvLP03kyzzAkD-w98aQ\",\"https:\\\/\\\/en.wikipedia.org\\\/wiki\\\/Intercom_(company)\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#\\\/schema\\\/person\\\/41825cc80d4824f33c53c88fb92ec112\",\"name\":\"Ryan Sherlock\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/fe83af9d71cdbf78adfc830c2e3058e34b3b9c8260ea0a41dc70fe55fa56e5d2?s=96&d=mm&r=pgf9479b6dba8eb5653758710dcafc224c\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/fe83af9d71cdbf78adfc830c2e3058e34b3b9c8260ea0a41dc70fe55fa56e5d2?s=96&d=mm&r=pg\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/fe83af9d71cdbf78adfc830c2e3058e34b3b9c8260ea0a41dc70fe55fa56e5d2?s=96&d=mm&r=pg\",\"caption\":\"Ryan Sherlock\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/ryan_sherlock\"],\"url\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/author\\\/ryan_sherlock\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Evolving Intercom\u2019s database infrastructure: Lessons and progress - The Intercom Blog","description":"An update on the progress we've made on the overhaul of our database architecture. Find out how PlanetScale Metal has unlocked greater scalability, performance improvements, and zero-downtime maintenance.","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.intercom.com\/blog\/evolving-intercoms-database-infrastructure-lessons-and-progress\/","og_locale":"en_US","og_type":"article","og_title":"Evolving Intercom\u2019s database infrastructure: Lessons and progress","og_description":"An update on the progress we've made on the overhaul of our database architecture. Find out how PlanetScale Metal has unlocked greater scalability, performance improvements, and zero-downtime maintenance.","og_url":"https:\/\/www.intercom.com\/blog\/evolving-intercoms-database-infrastructure-lessons-and-progress\/","og_site_name":"The Intercom Blog","article_publisher":"https:\/\/www.facebook.com\/intercominc","article_published_time":"2025-03-11T15:00:49+00:00","article_modified_time":"2025-03-11T15:03:30+00:00","og_image":[{"width":1800,"height":840,"url":"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2024\/05\/Painterly-Bridge.jpg","type":"image\/jpeg"}],"author":"Ryan Sherlock, Miles McGuire","twitter_card":"summary_large_image","twitter_creator":"@ryan_sherlock","twitter_site":"@intercom","twitter_misc":{"Written by":"Ryan Sherlock, Miles McGuire","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.intercom.com\/blog\/evolving-intercoms-database-infrastructure-lessons-and-progress\/#article","isPartOf":{"@id":"https:\/\/www.intercom.com\/blog\/evolving-intercoms-database-infrastructure-lessons-and-progress\/"},"author":{"name":"Ryan Sherlock","@id":"https:\/\/www.intercom.com\/blog\/#\/schema\/person\/41825cc80d4824f33c53c88fb92ec112"},"headline":"Evolving Intercom\u2019s database infrastructure: Lessons and progress","datePublished":"2025-03-11T15:00:49+00:00","dateModified":"2025-03-11T15:03:30+00:00","mainEntityOfPage":{"@id":"https:\/\/www.intercom.com\/blog\/evolving-intercoms-database-infrastructure-lessons-and-progress\/"},"wordCount":1204,"publisher":{"@id":"https:\/\/www.intercom.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.intercom.com\/blog\/evolving-intercoms-database-infrastructure-lessons-and-progress\/#primaryimage"},"thumbnailUrl":"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2025\/03\/Evolving-Intercoms-Database-Infrastructure-Lessons-and-Progress-2-scaled.jpg","keywords":["data infrastructure","PlanetScale"],"articleSection":["Engineering"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.intercom.com\/blog\/evolving-intercoms-database-infrastructure-lessons-and-progress\/","url":"https:\/\/www.intercom.com\/blog\/evolving-intercoms-database-infrastructure-lessons-and-progress\/","name":"Evolving Intercom\u2019s database infrastructure: Lessons and progress - The Intercom Blog","isPartOf":{"@id":"https:\/\/www.intercom.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.intercom.com\/blog\/evolving-intercoms-database-infrastructure-lessons-and-progress\/#primaryimage"},"image":{"@id":"https:\/\/www.intercom.com\/blog\/evolving-intercoms-database-infrastructure-lessons-and-progress\/#primaryimage"},"thumbnailUrl":"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2025\/03\/Evolving-Intercoms-Database-Infrastructure-Lessons-and-Progress-2-scaled.jpg","datePublished":"2025-03-11T15:00:49+00:00","dateModified":"2025-03-11T15:03:30+00:00","description":"An update on the progress we've made on the overhaul of our database architecture. Find out how PlanetScale Metal has unlocked greater scalability, performance improvements, and zero-downtime maintenance.","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.intercom.com\/blog\/evolving-intercoms-database-infrastructure-lessons-and-progress\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.intercom.com\/blog\/evolving-intercoms-database-infrastructure-lessons-and-progress\/#primaryimage","url":"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2025\/03\/Evolving-Intercoms-Database-Infrastructure-Lessons-and-Progress-2-scaled.jpg","contentUrl":"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2025\/03\/Evolving-Intercoms-Database-Infrastructure-Lessons-and-Progress-2-scaled.jpg","width":2560,"height":538},{"@type":"WebSite","@id":"https:\/\/www.intercom.com\/blog\/#website","url":"https:\/\/www.intercom.com\/blog\/","name":"The Intercom Blog","description":"Articles and Podcasts on Customer Service, AI and Automation, Product, and more","publisher":{"@id":"https:\/\/www.intercom.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.intercom.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.intercom.com\/blog\/#organization","name":"The Intercom Blog","url":"https:\/\/www.intercom.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.intercom.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2019\/08\/Intercom-logo-sq-black-trans.png","contentUrl":"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2019\/08\/Intercom-logo-sq-black-trans.png","width":1000,"height":1000,"caption":"The Intercom Blog"},"image":{"@id":"https:\/\/www.intercom.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/intercominc","https:\/\/x.com\/intercom","https:\/\/www.instagram.com\/intercom\/","https:\/\/www.linkedin.com\/company\/2491343","https:\/\/www.pinterest.ie\/intercom\/","https:\/\/www.youtube.com\/channel\/UCJG0MvLP03kyzzAkD-w98aQ","https:\/\/en.wikipedia.org\/wiki\/Intercom_(company)"]},{"@type":"Person","@id":"https:\/\/www.intercom.com\/blog\/#\/schema\/person\/41825cc80d4824f33c53c88fb92ec112","name":"Ryan Sherlock","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/fe83af9d71cdbf78adfc830c2e3058e34b3b9c8260ea0a41dc70fe55fa56e5d2?s=96&d=mm&r=pgf9479b6dba8eb5653758710dcafc224c","url":"https:\/\/secure.gravatar.com\/avatar\/fe83af9d71cdbf78adfc830c2e3058e34b3b9c8260ea0a41dc70fe55fa56e5d2?s=96&d=mm&r=pg","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/fe83af9d71cdbf78adfc830c2e3058e34b3b9c8260ea0a41dc70fe55fa56e5d2?s=96&d=mm&r=pg","caption":"Ryan Sherlock"},"sameAs":["https:\/\/x.com\/ryan_sherlock"],"url":"https:\/\/www.intercom.com\/blog\/author\/ryan_sherlock\/"}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/posts\/31181","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/users\/271"}],"replies":[{"embeddable":true,"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/comments?post=31181"}],"version-history":[{"count":0,"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/posts\/31181\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/media?parent=31181"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/category?post=31181"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/tags?post=31181"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/coauthors?post=31181"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}