![]() Support asking for N number of Pins in a board in a deterministic order (such as reverse creation time or user specified ordering).All Pinner generated content must be site accessible at all times.We wanted to support scaling the data store from a small set of boxes initially to many boxes as the site grows. Our overall system needed to be very stable, easy to operate and scale to the moon.To be effective, we carefully crafted our requirements. We re-architected our entire data storage model. ![]() We also had a boatload of MySQL slaves we were using for reads, which makes lots of irritating bugs, especially with caching. ![]() We had several NoSQL technologies, all of which eventually broke catastrophically. Around September 2011, every piece of our infrastructure was over capacity. ![]() By some estimates, we were growing faster than any other previous startup. People repin and like other Pins (roughly a shallow copy), follow other Pinners, boards and interests, and view a home feed of all the Pinners, boards and interests they follow. There are more than 50 billion Pins that have been saved by Pinners onto one billion boards. From a data perspective, Pinterest is the largest human curated interest graph in the world. Pinterest is a discovery engine for everything that interests you. Mood lighting, chocolate covered strawberries, Star Trek quotes… We finished launching this sharding approach in early 2012, and it’s still the system we use today to store our core data.īefore we discuss how to split the data, let’s be intimate with our data. This is a technical dive into how we split our data across many MySQL servers. Marty Weiner | Pinterest engineer, BlackOps Sharding Pinterest: How we scaled our MySQL fleet
0 Comments
Leave a Reply. |