SlideShare una empresa de Scribd logo
1 de 59
Heaven or Hell


                                @kenzouyeh
                            kenzouyeh@gmail.com



Wednesday, December 21,
About Me


                            Kenzou Yeh
                          Co-Founder @Lingtelli, Inc. & AnswerMe, Inc.
                              Consultant @Fliptop, Inc. & Hiiir, Inc.




Wednesday, December 21,
Agenda

       It’s all about MongoDB:


                          bright side
                               &
                           dark side

Wednesday, December 21,
NoSQL?




Wednesday, December 21,
Wednesday, December 21,
Introduction


                                      MongoDB

                                Database     Database

                          Collections Collections Collections




Wednesday, December 21,
Bson
                  Document-Oriented
                            with
                          Json-Style

Wednesday, December 21,
which means...




Wednesday, December 21,
It’s AWESOME




Wednesday, December 21,
and Json-Reference Support




Wednesday, December 21,
collection “company”: {
                             “_id”: ObjectId(“tasdfbhxnkj19”),
                             “name”: “answerme”,
                             “founder”: DBRef(“person”, “ijqywhxnkj19j4”)
                          }

                          collection “person”: {
                             “_id”: ObjectId(“ijqywhxnkj19j4”),
                             “name”: “Kenzou Yeh”,
                             “company”: DBRef(“company”, “tasdfbhxnkj19”)
                          }




Wednesday, December 21,
Join??



Wednesday, December 21,
don’t be silly...



Wednesday, December 21,
Indexing Support

                                    OS: Is that a feature!!??

Wednesday, December 21,
efficient and easy to use




Wednesday, December 21,
B-tree indexing
                                    &
                          compound index support




Wednesday, December 21,
eat a lot of memory




Wednesday, December 21,
Replication



Wednesday, December 21,
master/slave & replica set




Wednesday, December 21,
replica set works with


                          OpLog

Wednesday, December 21,
Capped Collections




Wednesday, December 21,
and


                          Voting
       with primary, secondary, arbiter(node type) and priority




Wednesday, December 21,
Auto-Sharding



Wednesday, December 21,
sharding environment




Wednesday, December 21,
balancing with chunks




Wednesday, December 21,
please select your sharding key


                               Wisely

Wednesday, December 21,
SQL-like
                     Rich Query Interface



Wednesday, December 21,
find, sort, skip, limit, operators including $in, $exists, $gte...




Wednesday, December 21,
just like CouchDB
                     Map/Reduce Support



Wednesday, December 21,
Sample Schema



                             Mapper



                            Reducer




Wednesday, December 21,
It’s more like a toy, please don’t easily use it on production




Wednesday, December 21,
See! It’s wonderful with all these
                 features, but..



Wednesday, December 21,
“Come to the dark side”
                                           - Darth Vader


Wednesday, December 21,
Before that...




Wednesday, December 21,
CAP Theorem




Wednesday, December 21,
and MongoDB?




Wednesday, December 21,
Availability       Consistency



Wednesday, December 21,
How?




Wednesday, December 21,
Global Write Lock



Wednesday, December 21,
Issues
Wednesday, December 21,
without concurrent write...




Wednesday, December 21,
lose performance




Wednesday, December 21,
and frequently update?




Wednesday, December 21,
MongoDB crashed
                             at any day, any hour and unpredictable




Wednesday, December 21,
under high load?




Wednesday, December 21,
sharding & replication set

                          doesn’t work correctly


Wednesday, December 21,
even more..




Wednesday, December 21,
without any error logs



Wednesday, December 21,
one more thing




Wednesday, December 21,
data might be lost!!




Wednesday, December 21,
Wednesday, December 21,
conclusion




Wednesday, December 21,
just like all NoSQL database




Wednesday, December 21,
depend on how you use it




Wednesday, December 21,
another mystery




Wednesday, December 21,
Facebook is still using MySQL




Wednesday, December 21,
Come on, you’re not facebook!




Wednesday, December 21,
Fliptop is   RECRUITING!!



Wednesday, December 21,
@kenzouyeh

                          kenzouyeh@gmail.com




Wednesday, December 21,

Más contenido relacionado

Similar a HeavenORHell,MongoDB

A Morning with MongoDB Barcelona: MongoDB Basic Concepts
A Morning with MongoDB Barcelona: MongoDB Basic ConceptsA Morning with MongoDB Barcelona: MongoDB Basic Concepts
A Morning with MongoDB Barcelona: MongoDB Basic ConceptsMongoDB
 
Things I hate to do as a designer but do anyway
Things I hate to do as a designer but do anywayThings I hate to do as a designer but do anyway
Things I hate to do as a designer but do anywayMatt Johnston
 
Design for change
Design for changeDesign for change
Design for changeUX Booth
 
HTW2011: Jon Bradford - The perfect team: it's a patchwork quilt
HTW2011: Jon Bradford - The perfect team: it's a patchwork quiltHTW2011: Jon Bradford - The perfect team: it's a patchwork quilt
HTW2011: Jon Bradford - The perfect team: it's a patchwork quiltHow to Web
 
A Morning with MongoDB Barcelona: Introduction
A Morning with MongoDB Barcelona: IntroductionA Morning with MongoDB Barcelona: Introduction
A Morning with MongoDB Barcelona: IntroductionMongoDB
 
Webinar: MongoDB on the JVM
Webinar: MongoDB on the JVMWebinar: MongoDB on the JVM
Webinar: MongoDB on the JVMMongoDB
 

Similar a HeavenORHell,MongoDB (8)

A Morning with MongoDB Barcelona: MongoDB Basic Concepts
A Morning with MongoDB Barcelona: MongoDB Basic ConceptsA Morning with MongoDB Barcelona: MongoDB Basic Concepts
A Morning with MongoDB Barcelona: MongoDB Basic Concepts
 
Things I hate to do as a designer but do anyway
Things I hate to do as a designer but do anywayThings I hate to do as a designer but do anyway
Things I hate to do as a designer but do anyway
 
Design for change
Design for changeDesign for change
Design for change
 
HTW2011: Jon Bradford - The perfect team: it's a patchwork quilt
HTW2011: Jon Bradford - The perfect team: it's a patchwork quiltHTW2011: Jon Bradford - The perfect team: it's a patchwork quilt
HTW2011: Jon Bradford - The perfect team: it's a patchwork quilt
 
A Morning with MongoDB Barcelona: Introduction
A Morning with MongoDB Barcelona: IntroductionA Morning with MongoDB Barcelona: Introduction
A Morning with MongoDB Barcelona: Introduction
 
Mominis: Making it to the 1%
Mominis: Making it to the 1%Mominis: Making it to the 1%
Mominis: Making it to the 1%
 
living drupal
living drupalliving drupal
living drupal
 
Webinar: MongoDB on the JVM
Webinar: MongoDB on the JVMWebinar: MongoDB on the JVM
Webinar: MongoDB on the JVM
 

Último

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
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
 
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
 
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
 

Último (20)

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
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
 
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
 
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
 

HeavenORHell,MongoDB