<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom"><title>Simon Willison's Weblog: migration</title><link href="http://simonwillison.net/" rel="alternate"/><link href="http://simonwillison.net/tags/migration.atom" rel="self"/><id>http://simonwillison.net/</id><updated>2020-05-11T19:11:47+00:00</updated><author><name>Simon Willison</name></author><entry><title>Why we at $FAMOUS_COMPANY Switched to $HYPED_TECHNOLOGY</title><link href="https://simonwillison.net/2020/May/11/why-we-famous_company-switched-hyped_technology/#atom-tag" rel="alternate"/><published>2020-05-11T19:11:47+00:00</published><updated>2020-05-11T19:11:47+00:00</updated><id>https://simonwillison.net/2020/May/11/why-we-famous_company-switched-hyped_technology/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://saagarjha.com/blog/2020/05/10/why-we-at-famous-company-switched-to-hyped-technology/"&gt;Why we at $FAMOUS_COMPANY Switched to $HYPED_TECHNOLOGY&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Beautiful piece of writing by Saagar Jha. “Ultimately, however, our decision to switch was driven by our difficulty in hiring new talent for $UNREMARKABLE_LANGUAGE, despite it being taught in dozens of universities across the United States. Our blog posts on $PRACTICAL_OPEN_SOURCE_FRAMEWORK seemed to get fewer upvotes when posted on Reddit as well, cementing our conviction that our technology stack was now legacy code.”

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="https://news.ycombinator.com/item?id=23144380"&gt;Hacker News&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/migration"&gt;migration&lt;/a&gt;&lt;/p&gt;



</summary><category term="migration"/></entry><entry><title>Migrating Messenger storage to optimize performance</title><link href="https://simonwillison.net/2018/Jun/27/migrating-messenger-storage-optimize-performance/#atom-tag" rel="alternate"/><published>2018-06-27T15:05:36+00:00</published><updated>2018-06-27T15:05:36+00:00</updated><id>https://simonwillison.net/2018/Jun/27/migrating-messenger-storage-optimize-performance/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://code.facebook.com/posts/201318390519340"&gt;Migrating Messenger storage to optimize performance&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Fascinating case-study of a truly gargantuan migration. Messenger has over a billion users, and Facebook successfully migrated its backend storage from HBase to their MyRocks database (a fork of MySQL with a storage engine built on their SSD-optimized RocksDB key/value library) without any user-visible downtime. They ended up using two migration paths: one for the 99.9% of regular accounts, and a separate path for extremely high volume accounts (businesses with very active chat bots or support systems).

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="https://news.ycombinator.com/item?id=17402241"&gt;Hacker News&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/facebook"&gt;facebook&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/migration"&gt;migration&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/mysql"&gt;mysql&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/scaling"&gt;scaling&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/zero-downtime"&gt;zero-downtime&lt;/a&gt;&lt;/p&gt;



</summary><category term="facebook"/><category term="migration"/><category term="mysql"/><category term="scaling"/><category term="zero-downtime"/></entry><entry><title>Django Evolution</title><link href="https://simonwillison.net/2007/Nov/23/evolution/#atom-tag" rel="alternate"/><published>2007-11-23T23:49:10+00:00</published><updated>2007-11-23T23:49:10+00:00</updated><id>https://simonwillison.net/2007/Nov/23/evolution/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://code.google.com/p/django-evolution/"&gt;Django Evolution&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Really smart take on the problem of updating database tables to reflect changes to Django models. Code that automatically modifies your database tables can be pretty scary, but Evolution seems to hit the right balance.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/databases"&gt;databases&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/django"&gt;django&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/djangoevolution"&gt;djangoevolution&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/migration"&gt;migration&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/orm"&gt;orm&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/schema"&gt;schema&lt;/a&gt;&lt;/p&gt;



</summary><category term="databases"/><category term="django"/><category term="djangoevolution"/><category term="migration"/><category term="orm"/><category term="schema"/></entry></feed>