Blog Post RSS ?

Blogs » PHP » Flickr, PHP and that word… scaling
 

Flickr, PHP and that word… scaling

by Harry Fuecks

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

This post has 4 responses so far

  1. Normalised data is for sissies … Keep multiple copies of data around … Makes searching faster

    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.

     
  2. 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!

     
  3. 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.

     
  4. Normalization plus caching is the way to go. It’s a wonder flickr continues to function.

     

Sponsored Links

Leave a response

You are not logged in, log in with your SitePoint Forum username and password.

-OR- Post Anonymously

* Make sure any code samples are escaped (i.e. ‘<b>’ becomes ‘&lt;b&gt;’).

If not logged in, your comments will be placed in a moderation queue. This means your comment may not appear until one of our moderators approves it.

SitePoint Marketplace

Buy and sell Websites, templates, domain names, hosting, graphics and more.