Hello my name is Makayla and my addiction is Pinterest. I spend all of my free time searching anything you can possibly imagine and pin things that I’ll probably never refer too. Now that I have admitted to my addiction, I can begin to control it.
Today as I scrolled through my favorite boards, I began to wonder how the database is structured behind this highly addictive machine and how it handles the growing number of addicts such as myself. I did a quick search and several article came up. “Scaling Pinterest and adventures in database sharding” seem to describe in clear enough detail for me.
The article explained that Pinterest engineers had to keep the database infrastructure simple if it wanted to scale it as the site took off. When it began in 2010 It was running on MySQL database and using many tools such as Memcached. What they learned as they began to grow is that method over complicated things and it was best to focus on a few key tools that benefited the site as a whole.
The article also discussed how the makers were big fans of sharding. Unsure of what that meant, I went straight for wikipedia. Sharding is where rows of databese tables are held separately rather then split by columns. This technique is perfect for Pinterest because for applications that have loads of data it helps minimize response times for queries and it’s not necessary to have one big server. This all helps ensure that all the pinners out there can safely and quickly pin their faves with worries of crashes and missing data.