Eric Frazier wrote: > > Hi, > > That kind of bothers me. But I can see how it might be better in some way > than using a time function. My idea was to use the perl Time::HiRes to make > a unique key adjusted by timezone. As long as the clocks of the two > machines are fairly in since, it should work :) I guess I could also add in > a unique machine id like time integer key + M for master or S for slave S2 > S3 etc. Does that sound insane?
Doesn't sound insane at all. We've been using something like that for the past 4 years (before auto_increment was available in mysql). Here's what we're using: sub _NextId { my $self = shift; my $pid = "0" x (5 - length($$)) . $$; $pid .= "0" x (3 - length($COUNTER)) . $COUNTER; $COUNTER = 0 if $COUNTER++ > 998; return time() . $pid; } You could use the hires time and get rid of the counter probably. > > Thanks, > > Eric > > mysql is good > > At 05:16 PM 2002-07-03 -0700, you wrote: > >to somewhata simulate auto increments, each slave (and master) could be > >periodically > >assigned a chunk of keys to use, with the stipulation that only that server > >can > >use those keys. for instance at time 0 (arbitrarily) > > > >server 1 gets: 0-999 > >server 2 gets: 1000-1999 > >server 3 gets: 2000-2999 > >etc > > > >you'll have to keep track of this info on each server, whether in a table or > >file. > >then when that chunk is used up, that client can request another chunk of > >keys. > >(you could also update those key chunks daily, weekly, etc. instead.) > > > >The size of the chunks would want to be determined by the application, > >frequency of > >communication between master & slave, and volume of records going in. > > > >I have *not* implemented such a system, but this could work, depending on > >your app. > > > >sean > > > > > >----- Original Message ----- > >From: "Eric Frazier" <[EMAIL PROTECTED]> > >To: <[EMAIL PROTECTED]> > >Sent: Wednesday, July 03, 2002 2:32 PM > >Subject: Re: AUTO_INCREMENT with Replication > > > > > > > Well. Good to know. So I guess the only alternative would be to generate > > > keys by date/time? > > > I was hoping to avoid that. I am still worried about the timestamp type > >not > > > having good enough resolution. Seconds are pretty broad. > > > > > > Thanks, > > > > > > Eric > > > > > > > > > > > > > > > >You're asking for trouble. :-) > > > > > > > >AUTO_INCREMENTS are not safe for use in a mutli-master environment. > > > >The scenario you painted will result in a primary key violation on the > > > >master when it reads the value inserted on the slave. > > > > > > > >Jeremy > > > >-- > > > >Jeremy D. Zawodny, <[EMAIL PROTECTED]> > > > >Technical Yahoo - Yahoo Finance > > > >Desk: (408) 349-7878 Fax: (408) 349-5454 Cell: (408) 685-5936 > > > > > > > >MySQL 3.23.51: up 34 days, processed 779,275,123 queries (258/sec. avg) > > > > > > > >--------------------------------------------------------------------- > > > >Before posting, please check: > > > > http://www.mysql.com/manual.php (the manual) > > > > http://lists.mysql.com/ (the list archive) > > > > > > > >To request this thread, e-mail <[EMAIL PROTECTED]> > > > >To unsubscribe, e-mail > ><[EMAIL PROTECTED]> > > > >Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php > > > > > > Leading Edge Marketing Inc. > > > 250-360-2992 > > > > > > > > > --------------------------------------------------------------------- > > > Before posting, please check: > > > http://www.mysql.com/manual.php (the manual) > > > http://lists.mysql.com/ (the list archive) > > > > > > To request this thread, e-mail <[EMAIL PROTECTED]> > > > To unsubscribe, e-mail > ><[EMAIL PROTECTED]> > > > Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php > > > > > Leading Edge Marketing Inc. > 250-360-2992 > > --------------------------------------------------------------------- > Before posting, please check: > http://www.mysql.com/manual.php (the manual) > http://lists.mysql.com/ (the list archive) > > To request this thread, e-mail <[EMAIL PROTECTED]> > To unsubscribe, e-mail <[EMAIL PROTECTED]> > Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php --------------------------------------------------------------------- Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php