Thu 18 May 2006
Chicago PHP User Group Report
Posted by nola under PHP
Well last night a another good turn out at the Chicago PHP User’s Group meeting (We don’t yet have a short, cute name like chirb or chipy, besides.. how would one pronouce “chiphp” … ch-PUH-ph or just ch-PUH ?) … we had about 17 people show up.
Jason Rexilius gave a presentation on “Elements of a globally distributed HA cluster” .. Although I hope to never have the responsiblity of such a system, it was interesting to me as a developer to see some ideas on how such a system could work.
I asked about this…
Say a company has 9 smaller offices and 1 main office. You have a database web application. You want to make sure that if the main office goes down, the individual offices can still access this application. One theory is to have all databased reads come from the local copy of the database and all writes go to the main office database. Then perodically the main office database will update all the smaller office databases.
Jason suggested that the local office could write to its own database and also write to the main database if connection is available.
But for database keys… I’d have to have one master way to make sure each record created some where has a unique key. I guess one way is to have a master sequence table on the master server, and to save .. the office database would have to get the ID. If no connection was available…then.. I suppose it would have to go into a log until such a time the master database was available. Interesting discussion ….
Anyways…after the presentation Larry attempted to fix my borked install of Kubutu, but I guess a reinstall is in order. Since I missed my 9:20 train by about 20 mins, Rich, the group leader drove me back to the loop and we got coffee/ice cream at Dunkin Donuts and talked for a bit till I could catch my train.
Fun times ..
Checkout BarcampChicago that Jason is organizing!

May 18th, 2006 at 2:26 pm
In case of the:
“But for database keys… I’d have to have one master way to make sure each record created some where has a unique key. I guess one way is to have a master sequence table on the master server, and to save .. ”
You might want to read http://www.onlamp.com/pub/a/onlamp/2006/04/20/advanced-mysql-replication.html
MySQL 5.ish has a solution.
May 18th, 2006 at 3:49 pm
ChiPHPug is pronounced:
CHIFF pug
where CH is like chair
May 18th, 2006 at 5:22 pm
Peter says:
———-
I can’t post a comment to your blog because I don’t have a blogspot
account, so:
I’ve heard ChiPHPug pronounced “chif-pug” and “shy-pug”, those are both
pretty cuite.
The standard way to deal with keying distributed databases is to divide
up the keyspace with stepping. So servers A, B, and C will generate keys
(1, 4, 7), (2, 5, 8), and (3, 6, 9). Alternately you could just add a
column named ’server’ and stick an id in there, though that forces your
application code to know about the different servers.
- –
Peter Harkins - http://push.cx