[EMAIL PROTECTED] (Robert Hodges) writes:

> > What do you think of dropping auto-increment keys and replacing
> > them completely with UUIDs?
> > 
> > Auto-incrementing is one of the banes of horizontal scaling

> it is a 16byte INT

Makes me nervous.  I like being able to have a primary key that is
guaranteed to increase as insert-time increases [1].  I like a
primary key that doesn't print in scientific notation and
essentially forbid me from doing math with my keys.

And I like a primary key that's 4 bytes, not 16.  That's a big
space penalty to pay, considering it repeats for every referencing
column and every index.  For my app, it's more than a few gigabytes
of stuff I'd really like to keep in RAM as much as possible.  That's
not insignificant.

I'm pretty happy with the way MySQL solves key collisions for
master-master replication, which is the only horizontal scaling
issue I know of (on statement-level replication anyway).  Setting
auto_increment_increment is easy.  If the goal is to make
master-master replication more self-organizing, e.g. in a cloud,
there might be ways to do that without UUIDs.

I know why UUIDs are popular, and I'm happy to see them as an
option, but I'd be unhappy about giving up autoincrement.

[1] I know this is untrue if my app switches masters, but my app
is written not to do that without human supervision.
-- 
  Jamie McCarthy
 http://mccarthy.vg/
  [EMAIL PROTECTED]


_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help   : https://help.launchpad.net/ListHelp

Reply via email to