Jim Starkey wrote:
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.
Is there any clustered database that guarantees that timestamps are
assigned in synchronicity on multiple servers???
Roy
_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help : https://help.launchpad.net/ListHelp