Stewart Smith wrote:
On Mon, Sep 22, 2008 at 02:36:00AM -0400, Jim Starkey wrote:
Auto increment is feasible only if the database engine runs on a single
computer. Any possible distributed database requires a full round trip
between servers to implement auto-increment, making their performance
untenable in future database systems. This isn't problem in MySQL or
Drizzle, but will be in future database systems, big time. Sequences
don't necessarily have this problem since they can be preallocated in
blocks, but auto-increment semantics make this impossible.
We pre-allocate auto increment in blocks today in ndb (per thread and
per sql node) and nobody really complains (they go 'huh' and are then
okay with it).
That's not an unreasonable approach. Nimbus does a similar thing with
sequences. But it ain't auto-increment; anyone who depends on
auto-increment and time to be co-dependent monotonically increasing
dependent behavior (i.e. works) is going to be very disappointed when
his or her basic, intuitive assumptions fail. And if he or she happens
to be a bean counter, Sorbanes Oxley hell is going to break out as it
will appear that the books have been cooked.
I suggest the following to be a sound rule for guidance: If something
can't be implemented (or implemented efficiently on future platforms),
don't do it.
Timestamps and auto-increment must sort identically or bad things will
happen. We can't live without timestamps, so auto-increment has to go.
Sorry.
_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help : https://help.launchpad.net/ListHelp