Via Keith, Flickr and PHP (PDF) by Cal Henderson. Some interesting quotes;
- Stateless method-call APIs are easy to extend
- [Unicode] It’s really easy
- Normalised data is for sissies … Keep multiple copies of data around … Makes searching faster
Would be interesting to hear more from Cal on the other side of scalability - what’s it like to maintain “~60,000 lines of PHP code”?
What makes Flickr interesting as an online application is it’s use of RSS, among other things, and how that in turn enables social networking. Although the term “social networking” is currently a buzzword, what Flickr and del.icio.us have achieved, by exposing simple, easy-to-access APIs, is it’s a great way to “embed” yourself in a user’s daily surfing and thereby hold your position. Consider the Flickr Firefox Toolbar, delicious.mozdev.org and Foxylicious…






October 27th, 2004 at 8:39 pm
This is really harmfull, Having 13 SELECTs per I/U/D is a nightmare. I believe they will start having hard time with data integrity and consistency in the long run. I can’;t imagine how they keep track of all the redundant data that needs to be all the same.
In my opinion you should balance between normalization and denormalization, But what is discussed in the presentation doesn’t sound like a proper balance. I would highly recommend to have a clean & normalised design over performance. Buy more hardware, replicate, load balance, but don’t screw your db design.
October 28th, 2004 at 12:41 pm
We manage our code base (~100,000 - 150,000 lines of PHP) using CVS. Soon it will be subversion. Granted that does include a lot of HTML also…
Seems like the redundant data issue would be more trouble.
Why does this site pop up an ad when I click anywhere? Annoying!
October 29th, 2004 at 11:59 am
It’s easy to say that you should value proper normalisation over performance, but when your site is your only public face and only source of income, the reality is that you *must* put performance first. If users can’t see the site they can’t give you their money, and you can’t gain their respect.
“Waiting. Waiting. Gone.” - A. User.
May 2nd, 2006 at 3:26 pm
Normalization plus caching is the way to go. It’s a wonder flickr continues to function.