5/18/2006

Chicago PHP User Group Report

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!

3 Comments:

Blogger Martijn Gorree said...

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.

2:26 PM  
Blogger Richard Lynch said...

ChiPHPug is pronounced:
CHIFF pug
where CH is like chair

3:49 PM  
Blogger Nola said...

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

5:22 PM  

Post a Comment

Links to this post:

Create a Link

<< Home