SlideShare a Scribd company logo
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

More Related Content

PPT
Tridion Content Broker - how and why we are using it at the RSPB (2007)
PPTX
Basic Website 101
PDF
AEM/CQ Montreal User Group Meeting - March 25, 2015 - Takeaways from Adobe Su...
PPTX
Preserving the iMIS Upgrade Path
PDF
Chilango Rails Ecommerce Lightning talk
PDF
Java Memory Structure
PDF
Arrested by the cap devoxx uk 2018
PPTX
Static Site Generation with Hugo and Markdown
Tridion Content Broker - how and why we are using it at the RSPB (2007)
Basic Website 101
AEM/CQ Montreal User Group Meeting - March 25, 2015 - Takeaways from Adobe Su...
Preserving the iMIS Upgrade Path
Chilango Rails Ecommerce Lightning talk
Java Memory Structure
Arrested by the cap devoxx uk 2018
Static Site Generation with Hugo and Markdown

What's hot (20)

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

Viewers also liked (20)

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

Similar to MongoDB at Flight Centre Ltd (20)

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

More from MongoDB (20)

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

Recently uploaded (20)

PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Modernizing your data center with Dell and AMD
PPTX
A Presentation on Artificial Intelligence
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Approach and Philosophy of On baking technology
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPT
Teaching material agriculture food technology
PPTX
Cloud computing and distributed systems.
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Electronic commerce courselecture one. Pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
cuic standard and advanced reporting.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Modernizing your data center with Dell and AMD
A Presentation on Artificial Intelligence
The Rise and Fall of 3GPP – Time for a Sabbatical?
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Approach and Philosophy of On baking technology
Review of recent advances in non-invasive hemoglobin estimation
Unlocking AI with Model Context Protocol (MCP)
20250228 LYD VKU AI Blended-Learning.pptx
Teaching material agriculture food technology
Cloud computing and distributed systems.
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
MYSQL Presentation for SQL database connectivity
Reach Out and Touch Someone: Haptics and Empathic Computing
Electronic commerce courselecture one. Pdf
Per capita expenditure prediction using model stacking based on satellite ima...
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
cuic standard and advanced reporting.pdf
The AUB Centre for AI in Media Proposal.docx

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