SlideShare a Scribd company logo
Implementing MongoDB

MongoSF
April 2010
Kenny Gorman, Data Architect
Shutterfly Inc.

 •  Founded in December 1999
 •  Public company (NASDAQ: SFLY)
 •  Millions of customers have billions of pictures on
    Shutterfly
 •  Photo site, books, sharing, prints, gifts
 •  Only photo sharing site that doesn’t down-
    sample, compress, or force delete photos
 •  > 6B photos, adding 400TB/mo



April 30, 2010                                Business Confidential   2
Existing Metadata Storage Architecture

 •       Metadata is persisted in RDBMS
 •       Images/media stored outside DB
 •       Java/Spring, C#,.Net
 •       Oracle™ RDBMS
 •       Sun™ servers and storage
 •       Vertically partitioned by function
 •       Hot Standbys used for availability
 •       > 20tb of RDBMS storage
 •       > 10000 ex/sec
 •       Extreme uptime requirements

April 30, 2010                                Business Confidential   3
Problems

 •       Time to Market
 •       Cost
 •       Performance
 •       Scalability




April 30, 2010            Business Confidential   4
New Metadata Storage Architecture

 •  Performance
                 ! Reduce complexity
                 ! Partition data
 •  Scalability
                 ! Move to clustered system
 •  Time to Market
                 ! Simple API
 •  Cost
                 ! OSS software
                 ! Simple hardware


April 30, 2010                                Business Confidential   5
New Data Architecture Fundamentals

 •       Partition data
 •       Relax consistency (where applicable)
 •       Data locality
 •       Highly available configuration
 •       Keep design simple/fast
 •       Keep hardware simple/cheap
 •       Keep software simple/cheap




April 30, 2010                                  Business Confidential   6
MongoDB

 •       Open Source
 •       Best of RDBMS, yet not quite k,v store
 •       Features we need
 •       Commercial support
 •       Active community
 •       Performance




April 30, 2010                                    Business Confidential   7
MongoDB Development

 •       Data modeling
 •       Java, .Net
 •       Simple, fast development
 •       JSON just makes sense
 •       Data access layer
 •       GridFS




April 30, 2010                      Business Confidential   8
MongoDB in production

 •       Simple use case, simple project
 •       Primary and 2 replica DB’s, 1 ‘lagged’
 •       Manual failover
 •       Monitoring: http interface
 •       Tools: mongostat, custom rrd graphs
 •       Linux on Intel™
 •       MongoDB 1.4.2 (stable)




April 30, 2010                                    Business Confidential   9
Going Live Plan

 •  Walk before you run
 •  Shutterfly project/product selection
 •  Write through architecture

 •  




 •  Good metrics
 •  Subset of MongoDB features

April 30, 2010                             Business Confidential   10
So how did we do?

 •  Time to Market
           •  Application developed in 1 sprint
 •  Cost
           •  500% improvement
 •  Performance
           •  900% improvement
           •  18ms to 2ms avg latency for inserts
 •  Scalability
           •  Shard on demand


April 30, 2010                                      Business Confidential   11
The future

 •  More MongoDB
           •  Replication as durability (getLasterror(w=2))
           •  Replica sets
 •  Excitement from developers
    •  Lots of attribute and media metadata types
    •  Object mapper
 •  New projects and old systems
           •  Evaluate as they come up




April 30, 2010                                          Business Confidential   12
Lessons Learned

 •  Keep it simple
 •  Data Modeling
 •  Walk before you run
 •  Use Jira for MongoDB issues
 •  There is life after Larry




April 30, 2010                    Business Confidential   13
Q&A

 Questions?

 Contact:
 kg@kennygorman.com
 http://www.kennygorman.com
 http://github.com/kgorman
 http://www.shutterfly.com
 kgorman@shutterfly.com




April 30, 2010                Business Confidential   14

More Related Content

What's hot (20)

PPTX
Introduction to Hybrid Application Development
Dotitude
 
PDF
ES2015 / ES6: Basics of modern Javascript
Wojciech Dzikowski
 
PDF
Elasticsearch on Azure
Elasticsearch
 
PPTX
Implementing security and availability requirements for banking API system us...
Hitachi, Ltd. OSS Solution Center.
 
PDF
Native vs. Hybrid Apps
Visual Net Design
 
PDF
Unsafe Java
Misha Kozik
 
PDF
FIWARE Training: API Umbrella
FIWARE
 
PPT
Introduction to Android, Architecture & Components
Vijay Rastogi
 
PDF
Introduction to Node JS.pdf
Bareen Shaikh
 
PPTX
Real time data quality on Flink
Jaydeep Vishwakarma
 
PPT
Presentation of Oracle database products
Algiers Tech Meetup
 
PPT
Angular App Presentation
Elizabeth Long
 
PPT
A Deeper look into Javascript Basics
Mindfire Solutions
 
PDF
Data Warehousing Trends
Chris Riccomini
 
PDF
Android Development with Kotlin, Part 1 - Introduction
Andreas Jakl
 
PDF
Implementing Biometric Authentication & Features in iOS Apps
Jean-Luc David
 
PDF
Clean Lambdas & Streams in Java8
Victor Rentea
 
PPTX
Android Deep Linking
Ketan Raval
 
PPTX
Cryptography for Java Developers: Nakov jProfessionals (Jan 2019)
Svetlin Nakov
 
PPTX
Angular tutorial
Rohit Gupta
 
Introduction to Hybrid Application Development
Dotitude
 
ES2015 / ES6: Basics of modern Javascript
Wojciech Dzikowski
 
Elasticsearch on Azure
Elasticsearch
 
Implementing security and availability requirements for banking API system us...
Hitachi, Ltd. OSS Solution Center.
 
Native vs. Hybrid Apps
Visual Net Design
 
Unsafe Java
Misha Kozik
 
FIWARE Training: API Umbrella
FIWARE
 
Introduction to Android, Architecture & Components
Vijay Rastogi
 
Introduction to Node JS.pdf
Bareen Shaikh
 
Real time data quality on Flink
Jaydeep Vishwakarma
 
Presentation of Oracle database products
Algiers Tech Meetup
 
Angular App Presentation
Elizabeth Long
 
A Deeper look into Javascript Basics
Mindfire Solutions
 
Data Warehousing Trends
Chris Riccomini
 
Android Development with Kotlin, Part 1 - Introduction
Andreas Jakl
 
Implementing Biometric Authentication & Features in iOS Apps
Jean-Luc David
 
Clean Lambdas & Streams in Java8
Victor Rentea
 
Android Deep Linking
Ketan Raval
 
Cryptography for Java Developers: Nakov jProfessionals (Jan 2019)
Svetlin Nakov
 
Angular tutorial
Rohit Gupta
 

Similar to Implementing MongoDB at Shutterfly (Kenny Gorman) (20)

PDF
Rails with MongoDB
Eugene Park
 
PPT
Getting Started with MongoDB at Oracle Open World 2012
MongoDB
 
PPTX
Introducing MongoDB into your Organization
MongoDB
 
PDF
Ibm db2update2019 icp4 data
Gustav Lundström
 
PDF
SDL Innovate 2013 - Don't try this at home
Julian Wraith
 
PDF
How to Get Started with Your MongoDB Pilot Project
DATAVERSITY
 
PDF
Breaking the Monolith: Organizing Your Team to Embrace Microservices
Paul Osman
 
PDF
Netflix oss season 2 episode 1 - meetup Lightning talks
Ruslan Meshenberg
 
PDF
Silicon Valley Code Camp 2016 - MongoDB in production
Daniel Coupal
 
PDF
2013 CPM Conference, Nov 6th, NoSQL Capacity Planning
asya999
 
PDF
"Data Mesh in Kubernetes", Andrii Syniuk
Fwdays
 
PPTX
EDB's Migration Portal - Migrate from Oracle to Postgres
EDB
 
PPTX
Lecture 5- Data Collection and Storage.pptx
Brianc34
 
PDF
Morning with MongoDB Paris 2012 - Making Big Data Small
MongoDB
 
PPTX
Operationalizing MongoDB at AOL
radiocats
 
PPTX
MongoDC 2012: "Operationalizing" MongoDB@AOL
MongoDB
 
PDF
Session #2, tech session: Build realtime search by Sylvain Utard from Algolia
SaaS Is Beautiful
 
PPTX
In Memory Databases: A Real Time Analytics Solution
Adaryl "Bob" Wakefield, MBA
 
PPTX
Introduction to NoSQL and MongoDB
Ahmed Farag
 
PDF
BlackRay - The open Source Data Engine
fschupp
 
Rails with MongoDB
Eugene Park
 
Getting Started with MongoDB at Oracle Open World 2012
MongoDB
 
Introducing MongoDB into your Organization
MongoDB
 
Ibm db2update2019 icp4 data
Gustav Lundström
 
SDL Innovate 2013 - Don't try this at home
Julian Wraith
 
How to Get Started with Your MongoDB Pilot Project
DATAVERSITY
 
Breaking the Monolith: Organizing Your Team to Embrace Microservices
Paul Osman
 
Netflix oss season 2 episode 1 - meetup Lightning talks
Ruslan Meshenberg
 
Silicon Valley Code Camp 2016 - MongoDB in production
Daniel Coupal
 
2013 CPM Conference, Nov 6th, NoSQL Capacity Planning
asya999
 
"Data Mesh in Kubernetes", Andrii Syniuk
Fwdays
 
EDB's Migration Portal - Migrate from Oracle to Postgres
EDB
 
Lecture 5- Data Collection and Storage.pptx
Brianc34
 
Morning with MongoDB Paris 2012 - Making Big Data Small
MongoDB
 
Operationalizing MongoDB at AOL
radiocats
 
MongoDC 2012: "Operationalizing" MongoDB@AOL
MongoDB
 
Session #2, tech session: Build realtime search by Sylvain Utard from Algolia
SaaS Is Beautiful
 
In Memory Databases: A Real Time Analytics Solution
Adaryl "Bob" Wakefield, MBA
 
Introduction to NoSQL and MongoDB
Ahmed Farag
 
BlackRay - The open Source Data Engine
fschupp
 
Ad

More from MongoSF (20)

PPTX
Webinar: Typische MongoDB Anwendungsfälle (Common MongoDB Use Cases) 
MongoSF
 
PPTX
Schema design with MongoDB (Dwight Merriman)
MongoSF
 
KEY
C# Development (Sam Corder)
MongoSF
 
KEY
Flexible Event Tracking (Paul Gebheim)
MongoSF
 
KEY
Administration (Eliot Horowitz)
MongoSF
 
PDF
Ruby Development and MongoMapper (John Nunemaker)
MongoSF
 
PDF
MongoHQ (Jason McCay & Ben Wyrosdick)
MongoSF
 
KEY
Administration
MongoSF
 
KEY
Sharding with MongoDB (Eliot Horowitz)
MongoSF
 
KEY
Practical Ruby Projects (Alex Sharp)
MongoSF
 
PDF
Debugging Ruby (Aman Gupta)
MongoSF
 
PPTX
Indexing and Query Optimizer (Aaron Staple)
MongoSF
 
PPTX
MongoDB Replication (Dwight Merriman)
MongoSF
 
PDF
Zero to Mongo in 60 Hours
MongoSF
 
KEY
Building a Mongo DSL in Scala at Hot Potato (Lincoln Hochberg)
MongoSF
 
KEY
PHP Development with MongoDB (Fitz Agard)
MongoSF
 
PPT
Java Development with MongoDB (James Williams)
MongoSF
 
PPTX
Real time ecommerce analytics with MongoDB at Gilt Groupe (Michael Bryzek & M...
MongoSF
 
PPTX
From MySQL to MongoDB at Wordnik (Tony Tam)
MongoSF
 
PDF
Map/reduce, geospatial indexing, and other cool features (Kristina Chodorow)
MongoSF
 
Webinar: Typische MongoDB Anwendungsfälle (Common MongoDB Use Cases) 
MongoSF
 
Schema design with MongoDB (Dwight Merriman)
MongoSF
 
C# Development (Sam Corder)
MongoSF
 
Flexible Event Tracking (Paul Gebheim)
MongoSF
 
Administration (Eliot Horowitz)
MongoSF
 
Ruby Development and MongoMapper (John Nunemaker)
MongoSF
 
MongoHQ (Jason McCay & Ben Wyrosdick)
MongoSF
 
Administration
MongoSF
 
Sharding with MongoDB (Eliot Horowitz)
MongoSF
 
Practical Ruby Projects (Alex Sharp)
MongoSF
 
Debugging Ruby (Aman Gupta)
MongoSF
 
Indexing and Query Optimizer (Aaron Staple)
MongoSF
 
MongoDB Replication (Dwight Merriman)
MongoSF
 
Zero to Mongo in 60 Hours
MongoSF
 
Building a Mongo DSL in Scala at Hot Potato (Lincoln Hochberg)
MongoSF
 
PHP Development with MongoDB (Fitz Agard)
MongoSF
 
Java Development with MongoDB (James Williams)
MongoSF
 
Real time ecommerce analytics with MongoDB at Gilt Groupe (Michael Bryzek & M...
MongoSF
 
From MySQL to MongoDB at Wordnik (Tony Tam)
MongoSF
 
Map/reduce, geospatial indexing, and other cool features (Kristina Chodorow)
MongoSF
 
Ad

Recently uploaded (20)

PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
PPTX
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
PDF
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PDF
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
AI Agents in the Cloud: The Rise of Agentic Cloud Architecture
Lilly Gracia
 
PPTX
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
AI Agents in the Cloud: The Rise of Agentic Cloud Architecture
Lilly Gracia
 
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
How do you fast track Agentic automation use cases discovery?
DianaGray10
 

Implementing MongoDB at Shutterfly (Kenny Gorman)

  • 2. Shutterfly Inc. •  Founded in December 1999 •  Public company (NASDAQ: SFLY) •  Millions of customers have billions of pictures on Shutterfly •  Photo site, books, sharing, prints, gifts •  Only photo sharing site that doesn’t down- sample, compress, or force delete photos •  > 6B photos, adding 400TB/mo April 30, 2010 Business Confidential 2
  • 3. Existing Metadata Storage Architecture •  Metadata is persisted in RDBMS •  Images/media stored outside DB •  Java/Spring, C#,.Net •  Oracle™ RDBMS •  Sun™ servers and storage •  Vertically partitioned by function •  Hot Standbys used for availability •  > 20tb of RDBMS storage •  > 10000 ex/sec •  Extreme uptime requirements April 30, 2010 Business Confidential 3
  • 4. Problems •  Time to Market •  Cost •  Performance •  Scalability April 30, 2010 Business Confidential 4
  • 5. New Metadata Storage Architecture •  Performance ! Reduce complexity ! Partition data •  Scalability ! Move to clustered system •  Time to Market ! Simple API •  Cost ! OSS software ! Simple hardware April 30, 2010 Business Confidential 5
  • 6. New Data Architecture Fundamentals •  Partition data •  Relax consistency (where applicable) •  Data locality •  Highly available configuration •  Keep design simple/fast •  Keep hardware simple/cheap •  Keep software simple/cheap April 30, 2010 Business Confidential 6
  • 7. MongoDB •  Open Source •  Best of RDBMS, yet not quite k,v store •  Features we need •  Commercial support •  Active community •  Performance April 30, 2010 Business Confidential 7
  • 8. MongoDB Development •  Data modeling •  Java, .Net •  Simple, fast development •  JSON just makes sense •  Data access layer •  GridFS April 30, 2010 Business Confidential 8
  • 9. MongoDB in production •  Simple use case, simple project •  Primary and 2 replica DB’s, 1 ‘lagged’ •  Manual failover •  Monitoring: http interface •  Tools: mongostat, custom rrd graphs •  Linux on Intel™ •  MongoDB 1.4.2 (stable) April 30, 2010 Business Confidential 9
  • 10. Going Live Plan •  Walk before you run •  Shutterfly project/product selection •  Write through architecture •  •  Good metrics •  Subset of MongoDB features April 30, 2010 Business Confidential 10
  • 11. So how did we do? •  Time to Market •  Application developed in 1 sprint •  Cost •  500% improvement •  Performance •  900% improvement •  18ms to 2ms avg latency for inserts •  Scalability •  Shard on demand April 30, 2010 Business Confidential 11
  • 12. The future •  More MongoDB •  Replication as durability (getLasterror(w=2)) •  Replica sets •  Excitement from developers •  Lots of attribute and media metadata types •  Object mapper •  New projects and old systems •  Evaluate as they come up April 30, 2010 Business Confidential 12
  • 13. Lessons Learned •  Keep it simple •  Data Modeling •  Walk before you run •  Use Jira for MongoDB issues •  There is life after Larry April 30, 2010 Business Confidential 13
  • 14. Q&A Questions? Contact: [email protected] http://www.kennygorman.com http://github.com/kgorman http://www.shutterfly.com [email protected] April 30, 2010 Business Confidential 14