Flickr, PHP and that word… scaling Harry Fuecks Published October 26, 2004 Tweet Subscribe Via Keith, Flickr and PHP (PDF) by Cal Henderson. Some interesting quotes; – Stateless method-call APIs are easy to extend – [Unicode] It Harry Fuecks You might also like: PHP 18 Critical Oversights in Web Development by George Fekete Sep 12, 2014 Learnable Book: Jump Start Bootstrap by Syed Fazle Rahman PREMIUM PHP How To Make Microsoft Word Documents with PHP by Taylor Ren Aug 02, 2014 Get your free chapter of Level Up Your Web Apps with Go Get a free chapter of Level Up Your Web Apps with Go, plus updates and exclusive offers from SitePoint. Yes please! http://gnuix.com/ammar ammar_ibrahim 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. gabe 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! Derek Martin 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. Anonymous Normalization plus caching is the way to go. It’s a wonder flickr continues to function.