On Tue, Oct 16, 2012 at 5:54 AM, Peter Eisentraut <pete...@gmx.net> wrote: > On 10/15/12 5:33 PM, Simon Riggs wrote: >> There are a few options >> 1) Manual separation of the value space, so that N1 has 50% of >> possible values and N2 has 50%. That has problems when we reconfigure >> the cluster, and requires complex manual reallocation of values. So it >> starts good but ends badly. >> 2) Automatic separation of the value space. This could mimic the >> manual operation, so it does everything for you - but thats just >> making a bad idea automatic >> 3) Lazy allocation from the value space. When a node is close to >> running out of values, it requests a new allocation and coordinates >> with all nodes to confirm the new allocation is good. > > What would the allocation service look like? Is it another PostgreSQL > server? What's the communication protocol? How would backups work? > Crash recovery?
As a reasonable proxy to look at the first question, one may look at how twitter uses their home-grown software snowflake. https://github.com/twitter/snowflake A colleague, Blake Mizerany, wrote a smaller version called "noeqd", based on the same ideas, but he wanted something with fewer dependencies. Unless you are very Java-library-and-toolchain adept you might find this more fun to play with. https://github.com/bmizerany/noeqd -- fdr -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers