Skyscanner uses Couchbase to cache live pricing data for flights and hotels to handle 2000 queries per second and 2 billion itineraries and quotes. They needed a database that provided consistency, horizontal scaling, elasticity, persistence, speed and resilience while being simple to use. While relational databases and data warehouses were no longer suitable, NoSQL databases like Couchbase with its map reduce and views capabilities met their requirements for scaling the live pricing cache in a changing technological environment.
9. Website Native Apps APIs and White
Labels
Traditional Airlines Budget Airlines Online Travel Agencies
10.
11.
12. Prices +Timetables
Data Collection
Services
1) Which websites
should we show?
2) What prices do
we already have
cached?
3) Live update
what we still
need.
5) Return the
prices to the user.
4) Clean up and
save the new data
Live Pricing
Service
29. A distributed database…
Fluentd
Kafka reporting
Graphite
Stitched
events
Fluentd
Stitched
events
Operational
metrics
Raw JSON events Errors
Elastic
MapReduce
Raw
Events
Trigger and view materialization Indexes on the data
32. We still face the same challenges
RAM and Disk i/o concerns
Administration
Security
Data insert and retrieval
Monitoring and alerting
Performance optimization
38. Edinburgh
Quartermile One
15 Lauriston Place
Edinburgh
EH3 9EN
Glasgow
5th floor,
151-155 St Vincent
St, Glasgow
G2 5NW
Singapore
No. 08-01&04 & 09-
04
8th floor,
Robinson Point,
39 Robinson Rd,
Singapore
Beijing
Level 19, Tower E2,
Oriental Plaza,
No. 1 East Chang An
Avenue,
Dong Cheng District,
Beijing 100738
Miami
1395 Brickell Ave,
Suite 900,
Miami,
Florida 33131
Barcelona
Torre NN,
Calle Tarragona, 157,
4a Planta,
Barcelona, 08014
thank you
Editor's Notes
Approach heavily inspired by http://engineering.linkedin.com/distributed-systems/log-what-every-software-engineer-should-know-about-real-time-datas-unifying