SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Y NoSQL
Jim Van Fleet                @bigfleet

Jan 2010        http://jimvanfleet.com/
Congratulations




✤   You just landed a really sweet gig.




Y NoSQL                                   http://jimvanfleet.com/
Congratulations

✤   You’re doing a baseball app

✤   Twitter and OAuth, so no authentication worries

✤   They only have the MLBPA on board, so no team names or logos

✤   Free mobile apps focusing on great design, where you have help

✤   Twitter DM’s for the premium package



Y NoSQL                                               http://jimvanfleet.com/
Feeling Good?




Y NoSQL         http://jimvanfleet.com/
Feeling Good?
Where’s my cocktail?
Not So Fast, My Friend

✤   Your boss comes in one day, he’s ecstatic

✤   You got the MLB license!

✤   You’re going to allow fans to follow a team, or particular games.

✤   They also signed a contract with some marketers, the target is 100k
    users




Y NoSQL                                               http://jimvanfleet.com/
This isn’t so bad...




Y NoSQL                http://jimvanfleet.com/
This isn’t so bad...




Y NoSQL                http://jimvanfleet.com/
This isn’t so bad...




Y NoSQL                http://jimvanfleet.com/
One more thing...

✤   Things are looking great! But...

✤   We want our user’s notifications on their user page

✤   We got a bug report, users are getting some notifications twice




Y NoSQL                                              http://jimvanfleet.com/
Why is that?




Y NoSQL        http://jimvanfleet.com/
One more thing...




Y NoSQL             http://jimvanfleet.com/
... you’re screwed.




Y NoSQL               http://jimvanfleet.com/
... you’re screwed.




Y NoSQL               http://jimvanfleet.com/
Math time

✤   100k user target

✤   Some teams will be more popular than others

✤   Red Sox in ’09: ~ 6050 events over 162 games

✤   Roughly 80 a game

✤   If 20k users follow the Red Sox, you have 160k notifications per game

✤   ... and that’s just when they’re at bat!

Y NoSQL                                             http://jimvanfleet.com/
The math gets worse

✤   You’ll come to hate good pitchers.

✤   They’re owned universally, so the top 30 will all be 10% owned

✤   In 2009, Josh Beckett generated 28 events in an average trip to the
    mound

✤   At 10k users, that’s 280k for one game.

✤   Good pitchers usually pitch against each other


Y NoSQL                                               http://jimvanfleet.com/
So what now?

✤   Let’s take a document-based approach to the modeling the problem

✤   For this particular example, we’ll use MongoDB.

✤   The mantra I heard: “Focus on what you want to show”

✤   Schemaless or relational: row scans are what kill you




Y NoSQL                                               http://jimvanfleet.com/
Picking up the pieces




Y NoSQL                 http://jimvanfleet.com/
Picking up the pieces




Y NoSQL                 http://jimvanfleet.com/
How does that help?

✤   200k plays in an entire season.

✤   MongoDB has indexes, maintaining all query richness and staying
    fast.

✤   Linear user growth is a non-issue

✤   Single-item popularity is similarly a non-issue




Y NoSQL                                               http://jimvanfleet.com/
Postlude (NO LOLLIPOPS)

✤   There’s a popular conception that NoSQL is about everything and a
    pony.

✤   It’s bleeding edge

✤   Talk about this decision with your ops team or your host




Y NoSQL                                              http://jimvanfleet.com/
To Learn More...

✤   Ben Scofield’s overview of the field:
    http://www.slideshare.net/bscofield/nosql-death-to-relational-
    databases

✤   One-stop shop for NoSQL overview:
    http://www.vineetgupta.com/2010/01/nosql-databases-part-1-
    landscape.html




Y NoSQL                                           http://jimvanfleet.com/

Weitere ähnliche Inhalte

Andere mochten auch

Программа поддержки экспорта инновационной и высокотехнологичной продукции, р...
Программа поддержки экспорта инновационной и высокотехнологичной продукции, р...Программа поддержки экспорта инновационной и высокотехнологичной продукции, р...
Программа поддержки экспорта инновационной и высокотехнологичной продукции, р...Ingria. Technopark St. Petersburg
 
Akademi Klasik Türk Müziği Korosu 2016 Ocak 18 Konseri resimleri
Akademi Klasik Türk Müziği Korosu 2016 Ocak 18 Konseri resimleriAkademi Klasik Türk Müziği Korosu 2016 Ocak 18 Konseri resimleri
Akademi Klasik Türk Müziği Korosu 2016 Ocak 18 Konseri resimleriaokutur
 
10 способов сделать подпись к иллюстрации
10 способов сделать подпись к иллюстрации10 способов сделать подпись к иллюстрации
10 способов сделать подпись к иллюстрацииVadim Zhartun
 
Mbc Consulting Group
Mbc Consulting GroupMbc Consulting Group
Mbc Consulting GroupKevin Cook
 
10.Local Database & LINQ
10.Local Database & LINQ10.Local Database & LINQ
10.Local Database & LINQNguyen Tuan
 
Contratacion
ContratacionContratacion
Contratacion250k
 
Cloud and the Future of Networked Systems
Cloud and the Future of Networked SystemsCloud and the Future of Networked Systems
Cloud and the Future of Networked SystemsJames Urquhart
 
Defining Terms Of The Lymphatic & Immune System
Defining Terms Of The Lymphatic & Immune SystemDefining Terms Of The Lymphatic & Immune System
Defining Terms Of The Lymphatic & Immune Systemguestff1b67
 
Unit 8c Taxation strategies
Unit 8c Taxation strategiesUnit 8c Taxation strategies
Unit 8c Taxation strategiesAndrew Hingston
 
Serap Mutlu Akbulut Korosu 1 Mart 2016 Konser Resimleri
Serap Mutlu Akbulut Korosu 1 Mart 2016 Konser ResimleriSerap Mutlu Akbulut Korosu 1 Mart 2016 Konser Resimleri
Serap Mutlu Akbulut Korosu 1 Mart 2016 Konser Resimleriaokutur
 
Трансфер технологий в вузах_глобализация академических инноваций, Т. Поспелова
Трансфер технологий в вузах_глобализация академических инноваций, Т. Поспелова Трансфер технологий в вузах_глобализация академических инноваций, Т. Поспелова
Трансфер технологий в вузах_глобализация академических инноваций, Т. Поспелова Ingria. Technopark St. Petersburg
 
Как запустить рекламную кампанию?
Как запустить рекламную кампанию?Как запустить рекламную кампанию?
Как запустить рекламную кампанию?Ingria. Technopark St. Petersburg
 
Развитие инновационных экосистем_компендиум
Развитие инновационных экосистем_компендиумРазвитие инновационных экосистем_компендиум
Развитие инновационных экосистем_компендиумIngria. Technopark St. Petersburg
 
ir10 presentation on wikis
ir10 presentation on wikisir10 presentation on wikis
ir10 presentation on wikisScanenergi A/S
 

Andere mochten auch (20)

Программа поддержки экспорта инновационной и высокотехнологичной продукции, р...
Программа поддержки экспорта инновационной и высокотехнологичной продукции, р...Программа поддержки экспорта инновационной и высокотехнологичной продукции, р...
Программа поддержки экспорта инновационной и высокотехнологичной продукции, р...
 
Akademi Klasik Türk Müziği Korosu 2016 Ocak 18 Konseri resimleri
Akademi Klasik Türk Müziği Korosu 2016 Ocak 18 Konseri resimleriAkademi Klasik Türk Müziği Korosu 2016 Ocak 18 Konseri resimleri
Akademi Klasik Türk Müziği Korosu 2016 Ocak 18 Konseri resimleri
 
10 способов сделать подпись к иллюстрации
10 способов сделать подпись к иллюстрации10 способов сделать подпись к иллюстрации
10 способов сделать подпись к иллюстрации
 
Mbc Consulting Group
Mbc Consulting GroupMbc Consulting Group
Mbc Consulting Group
 
10.Local Database & LINQ
10.Local Database & LINQ10.Local Database & LINQ
10.Local Database & LINQ
 
Mapi
MapiMapi
Mapi
 
Contratacion
ContratacionContratacion
Contratacion
 
Cloud and the Future of Networked Systems
Cloud and the Future of Networked SystemsCloud and the Future of Networked Systems
Cloud and the Future of Networked Systems
 
Meerkat by Gianna
Meerkat by GiannaMeerkat by Gianna
Meerkat by Gianna
 
Defining Terms Of The Lymphatic & Immune System
Defining Terms Of The Lymphatic & Immune SystemDefining Terms Of The Lymphatic & Immune System
Defining Terms Of The Lymphatic & Immune System
 
Unit 8c Taxation strategies
Unit 8c Taxation strategiesUnit 8c Taxation strategies
Unit 8c Taxation strategies
 
Serap Mutlu Akbulut Korosu 1 Mart 2016 Konser Resimleri
Serap Mutlu Akbulut Korosu 1 Mart 2016 Konser ResimleriSerap Mutlu Akbulut Korosu 1 Mart 2016 Konser Resimleri
Serap Mutlu Akbulut Korosu 1 Mart 2016 Konser Resimleri
 
Трансфер технологий в вузах_глобализация академических инноваций, Т. Поспелова
Трансфер технологий в вузах_глобализация академических инноваций, Т. Поспелова Трансфер технологий в вузах_глобализация академических инноваций, Т. Поспелова
Трансфер технологий в вузах_глобализация академических инноваций, Т. Поспелова
 
Voyager
VoyagerVoyager
Voyager
 
Как запустить рекламную кампанию?
Как запустить рекламную кампанию?Как запустить рекламную кампанию?
Как запустить рекламную кампанию?
 
Paul Johnson
Paul JohnsonPaul Johnson
Paul Johnson
 
Развитие инновационных экосистем_компендиум
Развитие инновационных экосистем_компендиумРазвитие инновационных экосистем_компендиум
Развитие инновационных экосистем_компендиум
 
ir10 presentation on wikis
ir10 presentation on wikisir10 presentation on wikis
ir10 presentation on wikis
 
CD Labs Webinar
CD Labs Webinar CD Labs Webinar
CD Labs Webinar
 
Hardwarea
HardwareaHardwarea
Hardwarea
 

Ähnlich wie Y NoSQL: An Example

Building Twitter in Drupal
Building Twitter in DrupalBuilding Twitter in Drupal
Building Twitter in DrupalJeff Eaton
 
Semantic Web For Distributed Social Networks
Semantic Web For Distributed Social NetworksSemantic Web For Distributed Social Networks
Semantic Web For Distributed Social NetworksDavid Peterson
 
Yanoshin Wakulab New Year Presentation
Yanoshin Wakulab New Year PresentationYanoshin Wakulab New Year Presentation
Yanoshin Wakulab New Year PresentationShin-Ichiro Yano
 
わくわくオープンラボ新年会'10 やのしん
わくわくオープンラボ新年会'10 やのしんわくわくオープンラボ新年会'10 やのしん
わくわくオープンラボ新年会'10 やのしんguestb21ccf
 
Going mobile - tip, tricks and tools for building mobile web-apps
Going mobile - tip, tricks and tools for building mobile web-appsGoing mobile - tip, tricks and tools for building mobile web-apps
Going mobile - tip, tricks and tools for building mobile web-appsJoshua May
 
SEO for the Semantic Web
SEO for the Semantic WebSEO for the Semantic Web
SEO for the Semantic WebMihai Gheza
 
Plugins Spectacular WordCamp Sydney 2012
Plugins Spectacular WordCamp Sydney 2012Plugins Spectacular WordCamp Sydney 2012
Plugins Spectacular WordCamp Sydney 2012Tony Cosentino
 
The Plugin Spectactular - Tony Cosentino - WordCamp Sydney 2012
The Plugin Spectactular - Tony Cosentino - WordCamp Sydney 2012The Plugin Spectactular - Tony Cosentino - WordCamp Sydney 2012
The Plugin Spectactular - Tony Cosentino - WordCamp Sydney 2012WordCamp Sydney
 
Open Source Secret Sauce - Lugor Sep 2011
Open Source Secret Sauce - Lugor Sep 2011Open Source Secret Sauce - Lugor Sep 2011
Open Source Secret Sauce - Lugor Sep 2011Ted Husted
 
Webspam (English Version)
Webspam (English Version)Webspam (English Version)
Webspam (English Version)Dirk Haun
 
Martin Splitt "A short history of the web"
Martin Splitt "A short history of the web"Martin Splitt "A short history of the web"
Martin Splitt "A short history of the web"Fwdays
 
[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...
[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...
[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...Scott Abel
 
Analyzing Your Deliverables: Developing the Optimal Documentation Library
Analyzing Your Deliverables: Developing the Optimal Documentation LibraryAnalyzing Your Deliverables: Developing the Optimal Documentation Library
Analyzing Your Deliverables: Developing the Optimal Documentation LibraryScott Abel
 
Hacking News
Hacking NewsHacking News
Hacking Newsamclean
 
Fast and Easy Website Tune Ups
Fast and Easy Website Tune UpsFast and Easy Website Tune Ups
Fast and Easy Website Tune UpsJeff Wisniewski
 
Web2 Presentation
Web2 PresentationWeb2 Presentation
Web2 PresentationErwin Huang
 
Improving Drupal's Page Loading Performance
Improving Drupal's Page Loading PerformanceImproving Drupal's Page Loading Performance
Improving Drupal's Page Loading PerformanceWim Leers
 
Database Benchmarks: Silicon Valley SQL Server User Group Meeting May 2009
Database Benchmarks: Silicon Valley SQL Server User Group Meeting May 2009Database Benchmarks: Silicon Valley SQL Server User Group Meeting May 2009
Database Benchmarks: Silicon Valley SQL Server User Group Meeting May 2009Mark Ginnebaugh
 

Ähnlich wie Y NoSQL: An Example (20)

Building Twitter in Drupal
Building Twitter in DrupalBuilding Twitter in Drupal
Building Twitter in Drupal
 
Semantic Web For Distributed Social Networks
Semantic Web For Distributed Social NetworksSemantic Web For Distributed Social Networks
Semantic Web For Distributed Social Networks
 
Yanoshin Wakulab New Year Presentation
Yanoshin Wakulab New Year PresentationYanoshin Wakulab New Year Presentation
Yanoshin Wakulab New Year Presentation
 
わくわくオープンラボ新年会'10 やのしん
わくわくオープンラボ新年会'10 やのしんわくわくオープンラボ新年会'10 やのしん
わくわくオープンラボ新年会'10 やのしん
 
Going mobile - tip, tricks and tools for building mobile web-apps
Going mobile - tip, tricks and tools for building mobile web-appsGoing mobile - tip, tricks and tools for building mobile web-apps
Going mobile - tip, tricks and tools for building mobile web-apps
 
SEO for the Semantic Web
SEO for the Semantic WebSEO for the Semantic Web
SEO for the Semantic Web
 
Plugins Spectacular WordCamp Sydney 2012
Plugins Spectacular WordCamp Sydney 2012Plugins Spectacular WordCamp Sydney 2012
Plugins Spectacular WordCamp Sydney 2012
 
The Plugin Spectactular - Tony Cosentino - WordCamp Sydney 2012
The Plugin Spectactular - Tony Cosentino - WordCamp Sydney 2012The Plugin Spectactular - Tony Cosentino - WordCamp Sydney 2012
The Plugin Spectactular - Tony Cosentino - WordCamp Sydney 2012
 
Open Source Secret Sauce - Lugor Sep 2011
Open Source Secret Sauce - Lugor Sep 2011Open Source Secret Sauce - Lugor Sep 2011
Open Source Secret Sauce - Lugor Sep 2011
 
Rails Conf Talk Slides
Rails Conf Talk SlidesRails Conf Talk Slides
Rails Conf Talk Slides
 
Responsive Design
Responsive DesignResponsive Design
Responsive Design
 
Webspam (English Version)
Webspam (English Version)Webspam (English Version)
Webspam (English Version)
 
Martin Splitt "A short history of the web"
Martin Splitt "A short history of the web"Martin Splitt "A short history of the web"
Martin Splitt "A short history of the web"
 
[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...
[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...
[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...
 
Analyzing Your Deliverables: Developing the Optimal Documentation Library
Analyzing Your Deliverables: Developing the Optimal Documentation LibraryAnalyzing Your Deliverables: Developing the Optimal Documentation Library
Analyzing Your Deliverables: Developing the Optimal Documentation Library
 
Hacking News
Hacking NewsHacking News
Hacking News
 
Fast and Easy Website Tune Ups
Fast and Easy Website Tune UpsFast and Easy Website Tune Ups
Fast and Easy Website Tune Ups
 
Web2 Presentation
Web2 PresentationWeb2 Presentation
Web2 Presentation
 
Improving Drupal's Page Loading Performance
Improving Drupal's Page Loading PerformanceImproving Drupal's Page Loading Performance
Improving Drupal's Page Loading Performance
 
Database Benchmarks: Silicon Valley SQL Server User Group Meeting May 2009
Database Benchmarks: Silicon Valley SQL Server User Group Meeting May 2009Database Benchmarks: Silicon Valley SQL Server User Group Meeting May 2009
Database Benchmarks: Silicon Valley SQL Server User Group Meeting May 2009
 

Kürzlich hochgeladen

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 

Kürzlich hochgeladen (20)

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 

Y NoSQL: An Example

  • 1. Y NoSQL Jim Van Fleet @bigfleet Jan 2010 http://jimvanfleet.com/
  • 2. Congratulations ✤ You just landed a really sweet gig. Y NoSQL http://jimvanfleet.com/
  • 3. Congratulations ✤ You’re doing a baseball app ✤ Twitter and OAuth, so no authentication worries ✤ They only have the MLBPA on board, so no team names or logos ✤ Free mobile apps focusing on great design, where you have help ✤ Twitter DM’s for the premium package Y NoSQL http://jimvanfleet.com/
  • 4. Feeling Good? Y NoSQL http://jimvanfleet.com/
  • 6. Not So Fast, My Friend ✤ Your boss comes in one day, he’s ecstatic ✤ You got the MLB license! ✤ You’re going to allow fans to follow a team, or particular games. ✤ They also signed a contract with some marketers, the target is 100k users Y NoSQL http://jimvanfleet.com/
  • 7. This isn’t so bad... Y NoSQL http://jimvanfleet.com/
  • 8. This isn’t so bad... Y NoSQL http://jimvanfleet.com/
  • 9. This isn’t so bad... Y NoSQL http://jimvanfleet.com/
  • 10. One more thing... ✤ Things are looking great! But... ✤ We want our user’s notifications on their user page ✤ We got a bug report, users are getting some notifications twice Y NoSQL http://jimvanfleet.com/
  • 11. Why is that? Y NoSQL http://jimvanfleet.com/
  • 12. One more thing... Y NoSQL http://jimvanfleet.com/
  • 13. ... you’re screwed. Y NoSQL http://jimvanfleet.com/
  • 14. ... you’re screwed. Y NoSQL http://jimvanfleet.com/
  • 15. Math time ✤ 100k user target ✤ Some teams will be more popular than others ✤ Red Sox in ’09: ~ 6050 events over 162 games ✤ Roughly 80 a game ✤ If 20k users follow the Red Sox, you have 160k notifications per game ✤ ... and that’s just when they’re at bat! Y NoSQL http://jimvanfleet.com/
  • 16. The math gets worse ✤ You’ll come to hate good pitchers. ✤ They’re owned universally, so the top 30 will all be 10% owned ✤ In 2009, Josh Beckett generated 28 events in an average trip to the mound ✤ At 10k users, that’s 280k for one game. ✤ Good pitchers usually pitch against each other Y NoSQL http://jimvanfleet.com/
  • 17. So what now? ✤ Let’s take a document-based approach to the modeling the problem ✤ For this particular example, we’ll use MongoDB. ✤ The mantra I heard: “Focus on what you want to show” ✤ Schemaless or relational: row scans are what kill you Y NoSQL http://jimvanfleet.com/
  • 18. Picking up the pieces Y NoSQL http://jimvanfleet.com/
  • 19. Picking up the pieces Y NoSQL http://jimvanfleet.com/
  • 20. How does that help? ✤ 200k plays in an entire season. ✤ MongoDB has indexes, maintaining all query richness and staying fast. ✤ Linear user growth is a non-issue ✤ Single-item popularity is similarly a non-issue Y NoSQL http://jimvanfleet.com/
  • 21. Postlude (NO LOLLIPOPS) ✤ There’s a popular conception that NoSQL is about everything and a pony. ✤ It’s bleeding edge ✤ Talk about this decision with your ops team or your host Y NoSQL http://jimvanfleet.com/
  • 22. To Learn More... ✤ Ben Scofield’s overview of the field: http://www.slideshare.net/bscofield/nosql-death-to-relational- databases ✤ One-stop shop for NoSQL overview: http://www.vineetgupta.com/2010/01/nosql-databases-part-1- landscape.html Y NoSQL http://jimvanfleet.com/