<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom"><title>Simon Willison's Weblog: masterslave</title><link href="http://simonwillison.net/" rel="alternate"/><link href="http://simonwillison.net/tags/masterslave.atom" rel="self"/><id>http://simonwillison.net/</id><updated>2009-12-23T09:57:34+00:00</updated><author><name>Simon Willison</name></author><entry><title>PostgreSQL 8.5alpha3 now available</title><link href="https://simonwillison.net/2009/Dec/23/postgresql/#atom-tag" rel="alternate"/><published>2009-12-23T09:57:34+00:00</published><updated>2009-12-23T09:57:34+00:00</updated><id>https://simonwillison.net/2009/Dec/23/postgresql/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.postgresql.org/about/news.1172"&gt;PostgreSQL 8.5alpha3 now available&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
“Hot Standby, allowing read-only connections during recovery, provides a built-in master-slave replication solution.” Woohoo!


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/hotstandby"&gt;hotstandby&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/masterslave"&gt;masterslave&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/postgresql"&gt;postgresql&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/replication"&gt;replication&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/scaling"&gt;scaling&lt;/a&gt;&lt;/p&gt;



</summary><category term="hotstandby"/><category term="masterslave"/><category term="postgresql"/><category term="replication"/><category term="scaling"/></entry><entry><title>Londiste Tutorial</title><link href="https://simonwillison.net/2009/Sep/9/londiste/#atom-tag" rel="alternate"/><published>2009-09-09T23:06:33+00:00</published><updated>2009-09-09T23:06:33+00:00</updated><id>https://simonwillison.net/2009/Sep/9/londiste/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://wiki.postgresql.org/wiki/Londiste_Tutorial"&gt;Londiste Tutorial&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Master/slave replication for PostgreSQL, developed and used by Skype.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/londiste"&gt;londiste&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/masterslave"&gt;masterslave&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/postgresql"&gt;postgresql&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/replication"&gt;replication&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/skype"&gt;skype&lt;/a&gt;&lt;/p&gt;



</summary><category term="londiste"/><category term="masterslave"/><category term="postgresql"/><category term="replication"/><category term="skype"/></entry><entry><title>redis</title><link href="https://simonwillison.net/2009/Mar/15/redis/#atom-tag" rel="alternate"/><published>2009-03-15T13:32:39+00:00</published><updated>2009-03-15T13:32:39+00:00</updated><id>https://simonwillison.net/2009/Mar/15/redis/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://code.google.com/p/redis/"&gt;redis&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
An in-memory scalable key/value store but with an important difference: this one lets you perform list and set operations against keys, opening up a whole new set of possibilities for application development. It’s very young but already supports persistence to disk and master-slave replication.

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="http://antirez.com/post/Redis-my-new-open-source-project.html"&gt;Salvatore Sanfilippo&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/keyvaluepairs"&gt;keyvaluepairs&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/masterslave"&gt;masterslave&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/redis"&gt;redis&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/replication"&gt;replication&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/salvatore-sanfilippo"&gt;salvatore-sanfilippo&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/scaling"&gt;scaling&lt;/a&gt;&lt;/p&gt;



</summary><category term="keyvaluepairs"/><category term="masterslave"/><category term="redis"/><category term="replication"/><category term="salvatore-sanfilippo"/><category term="scaling"/></entry><entry><title>Minimal nginx conf to split get/post requests</title><link href="https://simonwillison.net/2008/Oct/14/django/#atom-tag" rel="alternate"/><published>2008-10-14T16:33:38+00:00</published><updated>2008-10-14T16:33:38+00:00</updated><id>https://simonwillison.net/2008/Oct/14/django/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.djangosnippets.org/snippets/1141/"&gt;Minimal nginx conf to split get/post requests&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Interesting idea for master-slave replication balancing where GET v.s. POST is load-balanced by nginx, presumably to different backend servers that are configured to talk to either a slave or a master. This won’t deal very will with replication lag though—you really want a user’s session to be bound to the master server for the next few GET requests after data is modified to ensure they see the effects of their updates. UPDATE: Amit fixed my complaint with a neat hack based around a cookie with a max age of 10 seconds.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/load-balancing"&gt;load-balancing&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/masterslave"&gt;masterslave&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/mysql"&gt;mysql&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/nginx"&gt;nginx&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/replication"&gt;replication&lt;/a&gt;&lt;/p&gt;



</summary><category term="load-balancing"/><category term="masterslave"/><category term="mysql"/><category term="nginx"/><category term="replication"/></entry><entry><title>mysql_cluster</title><link href="https://simonwillison.net/2008/Mar/21/mysqlcluster/#atom-tag" rel="alternate"/><published>2008-03-21T08:45:57+00:00</published><updated>2008-03-21T08:45:57+00:00</updated><id>https://simonwillison.net/2008/Mar/21/mysqlcluster/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://softwaremaniacs.org/soft/mysql_cluster/"&gt;mysql_cluster&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
My Russian isn’t all that good, but this looks like a neat way of getting Django to talk to a master/slave setup, written by Ivan Sagalaev. UPDATE: English docs are linked from the comments.

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="http://antoniocangiano.com/2008/03/20/djangos-tipping-point/#comment-2765"&gt;A comment on &amp;quot;Django&amp;#x27;s tipping point&amp;quot;&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/django"&gt;django&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ivansagalaev"&gt;ivansagalaev&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/masterslave"&gt;masterslave&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/mysql"&gt;mysql&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/mysqlcluster"&gt;mysqlcluster&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/orm"&gt;orm&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/python"&gt;python&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/replication"&gt;replication&lt;/a&gt;&lt;/p&gt;



</summary><category term="django"/><category term="ivansagalaev"/><category term="masterslave"/><category term="mysql"/><category term="mysqlcluster"/><category term="orm"/><category term="python"/><category term="replication"/></entry><entry><title>Semi-synchronous replication for MySQL</title><link href="https://simonwillison.net/2007/Jun/5/mysql/#atom-tag" rel="alternate"/><published>2007-06-05T22:07:23+00:00</published><updated>2007-06-05T22:07:23+00:00</updated><id>https://simonwillison.net/2007/Jun/5/mysql/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://code.google.com/p/google-mysql-tools/wiki/SemiSyncReplicationDesign"&gt;Semi-synchronous replication for MySQL&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Google’s patch for MySQL which enables more reliable master-slave replication (a transaction isn’t committed until at least one slave has replicated the data).

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="http://www.myelin.co.nz/post/2007/6/5/#200706052"&gt;Phillip Pearson&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/google"&gt;google&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/masterslave"&gt;masterslave&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/mysql"&gt;mysql&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/open-source"&gt;open-source&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/philippearson"&gt;philippearson&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/replication"&gt;replication&lt;/a&gt;&lt;/p&gt;



</summary><category term="google"/><category term="masterslave"/><category term="mysql"/><category term="open-source"/><category term="philippearson"/><category term="replication"/></entry></feed>