CUBRID - Open Source Database Management System Optimized for Web. Ranking - popularity ranking of database management systems. Scaling Pinterest - From 0 to 10s of Billions of Page Views a Month in Two Years. Pinterest has been riding an exponential growth curve, doubling every month and half.
They’ve gone from 0 to 10s of billions of page views a month in two years, from 2 founders and one engineer to over 40 engineers, from one little MySQL server to 180 Web Engines, 240 API Engines, 88 MySQL DBs (cc2.8xlarge) + 1 slave each, 110 Redis Instances, and 200 Memcache Instances. Stunning growth. So what’s Pinterest's story? To tell their story we have our bards, Pinterest’s Yashwanth Nelapati and Marty Weiner, who tell the dramatic story of Pinterest’s architecture evolution in a talk titled Scaling Pinterest.
This is the talk they would have liked to hear a year and half ago when they were scaling fast and there were a lot of options to choose from. This is a great talk. Two of my favorite lessons from the talk: Architecture is doing the right thing when growth can be handled by adding more of the same stuff. These two lessons are interrelated. Now, let’s see how Pinterest scales: Basics Solr. Confused by the glut of new databases? Here’s a map for you — Cloud Computing News.
Tagged Architecture - Scaling to 100 Million Users, 1000 Servers, and 5 Billion Page Views. This is a guest post by Johann Schleier-Smith, CTO & co-founder, Tagged.
Five snapshots on how Tagged scaled to more than 1,000 servers Since 2004, Tagged has grown from a tiny social experiment to one of the largest social networks, delivering five billion pages per month to many millions of members who visit to meet and socialize with new people. One step at a time, this evolution forced us to evolve our architecture, eventually arriving at an enormously capable platform.
V1: PHP webapp, 100k users, 15 servers, 2004 Tagged was born in the rapid-prototyping culture of an incubator that usually launched two new concepts each year in search of the big winner. Significant experience running MySQL on previous projects had left me with a love-hate relationship with the technology. Remarkably, many smaller web sites are still built just like the original Tagged. V2: Cached PHP webapp, 1m users, 20 servers, 2005 Even at eight servers Tagged had more web traffic than most of us had known.
Five Predictions for your Database in 2011 - NoSQL Hype Will Decline.
Howfuckedismydatabase.com. An Unorthodox Approach to Database Design : The Coming of the Sh. Update 4: Why you don’t want to shard. by Morgon on the MySQL Performance Blog.
Optimize everything else first, and then if performance still isn’t good enough, it’s time to take a very bitter medicine. Update 3: Building Scalable Databases: Pros and Cons of Various Database Sharding Schemes by Dare Obasanjo. Excellent discussion of why and when you would choose a sharding architecture, how to shard, and problems with sharding.Update 2: Mr. Moore gets to punt on sharding by Alan Rimm-Kaufman of 37signals. Insightful article on design tradeoffs and the evils of premature optimization. Once upon a time we scaled databases by buying ever bigger, faster, and more expensive machines. What is sharding and how has it come to be the answer to large website scaling problems? Information Sources What is sharding? While working at Auction Watch, Dathan got the idea to solve their scaling problems by creating a database server for a group of users and running those servers on cheap Linux boxes.
Transaction strategies: Understanding transaction pitfalls. The most common reason for using transactions in an application is to maintain a high degree of data integrity and consistency.
If you're unconcerned about the quality of your data, you needn't concern yourself with transactions. After all, transaction support in the Java platform can kill performance, introduce locking issues and database concurrency problems, and add complexity to your application. But developers who don't concern themselves with transactions do so at their own peril. Almost all business-related applications require a high degree of data quality. The financial investment industry alone wastes tens of billions of dollars on failed trades, with bad data being the second-leading cause (see Resources). Ignorance about transaction support is another source of problems.
Although most of this article's code examples use the Spring Framework (version 2.5), the transaction concepts are the same as for the EJB 3.0 specification. Local transaction pitfalls Listing 1.