SlideShare una empresa de Scribd logo
1 de 17
Flight Centre Limited

How MongoDB has empowered the business
  to rapidly respond to market conditions

               Michael Frost
            Web Solution Architect
Flight Centre
   Flight Centre Limited is one of the world's largest travel agency
   groups, with more than 2000 leisure, corporate and wholesale
                       businesses in 11 countries.
     After starting with one shop 30 years ago, we have enjoyed
                      remarkable ongoing growth.

Our rapidly expanding network now extends throughout Australia, New
  Zealand, the United States, Canada, the United Kingdom, South
  Africa, Hong Kong, India, China, Singapore and the United Arab
        Emirates, providing travellers with a complete service.
Flight Centre Online
• 120 Online staff (Web Developers, SEO, Copy Writers,
  SEM, Application Developers, Online Marketers,
  Creative designers and Usability experts)
• 60 Web sites over 6 different countries
• Up to 200,000 pages on a site
• Larger sites have 450,000 views per day
• Multiple booking engines Air, Hotel, Sea, Insurance, Car
• Two data centres for web hosting. Physical in Brisbane
  and Amazon EC2
Brands Implemented
Business Problem
• Product feeds for lead-in pricing (15 feeds
  and growing). 750,000 records
• Content feeds (Hotel, Ship, Cruise Line,
  IATA, Destination). 550,000 records
  – Every feed has unique model
• Need to override content
  – Each brand in each country is a different
    business
• Need to be responsive to market. E.g. new
  cruise ship, or cruise ship sinks
Business Problem
• Content has different models, e.g. cruise
  ship content compared with hotel
• Business constantly demand new model
  types or changes to existing models
  – Hotel
• Majority developers are front end web
Solution Architecture Diagram
FCL MongoDB Environment
• FCL data centre
  RHEL6 64Bit
  2 X CPU
  7G RAM
  100G data partition

• Amazon servers
  c1.xlarge Amazon EC2 instances

• MongoDB V2.0.3

• Replication with one master, and 2 slaves in each datacentre. New
  slaves can be quickly brought up if demand requires

• 5 databases with up to 55 collections in a database
• ~ 600,000 MongoDB requests per day
• 2 mil records
Hosting environment
with Amazon data centre


•Akamai geo-load balanced
data centres
•No single point of failure for
hosting
•Each data centre is
designed to take full load if
one data centre goes down
•Each layer in each stack
can be extended quickly if
unexpected massive load
came through
What we found with MongoDB
• Developers do not need to worry about
  schemas
• Business can come to developers with new
  feed, content type, product, to be loaded in
  – E.g. Cruise Ship, Cruise Line, IATA location data,
    Hotel content, Hotel imaging
  – Define own domain models
• Native way of thinking with Web Dev
  (JSON/REST)
• Powers the majority of our sites
What we found with MongoDB
• Arbiter is only used to provide extra votes
  that the master we want stays as master
• If master goes down slaves will continue
  to allow reads. Writes will not work
  – Writes are not mission critical – Competitions
    and the like
• SLAVE_OK so slaves can perform reads
What we found with MongoDB
• Web solution enhancements become easier
  – Used to use Oracle
• Oracle was homogenous. Had to know domain
  model and data structure up front.
  – With MongoDB we are able to change domain model
    at any point. Even at a record level.
• We do not use sharding. Our data set did not
  easily provide a shard key
  – Has not affected performance while data can fit in
    memory
Example- Cruise

Page comprises of:
•Call to product for lead-in pricing, then
•Call to Ship content
•Call to Cruise Line content
•Call for other sailings

•Page response time (without Akamai):
200ms
Moving forward
• Moved to cloud – Amazon EC2
   – MongoDB makes this much easier and cheaper than
     Oracle
• Multiple data centres catering for local countries
   – Replication model for read only is trivial. Write
     requires a bit of thinking
• Data centre fail over
   – Each data centre will be able cater for all FCL country
     load
• Application Developers changing to elastic design
   – MongoDB is well suited for elastic solutions
Lessons learnt
• New projects are very easy
• Converting heavy relational models takes some time
• Use case of data is important to know upfront
   – Our product model denormalises to 80 fields
   – Indexes are important and require constant review
      • Our developers can hit the models with any permutation of ways
        (id, location, supplier, star rating, keyword, duration)
• Performance for new solutions excellent, performance
  after converting relation solution required more
  hardware. A minor redesign in our solution will solve
  performance issues
   – Thinking about problems in a relational way is inefficient
     with MongoDB. Need to tackle problems with a different
     mind set
Lessons learnt
• Learning curve for Web Developers easy.
  Learning curve for Application Developers a little
  longer (use to relational world)
• Traditional reporting tools do not work easily.
  – Created a data warehouse in Oracle for reporting
• Global write lock. Make sure database size fits in
  memory
Questions



          Michael Frost
      Flight Centre Limited
Michael.Frost@flightcentre.com.au

Más contenido relacionado

La actualidad más candente

Mongo Seattle - The Business of MongoDB
Mongo Seattle - The Business of MongoDBMongo Seattle - The Business of MongoDB
Mongo Seattle - The Business of MongoDB
Justin Smestad
 
Case study - Nuskin: Statefull Applications in a Stateless World
Case study - Nuskin: Statefull Applications in a Stateless WorldCase study - Nuskin: Statefull Applications in a Stateless World
Case study - Nuskin: Statefull Applications in a Stateless World
Day Software
 
Inspirationsdag 24. april: IBM XWork server
Inspirationsdag 24. april: IBM XWork serverInspirationsdag 24. april: IBM XWork server
Inspirationsdag 24. april: IBM XWork server
Notesnet_dk
 
WebsitePerformance
WebsitePerformanceWebsitePerformance
WebsitePerformance
Vivek Jain
 

La actualidad más candente (20)

Mongo Seattle - The Business of MongoDB
Mongo Seattle - The Business of MongoDBMongo Seattle - The Business of MongoDB
Mongo Seattle - The Business of MongoDB
 
Java driver for mongo db
Java driver for mongo dbJava driver for mongo db
Java driver for mongo db
 
Enterprise Reporting: Couchbase N1QL, ODBC and JDBC
Enterprise Reporting: Couchbase N1QL, ODBC and JDBCEnterprise Reporting: Couchbase N1QL, ODBC and JDBC
Enterprise Reporting: Couchbase N1QL, ODBC and JDBC
 
MongoDB SF Python
MongoDB SF PythonMongoDB SF Python
MongoDB SF Python
 
Part One: Building Web Apps with the MERN Stack
Part One: Building Web Apps with the MERN StackPart One: Building Web Apps with the MERN Stack
Part One: Building Web Apps with the MERN Stack
 
Case study - Nuskin: Statefull Applications in a Stateless World
Case study - Nuskin: Statefull Applications in a Stateless WorldCase study - Nuskin: Statefull Applications in a Stateless World
Case study - Nuskin: Statefull Applications in a Stateless World
 
SparxUp - Growth VS Scalability
SparxUp - Growth VS ScalabilitySparxUp - Growth VS Scalability
SparxUp - Growth VS Scalability
 
Php course
Php coursePhp course
Php course
 
MongoDB - Getting Started
MongoDB  - Getting StartedMongoDB  - Getting Started
MongoDB - Getting Started
 
Word press performance optimisation
Word press performance optimisationWord press performance optimisation
Word press performance optimisation
 
[@NaukriEngineering] IndexedDB
[@NaukriEngineering] IndexedDB[@NaukriEngineering] IndexedDB
[@NaukriEngineering] IndexedDB
 
Redux: server side rendering and hot code reload for single-page applications
Redux: server side rendering and hot code reload for single-page applicationsRedux: server side rendering and hot code reload for single-page applications
Redux: server side rendering and hot code reload for single-page applications
 
Inspirationsdag 24. april: IBM XWork server
Inspirationsdag 24. april: IBM XWork serverInspirationsdag 24. april: IBM XWork server
Inspirationsdag 24. april: IBM XWork server
 
WebsitePerformance
WebsitePerformanceWebsitePerformance
WebsitePerformance
 
Power your website with Windows Azure
Power your website with Windows AzurePower your website with Windows Azure
Power your website with Windows Azure
 
ChinaNetCloud Magento Operations - Magentocom Conference - Nov 2014
ChinaNetCloud Magento Operations - Magentocom Conference - Nov 2014ChinaNetCloud Magento Operations - Magentocom Conference - Nov 2014
ChinaNetCloud Magento Operations - Magentocom Conference - Nov 2014
 
ChinaNetCloud_magentocom (china)_2014
ChinaNetCloud_magentocom (china)_2014ChinaNetCloud_magentocom (china)_2014
ChinaNetCloud_magentocom (china)_2014
 
Scaling the Web: Databases & NoSQL
Scaling the Web: Databases & NoSQLScaling the Web: Databases & NoSQL
Scaling the Web: Databases & NoSQL
 
Optimising the RSPB website (2011)
Optimising the RSPB website (2011)Optimising the RSPB website (2011)
Optimising the RSPB website (2011)
 
.Less - CSS done right
.Less - CSS done right.Less - CSS done right
.Less - CSS done right
 

Destacado

Building Expedia’s Travel Graph using MongoDB
Building Expedia’s Travel Graph using MongoDBBuilding Expedia’s Travel Graph using MongoDB
Building Expedia’s Travel Graph using MongoDB
MongoDB
 
Microsoft xamarin-experience
Microsoft xamarin-experienceMicrosoft xamarin-experience
Microsoft xamarin-experience
Xpand IT
 
Av capabilities presentation
Av capabilities presentationAv capabilities presentation
Av capabilities presentation
NAISales2
 
Amadeus big data
Amadeus big dataAmadeus big data
Amadeus big data
승필 고
 
Samanage-Website-Redesign-Jan2017
Samanage-Website-Redesign-Jan2017Samanage-Website-Redesign-Jan2017
Samanage-Website-Redesign-Jan2017
WhatConts
 
Migrating to git
Migrating to gitMigrating to git
Migrating to git
Xpand IT
 
Introduction to jira
Introduction to jiraIntroduction to jira
Introduction to jira
Xpand IT
 
Old & wise(에듀시니어)
Old & wise(에듀시니어)Old & wise(에듀시니어)
Old & wise(에듀시니어)
Jungku Hong
 
O Diferencial de uma Estratégia Mobile...e Multiplataforma!
O Diferencial de uma Estratégia Mobile...e Multiplataforma!O Diferencial de uma Estratégia Mobile...e Multiplataforma!
O Diferencial de uma Estratégia Mobile...e Multiplataforma!
Xpand IT
 

Destacado (20)

Shaping the Future of Travel with MongoDB
Shaping the Future of Travel with MongoDBShaping the Future of Travel with MongoDB
Shaping the Future of Travel with MongoDB
 
Building Expedia’s Travel Graph using MongoDB
Building Expedia’s Travel Graph using MongoDBBuilding Expedia’s Travel Graph using MongoDB
Building Expedia’s Travel Graph using MongoDB
 
GIT Best Practices V 0.1
GIT Best Practices V 0.1GIT Best Practices V 0.1
GIT Best Practices V 0.1
 
Heyat terzi report (Mart 2016)
Heyat terzi report (Mart 2016)Heyat terzi report (Mart 2016)
Heyat terzi report (Mart 2016)
 
Tecnologìas de la Información y la Comunicación
Tecnologìas de la Información y la ComunicaciónTecnologìas de la Información y la Comunicación
Tecnologìas de la Información y la Comunicación
 
Microsoft xamarin-experience
Microsoft xamarin-experienceMicrosoft xamarin-experience
Microsoft xamarin-experience
 
Challenges in opening up qualitative research data
Challenges in opening up qualitative research dataChallenges in opening up qualitative research data
Challenges in opening up qualitative research data
 
Av capabilities presentation
Av capabilities presentationAv capabilities presentation
Av capabilities presentation
 
Amadeus big data
Amadeus big dataAmadeus big data
Amadeus big data
 
Samanage-Website-Redesign-Jan2017
Samanage-Website-Redesign-Jan2017Samanage-Website-Redesign-Jan2017
Samanage-Website-Redesign-Jan2017
 
Migrating to git
Migrating to gitMigrating to git
Migrating to git
 
Revving Up Revenue By Replenishing
Revving Up Revenue By ReplenishingRevving Up Revenue By Replenishing
Revving Up Revenue By Replenishing
 
Introduction to jira
Introduction to jiraIntroduction to jira
Introduction to jira
 
Strongly Typed Languages and Flexible Schemas
Strongly Typed Languages and Flexible SchemasStrongly Typed Languages and Flexible Schemas
Strongly Typed Languages and Flexible Schemas
 
Old & wise(에듀시니어)
Old & wise(에듀시니어)Old & wise(에듀시니어)
Old & wise(에듀시니어)
 
O Diferencial de uma Estratégia Mobile...e Multiplataforma!
O Diferencial de uma Estratégia Mobile...e Multiplataforma!O Diferencial de uma Estratégia Mobile...e Multiplataforma!
O Diferencial de uma Estratégia Mobile...e Multiplataforma!
 
Introduction Pentaho 5.0
Introduction Pentaho 5.0 Introduction Pentaho 5.0
Introduction Pentaho 5.0
 
Mgidigitalglobalization
MgidigitalglobalizationMgidigitalglobalization
Mgidigitalglobalization
 
Data meets Creativity - Webbdagarna 2015
Data meets Creativity - Webbdagarna 2015Data meets Creativity - Webbdagarna 2015
Data meets Creativity - Webbdagarna 2015
 
Part 1
Part 1Part 1
Part 1
 

Similar a MongoDB at Flight Centre Ltd

Business Track: Building a Personalized Mobile App Experience Using MongoDB a...
Business Track: Building a Personalized Mobile App Experience Using MongoDB a...Business Track: Building a Personalized Mobile App Experience Using MongoDB a...
Business Track: Building a Personalized Mobile App Experience Using MongoDB a...
MongoDB
 
Moving to the Cloud: AWS, Zend, RightScale
Moving to the Cloud: AWS, Zend, RightScaleMoving to the Cloud: AWS, Zend, RightScale
Moving to the Cloud: AWS, Zend, RightScale
mmoline
 
Scaling wix to over 70 m users
Scaling wix to over 70 m usersScaling wix to over 70 m users
Scaling wix to over 70 m users
Yoav Avrahami
 
2013 CPM Conference, Nov 6th, NoSQL Capacity Planning
2013 CPM Conference, Nov 6th, NoSQL Capacity Planning2013 CPM Conference, Nov 6th, NoSQL Capacity Planning
2013 CPM Conference, Nov 6th, NoSQL Capacity Planning
asya999
 

Similar a MongoDB at Flight Centre Ltd (20)

Mongo DB at Community Engine
Mongo DB at Community EngineMongo DB at Community Engine
Mongo DB at Community Engine
 
MongoDB at community engine
MongoDB at community engineMongoDB at community engine
MongoDB at community engine
 
Enterprise Trends for MongoDB as a Service
Enterprise Trends for MongoDB as a ServiceEnterprise Trends for MongoDB as a Service
Enterprise Trends for MongoDB as a Service
 
Enabling Telco to Build and Run Modern Applications
Enabling Telco to Build and Run Modern Applications Enabling Telco to Build and Run Modern Applications
Enabling Telco to Build and Run Modern Applications
 
Mongo db intro.pptx
Mongo db intro.pptxMongo db intro.pptx
Mongo db intro.pptx
 
Bangalore Executive Seminar 2015: Elephant In The Room - Relational to MongoDB
Bangalore Executive Seminar 2015: Elephant In The Room - Relational to MongoDBBangalore Executive Seminar 2015: Elephant In The Room - Relational to MongoDB
Bangalore Executive Seminar 2015: Elephant In The Room - Relational to MongoDB
 
Business Track: Building a Personalized Mobile App Experience Using MongoDB a...
Business Track: Building a Personalized Mobile App Experience Using MongoDB a...Business Track: Building a Personalized Mobile App Experience Using MongoDB a...
Business Track: Building a Personalized Mobile App Experience Using MongoDB a...
 
When to Use MongoDB
When to Use MongoDBWhen to Use MongoDB
When to Use MongoDB
 
The Future of Distributed Databases
The Future of Distributed DatabasesThe Future of Distributed Databases
The Future of Distributed Databases
 
The Effect of Cloud Computing on Growth of Startups and Entrepreneurship
The Effect of Cloud Computing on Growth of Startups and EntrepreneurshipThe Effect of Cloud Computing on Growth of Startups and Entrepreneurship
The Effect of Cloud Computing on Growth of Startups and Entrepreneurship
 
A night at the spa
A night at the spaA night at the spa
A night at the spa
 
Suning OpenStack Cloud and Heat
Suning OpenStack Cloud and HeatSuning OpenStack Cloud and Heat
Suning OpenStack Cloud and Heat
 
Migration of a high-traffic E-commerce website from Legacy Monolith to Micros...
Migration of a high-traffic E-commerce website from Legacy Monolith to Micros...Migration of a high-traffic E-commerce website from Legacy Monolith to Micros...
Migration of a high-traffic E-commerce website from Legacy Monolith to Micros...
 
Praxistaugliche notes strategien 4 cloud
Praxistaugliche notes strategien 4 cloudPraxistaugliche notes strategien 4 cloud
Praxistaugliche notes strategien 4 cloud
 
Deploy Apache Spark™ on Rackspace OnMetal™ for Cloud Big Data Platform
Deploy Apache Spark™ on Rackspace OnMetal™ for Cloud Big Data PlatformDeploy Apache Spark™ on Rackspace OnMetal™ for Cloud Big Data Platform
Deploy Apache Spark™ on Rackspace OnMetal™ for Cloud Big Data Platform
 
How Not to Be Conned by Your Drupal Vendor!
How Not to Be Conned by Your Drupal Vendor!How Not to Be Conned by Your Drupal Vendor!
How Not to Be Conned by Your Drupal Vendor!
 
Global Data Replication with Galera for Ansell Guardian®
Global Data Replication with Galera for Ansell Guardian®Global Data Replication with Galera for Ansell Guardian®
Global Data Replication with Galera for Ansell Guardian®
 
Moving to the Cloud: AWS, Zend, RightScale
Moving to the Cloud: AWS, Zend, RightScaleMoving to the Cloud: AWS, Zend, RightScale
Moving to the Cloud: AWS, Zend, RightScale
 
Scaling wix to over 70 m users
Scaling wix to over 70 m usersScaling wix to over 70 m users
Scaling wix to over 70 m users
 
2013 CPM Conference, Nov 6th, NoSQL Capacity Planning
2013 CPM Conference, Nov 6th, NoSQL Capacity Planning2013 CPM Conference, Nov 6th, NoSQL Capacity Planning
2013 CPM Conference, Nov 6th, NoSQL Capacity Planning
 

Más de MongoDB

Más de MongoDB (20)

MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
 
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
 
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
 
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
 
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
 
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
 
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 MongoDB SoCal 2020: MongoDB Atlas Jump Start MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
 
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
 
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
 
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
 
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
 
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
 
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
 
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
 
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
 
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
 
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
 
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
 
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 

MongoDB at Flight Centre Ltd

  • 1. Flight Centre Limited How MongoDB has empowered the business to rapidly respond to market conditions Michael Frost Web Solution Architect
  • 2. Flight Centre Flight Centre Limited is one of the world's largest travel agency groups, with more than 2000 leisure, corporate and wholesale businesses in 11 countries. After starting with one shop 30 years ago, we have enjoyed remarkable ongoing growth. Our rapidly expanding network now extends throughout Australia, New Zealand, the United States, Canada, the United Kingdom, South Africa, Hong Kong, India, China, Singapore and the United Arab Emirates, providing travellers with a complete service.
  • 3. Flight Centre Online • 120 Online staff (Web Developers, SEO, Copy Writers, SEM, Application Developers, Online Marketers, Creative designers and Usability experts) • 60 Web sites over 6 different countries • Up to 200,000 pages on a site • Larger sites have 450,000 views per day • Multiple booking engines Air, Hotel, Sea, Insurance, Car • Two data centres for web hosting. Physical in Brisbane and Amazon EC2
  • 5. Business Problem • Product feeds for lead-in pricing (15 feeds and growing). 750,000 records • Content feeds (Hotel, Ship, Cruise Line, IATA, Destination). 550,000 records – Every feed has unique model • Need to override content – Each brand in each country is a different business • Need to be responsive to market. E.g. new cruise ship, or cruise ship sinks
  • 6. Business Problem • Content has different models, e.g. cruise ship content compared with hotel • Business constantly demand new model types or changes to existing models – Hotel • Majority developers are front end web
  • 8. FCL MongoDB Environment • FCL data centre RHEL6 64Bit 2 X CPU 7G RAM 100G data partition • Amazon servers c1.xlarge Amazon EC2 instances • MongoDB V2.0.3 • Replication with one master, and 2 slaves in each datacentre. New slaves can be quickly brought up if demand requires • 5 databases with up to 55 collections in a database • ~ 600,000 MongoDB requests per day • 2 mil records
  • 9. Hosting environment with Amazon data centre •Akamai geo-load balanced data centres •No single point of failure for hosting •Each data centre is designed to take full load if one data centre goes down •Each layer in each stack can be extended quickly if unexpected massive load came through
  • 10. What we found with MongoDB • Developers do not need to worry about schemas • Business can come to developers with new feed, content type, product, to be loaded in – E.g. Cruise Ship, Cruise Line, IATA location data, Hotel content, Hotel imaging – Define own domain models • Native way of thinking with Web Dev (JSON/REST) • Powers the majority of our sites
  • 11. What we found with MongoDB • Arbiter is only used to provide extra votes that the master we want stays as master • If master goes down slaves will continue to allow reads. Writes will not work – Writes are not mission critical – Competitions and the like • SLAVE_OK so slaves can perform reads
  • 12. What we found with MongoDB • Web solution enhancements become easier – Used to use Oracle • Oracle was homogenous. Had to know domain model and data structure up front. – With MongoDB we are able to change domain model at any point. Even at a record level. • We do not use sharding. Our data set did not easily provide a shard key – Has not affected performance while data can fit in memory
  • 13. Example- Cruise Page comprises of: •Call to product for lead-in pricing, then •Call to Ship content •Call to Cruise Line content •Call for other sailings •Page response time (without Akamai): 200ms
  • 14. Moving forward • Moved to cloud – Amazon EC2 – MongoDB makes this much easier and cheaper than Oracle • Multiple data centres catering for local countries – Replication model for read only is trivial. Write requires a bit of thinking • Data centre fail over – Each data centre will be able cater for all FCL country load • Application Developers changing to elastic design – MongoDB is well suited for elastic solutions
  • 15. Lessons learnt • New projects are very easy • Converting heavy relational models takes some time • Use case of data is important to know upfront – Our product model denormalises to 80 fields – Indexes are important and require constant review • Our developers can hit the models with any permutation of ways (id, location, supplier, star rating, keyword, duration) • Performance for new solutions excellent, performance after converting relation solution required more hardware. A minor redesign in our solution will solve performance issues – Thinking about problems in a relational way is inefficient with MongoDB. Need to tackle problems with a different mind set
  • 16. Lessons learnt • Learning curve for Web Developers easy. Learning curve for Application Developers a little longer (use to relational world) • Traditional reporting tools do not work easily. – Created a data warehouse in Oracle for reporting • Global write lock. Make sure database size fits in memory
  • 17. Questions Michael Frost Flight Centre Limited Michael.Frost@flightcentre.com.au