SlideShare a Scribd company logo
Building High-Performance Web-Applications

    With PHP and MongoDB




        -- future web-technologies today --

                   http://r1.my
CHAPTER 1:
A BRIEF HISTORY IN TIME
A LONG TIME AGO
IN A GALAXY, FAR-FAR AWAY
IMPORTANT DATES



  1974
 RELATIONAL DATABASES




  1989
   WORLD WIDE WEB
From Blogs, to CMS, to Web-Applications
SO STARTS A GENERATION OF SELF-TAUGHT DEVELOPERS




                 WordPress

              Publishing Platform Vs CMS

          Web Applications Vs Other Languages
RUBY SLIPPERS (ON RAILS)
IN 2004 - THE ERA OF WEB-APPS BEGIN
CHAPTER 2:
WHERE DO PHP DEVELOPERS NOW STAND?
ALTERNATIVES
SUITABLE FOR A SELF-TAUGHT GENERATION




              - HOWEVER -
       WE’RE HERE TO TALK ABOUT PHP
FRAMEWORKS
 THE MVC ERA
High-Performance Applications
              THE TRILOGY




         DESIGN
        THE



        DATABASE
  THE BIG



 THE   APPLICATION
DESIGNING FOR PERFORMANCE


     MOBILE FIRST DEVELOPMENT
  ( FOCUS ON FEATURES – ONLY LOAD WHAT’S NEEDED )




   OPTIMISTIC ON-SCREEN ACTIONS
( SHOW LIKES AND COMMENTS ON SCREEN IMMEDIATELY )



          PREEMPTIVE ACTIONS
( UPLOAD IMAGES WHILST TAGGING, PRE-FETCH TABS, ETC )
DATA AT THE APPLICATION LEVEL

   “In 2012, NoSQL document stores like MongoDB received more than 70 percent of total
    big-data tool demand. MongoDB from 10gen remains the top performer in this group.”

                                                       -- CNET




                                                MongoDB Clients:




How MTV use mongoDB as a CMS - http://www.10gen.com/presentations/mongonyc-2011/how-mtv-networks-leverages-mongodb-for-cms
MongoDB Adoption




http://blogs.the451group.com/information_management/2012/03/27/update-on-the-relative-popularity-of-nosql-database-skills/
MongoDB Traction




http://blogs.the451group.com/information_management/2012/05/30/a-different-perspective-on-nosql-vendor-traction/
EXCELLENT GEOLOCATION SUPPORT
     Have you ever heard of Foursquare …?
REPLICA-SETS AND SHARDING
IT’S LIGHTENING FAST !!!
Some say 6,000 times faster than MySQL – http://lauli.ma/geo1
GRIDFS – MEDIA STORAGE & SERVING
NO LANGUAGE BARRIERS
( ALSO KEEPS ALL LOGIC IN ONE PLACE )
PERFORMANCE - VS - FUNCTIONALITY
PERFORMANCE - VS - FUNCTIONALITY
PERFORMANCE - VS - FUNCTIONALITY
THERE IS NO SPOON !!!
( OR NEED TO LEAVE YOUR APP )
APPLICATION ARCHITECTURE


    REMOVE LEGACY RELIANCE
  ( OLDER VERSIONS OF PHP ARE USELESS TODAY )




OBJECT ORIENTATED PROGRAMMING
 ( EASIER TO MAINTAIN - OBJECTS CAN BE CACHED )



ONLY INCLUDE WHAT IS NECESSARY
   ( AUTO-LOADING AND INCLUSION OF CLASSES )
CHAPTER 3:
  THE FUTURE
-- R1 DOT MY SDN BHD --




    MongoPress
High-Performance CMS         MongoMail
                           Email as a Platform       MongoKong
                                                  HTML5 Social-Gaming

http://mongopress.org     http://mongomail.org    http://mongokong.com




                            POWERED BY
http://mongobase.org/
LEARN MORE ABOUT

          MongoDB
Kuala Lumpur MongoDB User-Group:
http://facebook.com/groups/klmug/




            -- Mark Smalley --

              @m_smalley

More Related Content

Similar to MOSC2012 - Building High-Performance Web-Application with PHP & MongoDB (20)

Introducing MongoBase
Introducing MongoBaseIntroducing MongoBase
Introducing MongoBase
r1dotmy
 
An Evening with MongoDB Detroit 2013
An Evening with MongoDB Detroit 2013An Evening with MongoDB Detroit 2013
An Evening with MongoDB Detroit 2013
MongoDB
 
A Morning with MongoDB - Helsinki
A Morning with MongoDB - HelsinkiA Morning with MongoDB - Helsinki
A Morning with MongoDB - Helsinki
MongoDB
 
Welcome and Introduction to A Morning with MongoDB Petah Tikvah
Welcome and Introduction to A Morning with MongoDB Petah TikvahWelcome and Introduction to A Morning with MongoDB Petah Tikvah
Welcome and Introduction to A Morning with MongoDB Petah Tikvah
MongoDB
 
An Introduction to Big Data, NoSQL and MongoDB
An Introduction to Big Data, NoSQL and MongoDBAn Introduction to Big Data, NoSQL and MongoDB
An Introduction to Big Data, NoSQL and MongoDB
William LaForest
 
Tim marston
Tim marstonTim marston
Tim marston
PatrickCrompton
 
MongoDB for Oracle Experts - OUGF Harmony 2014
MongoDB for Oracle Experts - OUGF Harmony 2014 MongoDB for Oracle Experts - OUGF Harmony 2014
MongoDB for Oracle Experts - OUGF Harmony 2014
Henrik Ingo
 
mongoDB: Driving a data revolution
mongoDB: Driving a data revolutionmongoDB: Driving a data revolution
mongoDB: Driving a data revolution
MongoDB
 
MediaGlu and Mongo DB
MediaGlu and Mongo DBMediaGlu and Mongo DB
MediaGlu and Mongo DB
Sundar Nathikudi
 
Tim Marston.
Tim Marston.Tim Marston.
Tim Marston.
PatrickCrompton
 
Rails with MongoDB
Rails with MongoDBRails with MongoDB
Rails with MongoDB
Eugene Park
 
How to Get Started with Your MongoDB Pilot Project
How to Get Started with Your MongoDB Pilot ProjectHow to Get Started with Your MongoDB Pilot Project
How to Get Started with Your MongoDB Pilot Project
DATAVERSITY
 
Intro to the MongoDB Community
Intro to the MongoDB CommunityIntro to the MongoDB Community
Intro to the MongoDB Community
francescapasha
 
A Brief Introduction: MongoDB
A Brief Introduction: MongoDBA Brief Introduction: MongoDB
A Brief Introduction: MongoDB
DATAVERSITY
 
Mongodb Introduction
Mongodb IntroductionMongodb Introduction
Mongodb Introduction
Jeremy Taylor
 
Mongodb open source_high_performance_database
Mongodb open source_high_performance_databaseMongodb open source_high_performance_database
Mongodb open source_high_performance_database
Murat Çakal
 
Introducing MongoDB into your Organization
Introducing MongoDB into your OrganizationIntroducing MongoDB into your Organization
Introducing MongoDB into your Organization
MongoDB
 
10gen telco white_paper
10gen telco white_paper10gen telco white_paper
10gen telco white_paper
El Taller Web
 
Morningwithmongodbisrael 121217184113-phpapp02
Morningwithmongodbisrael 121217184113-phpapp02Morningwithmongodbisrael 121217184113-phpapp02
Morningwithmongodbisrael 121217184113-phpapp02
Andrei Colta
 
Mongodb hashim shaikh
Mongodb hashim shaikhMongodb hashim shaikh
Mongodb hashim shaikh
Hashim Shaikh
 
Introducing MongoBase
Introducing MongoBaseIntroducing MongoBase
Introducing MongoBase
r1dotmy
 
An Evening with MongoDB Detroit 2013
An Evening with MongoDB Detroit 2013An Evening with MongoDB Detroit 2013
An Evening with MongoDB Detroit 2013
MongoDB
 
A Morning with MongoDB - Helsinki
A Morning with MongoDB - HelsinkiA Morning with MongoDB - Helsinki
A Morning with MongoDB - Helsinki
MongoDB
 
Welcome and Introduction to A Morning with MongoDB Petah Tikvah
Welcome and Introduction to A Morning with MongoDB Petah TikvahWelcome and Introduction to A Morning with MongoDB Petah Tikvah
Welcome and Introduction to A Morning with MongoDB Petah Tikvah
MongoDB
 
An Introduction to Big Data, NoSQL and MongoDB
An Introduction to Big Data, NoSQL and MongoDBAn Introduction to Big Data, NoSQL and MongoDB
An Introduction to Big Data, NoSQL and MongoDB
William LaForest
 
MongoDB for Oracle Experts - OUGF Harmony 2014
MongoDB for Oracle Experts - OUGF Harmony 2014 MongoDB for Oracle Experts - OUGF Harmony 2014
MongoDB for Oracle Experts - OUGF Harmony 2014
Henrik Ingo
 
mongoDB: Driving a data revolution
mongoDB: Driving a data revolutionmongoDB: Driving a data revolution
mongoDB: Driving a data revolution
MongoDB
 
Rails with MongoDB
Rails with MongoDBRails with MongoDB
Rails with MongoDB
Eugene Park
 
How to Get Started with Your MongoDB Pilot Project
How to Get Started with Your MongoDB Pilot ProjectHow to Get Started with Your MongoDB Pilot Project
How to Get Started with Your MongoDB Pilot Project
DATAVERSITY
 
Intro to the MongoDB Community
Intro to the MongoDB CommunityIntro to the MongoDB Community
Intro to the MongoDB Community
francescapasha
 
A Brief Introduction: MongoDB
A Brief Introduction: MongoDBA Brief Introduction: MongoDB
A Brief Introduction: MongoDB
DATAVERSITY
 
Mongodb Introduction
Mongodb IntroductionMongodb Introduction
Mongodb Introduction
Jeremy Taylor
 
Mongodb open source_high_performance_database
Mongodb open source_high_performance_databaseMongodb open source_high_performance_database
Mongodb open source_high_performance_database
Murat Çakal
 
Introducing MongoDB into your Organization
Introducing MongoDB into your OrganizationIntroducing MongoDB into your Organization
Introducing MongoDB into your Organization
MongoDB
 
10gen telco white_paper
10gen telco white_paper10gen telco white_paper
10gen telco white_paper
El Taller Web
 
Morningwithmongodbisrael 121217184113-phpapp02
Morningwithmongodbisrael 121217184113-phpapp02Morningwithmongodbisrael 121217184113-phpapp02
Morningwithmongodbisrael 121217184113-phpapp02
Andrei Colta
 
Mongodb hashim shaikh
Mongodb hashim shaikhMongodb hashim shaikh
Mongodb hashim shaikh
Hashim Shaikh
 

Recently uploaded (20)

Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdfBoosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Alkin Tezuysal
 
TimeSeries Machine Learning - PyData London 2025
TimeSeries Machine Learning - PyData London 2025TimeSeries Machine Learning - PyData London 2025
TimeSeries Machine Learning - PyData London 2025
Suyash Joshi
 
Developing Schemas with FME and Excel - Peak of Data & AI 2025
Developing Schemas with FME and Excel - Peak of Data & AI 2025Developing Schemas with FME and Excel - Peak of Data & AI 2025
Developing Schemas with FME and Excel - Peak of Data & AI 2025
Safe Software
 
IntroSlides-May-BuildWithAi-EarthEngine.pdf
IntroSlides-May-BuildWithAi-EarthEngine.pdfIntroSlides-May-BuildWithAi-EarthEngine.pdf
IntroSlides-May-BuildWithAi-EarthEngine.pdf
Luiz Carneiro
 
AI Creative Generates You Passive Income Like Never Before
AI Creative Generates You Passive Income Like Never BeforeAI Creative Generates You Passive Income Like Never Before
AI Creative Generates You Passive Income Like Never Before
SivaRajan47
 
Compliance-as-a-Service document pdf text
Compliance-as-a-Service document pdf textCompliance-as-a-Service document pdf text
Compliance-as-a-Service document pdf text
Earthling security
 
Oracle Cloud Infrastructure Generative AI Professional
Oracle Cloud Infrastructure Generative AI ProfessionalOracle Cloud Infrastructure Generative AI Professional
Oracle Cloud Infrastructure Generative AI Professional
VICTOR MAESTRE RAMIREZ
 
Securiport - A Border Security Company
Securiport  -  A Border Security CompanySecuriport  -  A Border Security Company
Securiport - A Border Security Company
Securiport
 
Trends Artificial Intelligence - Mary Meeker
Trends Artificial Intelligence - Mary MeekerTrends Artificial Intelligence - Mary Meeker
Trends Artificial Intelligence - Mary Meeker
Clive Dickens
 
Palo Alto Networks Cybersecurity Foundation
Palo Alto Networks Cybersecurity FoundationPalo Alto Networks Cybersecurity Foundation
Palo Alto Networks Cybersecurity Foundation
VICTOR MAESTRE RAMIREZ
 
Extend-Microsoft365-with-Copilot-agents.pptx
Extend-Microsoft365-with-Copilot-agents.pptxExtend-Microsoft365-with-Copilot-agents.pptx
Extend-Microsoft365-with-Copilot-agents.pptx
hoang971
 
Dancing with AI - A Developer's Journey.pptx
Dancing with AI - A Developer's Journey.pptxDancing with AI - A Developer's Journey.pptx
Dancing with AI - A Developer's Journey.pptx
Elliott Richmond
 
AI Agents in Logistics and Supply Chain Applications Benefits and Implementation
AI Agents in Logistics and Supply Chain Applications Benefits and ImplementationAI Agents in Logistics and Supply Chain Applications Benefits and Implementation
AI Agents in Logistics and Supply Chain Applications Benefits and Implementation
Christine Shepherd
 
LSNIF: Locally-Subdivided Neural Intersection Function
LSNIF: Locally-Subdivided Neural Intersection FunctionLSNIF: Locally-Subdivided Neural Intersection Function
LSNIF: Locally-Subdivided Neural Intersection Function
Takahiro Harada
 
How to Detect Outliers in IBM SPSS Statistics.pptx
How to Detect Outliers in IBM SPSS Statistics.pptxHow to Detect Outliers in IBM SPSS Statistics.pptx
How to Detect Outliers in IBM SPSS Statistics.pptx
Version 1 Analytics
 
DevOps in the Modern Era - Thoughtfully Critical Podcast
DevOps in the Modern Era - Thoughtfully Critical PodcastDevOps in the Modern Era - Thoughtfully Critical Podcast
DevOps in the Modern Era - Thoughtfully Critical Podcast
Chris Wahl
 
Introduction to Typescript - GDG On Campus EUE
Introduction to Typescript - GDG On Campus EUEIntroduction to Typescript - GDG On Campus EUE
Introduction to Typescript - GDG On Campus EUE
Google Developer Group On Campus European Universities in Egypt
 
soulmaite review - Find Real AI soulmate review
soulmaite review - Find Real AI soulmate reviewsoulmaite review - Find Real AI soulmate review
soulmaite review - Find Real AI soulmate review
Soulmaite
 
ISOIEC 42005 Revolutionalises AI Impact Assessment.pptx
ISOIEC 42005 Revolutionalises AI Impact Assessment.pptxISOIEC 42005 Revolutionalises AI Impact Assessment.pptx
ISOIEC 42005 Revolutionalises AI Impact Assessment.pptx
AyilurRamnath1
 
MCP vs A2A vs ACP: Choosing the Right Protocol | Bluebash
MCP vs A2A vs ACP: Choosing the Right Protocol | BluebashMCP vs A2A vs ACP: Choosing the Right Protocol | Bluebash
MCP vs A2A vs ACP: Choosing the Right Protocol | Bluebash
Bluebash
 
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdfBoosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Alkin Tezuysal
 
TimeSeries Machine Learning - PyData London 2025
TimeSeries Machine Learning - PyData London 2025TimeSeries Machine Learning - PyData London 2025
TimeSeries Machine Learning - PyData London 2025
Suyash Joshi
 
Developing Schemas with FME and Excel - Peak of Data & AI 2025
Developing Schemas with FME and Excel - Peak of Data & AI 2025Developing Schemas with FME and Excel - Peak of Data & AI 2025
Developing Schemas with FME and Excel - Peak of Data & AI 2025
Safe Software
 
IntroSlides-May-BuildWithAi-EarthEngine.pdf
IntroSlides-May-BuildWithAi-EarthEngine.pdfIntroSlides-May-BuildWithAi-EarthEngine.pdf
IntroSlides-May-BuildWithAi-EarthEngine.pdf
Luiz Carneiro
 
AI Creative Generates You Passive Income Like Never Before
AI Creative Generates You Passive Income Like Never BeforeAI Creative Generates You Passive Income Like Never Before
AI Creative Generates You Passive Income Like Never Before
SivaRajan47
 
Compliance-as-a-Service document pdf text
Compliance-as-a-Service document pdf textCompliance-as-a-Service document pdf text
Compliance-as-a-Service document pdf text
Earthling security
 
Oracle Cloud Infrastructure Generative AI Professional
Oracle Cloud Infrastructure Generative AI ProfessionalOracle Cloud Infrastructure Generative AI Professional
Oracle Cloud Infrastructure Generative AI Professional
VICTOR MAESTRE RAMIREZ
 
Securiport - A Border Security Company
Securiport  -  A Border Security CompanySecuriport  -  A Border Security Company
Securiport - A Border Security Company
Securiport
 
Trends Artificial Intelligence - Mary Meeker
Trends Artificial Intelligence - Mary MeekerTrends Artificial Intelligence - Mary Meeker
Trends Artificial Intelligence - Mary Meeker
Clive Dickens
 
Palo Alto Networks Cybersecurity Foundation
Palo Alto Networks Cybersecurity FoundationPalo Alto Networks Cybersecurity Foundation
Palo Alto Networks Cybersecurity Foundation
VICTOR MAESTRE RAMIREZ
 
Extend-Microsoft365-with-Copilot-agents.pptx
Extend-Microsoft365-with-Copilot-agents.pptxExtend-Microsoft365-with-Copilot-agents.pptx
Extend-Microsoft365-with-Copilot-agents.pptx
hoang971
 
Dancing with AI - A Developer's Journey.pptx
Dancing with AI - A Developer's Journey.pptxDancing with AI - A Developer's Journey.pptx
Dancing with AI - A Developer's Journey.pptx
Elliott Richmond
 
AI Agents in Logistics and Supply Chain Applications Benefits and Implementation
AI Agents in Logistics and Supply Chain Applications Benefits and ImplementationAI Agents in Logistics and Supply Chain Applications Benefits and Implementation
AI Agents in Logistics and Supply Chain Applications Benefits and Implementation
Christine Shepherd
 
LSNIF: Locally-Subdivided Neural Intersection Function
LSNIF: Locally-Subdivided Neural Intersection FunctionLSNIF: Locally-Subdivided Neural Intersection Function
LSNIF: Locally-Subdivided Neural Intersection Function
Takahiro Harada
 
How to Detect Outliers in IBM SPSS Statistics.pptx
How to Detect Outliers in IBM SPSS Statistics.pptxHow to Detect Outliers in IBM SPSS Statistics.pptx
How to Detect Outliers in IBM SPSS Statistics.pptx
Version 1 Analytics
 
DevOps in the Modern Era - Thoughtfully Critical Podcast
DevOps in the Modern Era - Thoughtfully Critical PodcastDevOps in the Modern Era - Thoughtfully Critical Podcast
DevOps in the Modern Era - Thoughtfully Critical Podcast
Chris Wahl
 
soulmaite review - Find Real AI soulmate review
soulmaite review - Find Real AI soulmate reviewsoulmaite review - Find Real AI soulmate review
soulmaite review - Find Real AI soulmate review
Soulmaite
 
ISOIEC 42005 Revolutionalises AI Impact Assessment.pptx
ISOIEC 42005 Revolutionalises AI Impact Assessment.pptxISOIEC 42005 Revolutionalises AI Impact Assessment.pptx
ISOIEC 42005 Revolutionalises AI Impact Assessment.pptx
AyilurRamnath1
 
MCP vs A2A vs ACP: Choosing the Right Protocol | Bluebash
MCP vs A2A vs ACP: Choosing the Right Protocol | BluebashMCP vs A2A vs ACP: Choosing the Right Protocol | Bluebash
MCP vs A2A vs ACP: Choosing the Right Protocol | Bluebash
Bluebash
 
Ad

MOSC2012 - Building High-Performance Web-Application with PHP & MongoDB