Re: Global Sequences - Mailing list pgsql-hackers

From Daniel Farina
Subject Re: Global Sequences
Date
Msg-id CAAZKuFbB6d3srY8U9Xy=hj5-GsB7iZXtVVfDA+pomYrJMgr1TQ@mail.gmail.com
Whole thread Raw
In response to Re: Global Sequences  (Peter Eisentraut <peter_e@gmx.net>)
List pgsql-hackers
On Tue, Oct 16, 2012 at 5:54 AM, Peter Eisentraut <peter_e@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



pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Fix for log_line_prefix and session display
Next
From: Simon Riggs
Date:
Subject: Re: Global Sequences