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

Reply via email to