{"id":2805,"date":"2016-09-09T02:00:03","date_gmt":"2016-09-09T09:00:03","guid":{"rendered":"http:\/\/softwareengineeringdaily.com\/?p=2805"},"modified":"2021-11-05T03:02:27","modified_gmt":"2021-11-05T10:02:27","slug":"ubers-postgres-problems-with-evan-klitzke","status":"publish","type":"post","link":"https:\/\/softwareengineeringdaily.com\/2016\/09\/09\/ubers-postgres-problems-with-evan-klitzke\/","title":{"rendered":"Uber&#8217;s Postgres Problems with Evan Klitzke"},"content":{"rendered":"<p><img data-attachment-id=\"2475\" data-permalink=\"https:\/\/softwareengineeringdaily.com\/2016\/04\/19\/googles-container-management-brendan-burns\/brendan-burns\/\" data-orig-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2016\/04\/brendan-burns.jpg?fit=175%2C175&amp;ssl=1\" data-orig-size=\"175,175\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"brendan-burns\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2016\/04\/brendan-burns.jpg?fit=175%2C175&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2016\/04\/brendan-burns.jpg?fit=175%2C175&amp;ssl=1\" decoding=\"async\" loading=\"lazy\" class=\"alignright size-full wp-image-2475\" style=\"border-radius: 50%; border: 1px solid #000000; max-width: 175px; max-height: 175px;\" src=\"https:\/\/lh3.googleusercontent.com\/aMoTzec746RIY9GFOKMjipqBShsKos_KxeDtS59tRp4-ePCpGqW2bS-ySyUEL6q3gkA=w300\" width=\"175\" height=\"175\" \/><\/p>\n<p><span style=\"font-weight: 400;\">When a company switches the relational database it uses, you wouldn\u2019t expect the news of the switch to go viral. Most engineers are not interested in the subtle differences between MySQL and Postgres, right? <\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Uber recently switched from having Postgres as its main relational database to using MySQL. Evan Klitzke wrote a detailed blog post about the migration, and post got very popular for at least three reasons:<\/span><\/p>\n<p>&nbsp;<\/p>\n<ol>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Evan is a great writer and describes complicated distributed database concepts in simple terms<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Uber is an interesting company with high quality engineers. When Uber takes on a task that will require lots of work&#8211;like changing its default relational database&#8211;people pay attention<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">MySQL vs. Postgres sounds like the type of divisive topic that is worth getting emotional about for the same reason that people get tribalistic about React vs. Angular, Kubernetes vs. Mesos, and so on<\/span><\/li>\n<\/ol>\n<p><span style=\"font-weight: 400;\">If you are even slightly interested in distributed systems or databases, I recommend reading Evan\u2019s blog post in detail.<br \/>\n<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>When a company switches the relational database it uses, you wouldn\u2019t expect the news of the switch to go viral. Most engineers are not interested in the subtle differences between MySQL and Postgres, right? &nbsp; Uber recently switched from having Postgres as its main relational database to using MySQL. Evan Klitzke wrote a detailed blog<\/p>\n","protected":false},"author":1,"featured_media":2810,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_newsletter_tier_id":0,"footnotes":"","jetpack_publicize_message":"[podcast] Uber's Postgres Problems with Evan Klitzke @ubereng #postgres #SQL @mysql","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[1363,1081,1069,14],"tags":[81,38,502,40],"jetpack_publicize_connections":[],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Uber&#039;s Postgres Problems with Evan Klitzke - Software Engineering Daily<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/softwareengineeringdaily.com\/2016\/09\/09\/ubers-postgres-problems-with-evan-klitzke\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Uber&#039;s Postgres Problems with Evan Klitzke - Software Engineering Daily\" \/>\n<meta property=\"og:description\" content=\"When a company switches the relational database it uses, you wouldn\u2019t expect the news of the switch to go viral. Most engineers are not interested in the subtle differences between MySQL and Postgres, right? &nbsp; Uber recently switched from having Postgres as its main relational database to using MySQL. Evan Klitzke wrote a detailed blog\" \/>\n<meta property=\"og:url\" content=\"http:\/\/softwareengineeringdaily.com\/2016\/09\/09\/ubers-postgres-problems-with-evan-klitzke\/\" \/>\n<meta property=\"og:site_name\" content=\"Software Engineering Daily\" \/>\n<meta property=\"article:published_time\" content=\"2016-09-09T09:00:03+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-11-05T10:02:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2016\/09\/uberpostgres.png?fit=1024%2C487\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"487\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Jeff\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@software_daily\" \/>\n<meta name=\"twitter:site\" content=\"@software_daily\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jeff\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"http:\/\/softwareengineeringdaily.com\/2016\/09\/09\/ubers-postgres-problems-with-evan-klitzke\/#article\",\"isPartOf\":{\"@id\":\"http:\/\/softwareengineeringdaily.com\/2016\/09\/09\/ubers-postgres-problems-with-evan-klitzke\/\"},\"author\":{\"name\":\"Jeff\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/6365c4c1ff0b8cf742afe4279ddcc5bd\"},\"headline\":\"Uber&#8217;s Postgres Problems with Evan Klitzke\",\"datePublished\":\"2016-09-09T09:00:03+00:00\",\"dateModified\":\"2021-11-05T10:02:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"http:\/\/softwareengineeringdaily.com\/2016\/09\/09\/ubers-postgres-problems-with-evan-klitzke\/\"},\"wordCount\":174,\"publisher\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/#organization\"},\"keywords\":[\"Distributed Systems\",\"MySQL\",\"Postgres\",\"Uber\"],\"articleSection\":[\"All Content\",\"Data\",\"Greatest Hits\",\"Podcast\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"http:\/\/softwareengineeringdaily.com\/2016\/09\/09\/ubers-postgres-problems-with-evan-klitzke\/\",\"url\":\"http:\/\/softwareengineeringdaily.com\/2016\/09\/09\/ubers-postgres-problems-with-evan-klitzke\/\",\"name\":\"Uber's Postgres Problems with Evan Klitzke - Software Engineering Daily\",\"isPartOf\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/#website\"},\"datePublished\":\"2016-09-09T09:00:03+00:00\",\"dateModified\":\"2021-11-05T10:02:27+00:00\",\"breadcrumb\":{\"@id\":\"http:\/\/softwareengineeringdaily.com\/2016\/09\/09\/ubers-postgres-problems-with-evan-klitzke\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/softwareengineeringdaily.com\/2016\/09\/09\/ubers-postgres-problems-with-evan-klitzke\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\/\/softwareengineeringdaily.com\/2016\/09\/09\/ubers-postgres-problems-with-evan-klitzke\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/softwareengineeringdaily.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Uber&#8217;s Postgres Problems with Evan Klitzke\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#website\",\"url\":\"https:\/\/softwareengineeringdaily.com\/\",\"name\":\"Software Engineering Daily\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/softwareengineeringdaily.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#organization\",\"name\":\"Software Engineering Daily\",\"url\":\"https:\/\/softwareengineeringdaily.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2022\/01\/cropped-logo-new.png?fit=296%2C139&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2022\/01\/cropped-logo-new.png?fit=296%2C139&ssl=1\",\"width\":296,\"height\":139,\"caption\":\"Software Engineering Daily\"},\"image\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/twitter.com\/software_daily\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/6365c4c1ff0b8cf742afe4279ddcc5bd\",\"name\":\"Jeff\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/69ae5c01bd43f01c2564f8f85218a6b6?s=96&d=retro&r=pg\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/69ae5c01bd43f01c2564f8f85218a6b6?s=96&d=retro&r=pg\",\"caption\":\"Jeff\"},\"url\":\"https:\/\/softwareengineeringdaily.com\/author\/jeff\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Uber's Postgres Problems with Evan Klitzke - Software Engineering Daily","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":"http:\/\/softwareengineeringdaily.com\/2016\/09\/09\/ubers-postgres-problems-with-evan-klitzke\/","og_locale":"en_US","og_type":"article","og_title":"Uber's Postgres Problems with Evan Klitzke - Software Engineering Daily","og_description":"When a company switches the relational database it uses, you wouldn\u2019t expect the news of the switch to go viral. Most engineers are not interested in the subtle differences between MySQL and Postgres, right? &nbsp; Uber recently switched from having Postgres as its main relational database to using MySQL. Evan Klitzke wrote a detailed blog","og_url":"http:\/\/softwareengineeringdaily.com\/2016\/09\/09\/ubers-postgres-problems-with-evan-klitzke\/","og_site_name":"Software Engineering Daily","article_published_time":"2016-09-09T09:00:03+00:00","article_modified_time":"2021-11-05T10:02:27+00:00","og_image":[{"width":1024,"height":487,"url":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2016\/09\/uberpostgres.png?fit=1024%2C487","type":"image\/png"}],"author":"Jeff","twitter_card":"summary_large_image","twitter_creator":"@software_daily","twitter_site":"@software_daily","twitter_misc":{"Written by":"Jeff","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"http:\/\/softwareengineeringdaily.com\/2016\/09\/09\/ubers-postgres-problems-with-evan-klitzke\/#article","isPartOf":{"@id":"http:\/\/softwareengineeringdaily.com\/2016\/09\/09\/ubers-postgres-problems-with-evan-klitzke\/"},"author":{"name":"Jeff","@id":"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/6365c4c1ff0b8cf742afe4279ddcc5bd"},"headline":"Uber&#8217;s Postgres Problems with Evan Klitzke","datePublished":"2016-09-09T09:00:03+00:00","dateModified":"2021-11-05T10:02:27+00:00","mainEntityOfPage":{"@id":"http:\/\/softwareengineeringdaily.com\/2016\/09\/09\/ubers-postgres-problems-with-evan-klitzke\/"},"wordCount":174,"publisher":{"@id":"https:\/\/softwareengineeringdaily.com\/#organization"},"keywords":["Distributed Systems","MySQL","Postgres","Uber"],"articleSection":["All Content","Data","Greatest Hits","Podcast"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"http:\/\/softwareengineeringdaily.com\/2016\/09\/09\/ubers-postgres-problems-with-evan-klitzke\/","url":"http:\/\/softwareengineeringdaily.com\/2016\/09\/09\/ubers-postgres-problems-with-evan-klitzke\/","name":"Uber's Postgres Problems with Evan Klitzke - Software Engineering Daily","isPartOf":{"@id":"https:\/\/softwareengineeringdaily.com\/#website"},"datePublished":"2016-09-09T09:00:03+00:00","dateModified":"2021-11-05T10:02:27+00:00","breadcrumb":{"@id":"http:\/\/softwareengineeringdaily.com\/2016\/09\/09\/ubers-postgres-problems-with-evan-klitzke\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["http:\/\/softwareengineeringdaily.com\/2016\/09\/09\/ubers-postgres-problems-with-evan-klitzke\/"]}]},{"@type":"BreadcrumbList","@id":"http:\/\/softwareengineeringdaily.com\/2016\/09\/09\/ubers-postgres-problems-with-evan-klitzke\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/softwareengineeringdaily.com\/"},{"@type":"ListItem","position":2,"name":"Uber&#8217;s Postgres Problems with Evan Klitzke"}]},{"@type":"WebSite","@id":"https:\/\/softwareengineeringdaily.com\/#website","url":"https:\/\/softwareengineeringdaily.com\/","name":"Software Engineering Daily","description":"","publisher":{"@id":"https:\/\/softwareengineeringdaily.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/softwareengineeringdaily.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/softwareengineeringdaily.com\/#organization","name":"Software Engineering Daily","url":"https:\/\/softwareengineeringdaily.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/softwareengineeringdaily.com\/#\/schema\/logo\/image\/","url":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2022\/01\/cropped-logo-new.png?fit=296%2C139&ssl=1","contentUrl":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2022\/01\/cropped-logo-new.png?fit=296%2C139&ssl=1","width":296,"height":139,"caption":"Software Engineering Daily"},"image":{"@id":"https:\/\/softwareengineeringdaily.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/twitter.com\/software_daily"]},{"@type":"Person","@id":"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/6365c4c1ff0b8cf742afe4279ddcc5bd","name":"Jeff","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/69ae5c01bd43f01c2564f8f85218a6b6?s=96&d=retro&r=pg","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/69ae5c01bd43f01c2564f8f85218a6b6?s=96&d=retro&r=pg","caption":"Jeff"},"url":"https:\/\/softwareengineeringdaily.com\/author\/jeff\/"}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2016\/09\/uberpostgres.png?fit=1024%2C487&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/p7GuoD-Jf","_links":{"self":[{"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/posts\/2805"}],"collection":[{"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/comments?post=2805"}],"version-history":[{"count":0,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/posts\/2805\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/media\/2810"}],"wp:attachment":[{"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/media?parent=2805"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/categories?post=2805"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/tags?post=2805"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}