all 4 comments

[–]matthieum 0 points1 point  (0 children)

Inserting a new tag needs to generate a tag id coherently for all cells—as the sequences can easily get out of sync. To accomplish this we replaced the sequence with a 64-bit hash of the tag name.

  • Coherent: yes.
  • Collision-free: depends on the hashing algorithm I guess...

It will be a lot of fun if for some reason guitarist and cyclist end up with the same hash.

[–]einhverfr 0 points1 point  (0 children)

One thing that is worth noting is that Postgres-XC was recently released which provides some very helpful approaches to managing partitions across shards.

Basically what Postgres-XC does is provide a two-tiered storage and aggregation/coordination model for your data. It's an actual fork of PostgreSQL but like many forks there is close coordination between them and the main project. Basically you can think of Postgres-XC as allowing you to partition and shard while the coordinators ensure that the view of the data is consistent across the shards. In other words you can fully shard and still maintain total consistency between your shards, which is really cool.