Shutterfly
Shutterfly, a leading Internet-based social expression and personal publishing service, safeguards more than six billion images for millions of customers. The company’s premium online photo service and products enable consumers to share memories, in the form of photos and videos, and turn everyday pictures into creative keepsakes, such as photo books and personalized websites.
As the only photo sharing site that does not down-sample, compress, or force delete photos, Shutterfly faced massive data growth that pushed the performance limits of its existing Oracle database. After an extensive analysis of open source relational and non-relational alternatives, Shutterfly chose MongoDB as its persistent data store. MongoDB delivers high performance, scalability and fast time to market – a trifecta that helps Shutterfly deliver unrivaled service to customers.
The Problem
Shutterfly stored more than 20 TB of photo metadata in an Oracle RDBMS, vertically partitioning the data by function (e.g. users, photos, etc.). Shutterfly’s infrastructure was complex, with a home-grown key value store on top of their Oracle database. After a decade of development, the codebase for this hybrid store became hard to manage. Developing new features on top of an old, organically grown custom data store proved difficult to do correctly or swiftly. These challenges, coupled with high licensing and hardware costs, drove the Shutterfly team to look at open source options that would also provide improved performance and a simpler API.
Why MongoDB
Increased time to market and reduced complexity
In looking for a new storage solution, Shutterfly wanted a data model that matched common uses cases. MongoDB's document-oriented data model eases Shutterfly application development. The rich JSON-based data structure is easy for the Shutterfly development team to use, reduces time to market for new features, and can be leveraged for many different projects.
Performance
Leaving behind complex legacy code simplified the Shutterfly architecture. Leveraging the more natural data model that MongoDB provides, Shutterfly saw significant performance improvements. Their migration to MongoDB eventually resulted in a 900% performance improvement when compared to their previous Oracle implementation.
Availability
Like many web companies, Shutterfly has extremely high uptime requirements, which they meet using MongoDB’s replica sets. Replica sets enable high availability through automatic failover of nodes and automatic recovery of member nodes. Using auto-sharding, MongoDB automatically distributes writes to balance load. This enables Shutterfly to easily add more nodes without downtime as their data continues to grow.
Cost
To maintain their previous system required expensive software licenses and costly hardware. In looking for a replacement, Shutterfly needed an open source solution that would enable them to scale horizontally across commodity hardware. MongoDB fit this bill perfectly, and Shutterfly realized a 500% reduction in cost moving from Oracle to MongoDB.
Results
MongoDB provided Shutterfly with an agile, high performance, scalable solution at a lower cost than their previous Oracle-based architecture.
See Also
Industry: Consumer Web
Location: Redwood City, CA
Why MongoDB
- Offers rapid development and time to market with document-oriented data model
- Enables persistent data storage for more than 20TB data
- 500% cost reduction and 900% performance improvement compared to previous Oracle implementation












