SlideShare a Scribd company logo
1 of 45
Download to read offline
{ “Amadeus”: ”Instant Search for Travel” }
©2016AmadeusS.A.S.
Breaking the boundaries of
travel inspiration
Loic CRETIN
Pierre PETITPREZ
November 15th
MongoDB Europe - London
About us…
©2015AmadeusITGroupSA
Pierre PETITPREZ
Software Engineer,
Middleware
Loic CRETIN
Manager Software
Development
Page 3
©2016AmadeusS.A.S.
Agenda
{
“1”: “Who are we?”,
“2”: “Data modelling”,
“3”: “Sharding”,
“4”: “Advanced queries”,
“5”: “3.2 Connections”,
“6”: “MongoDB @ Amadeus”,
“7”: “What is coming…”
}
{ “Topic”: “Who are we?” }1
©2016AmadeusS.A.S.
Amadeus is a technology company dedicated to the
global travel industry.
We are present in 195 countries
with a worldwide team of more than 13,000 people.
Our solutions help improve the
business performance
of travel agencies, corporations, airlines,
airports, hotels, railways and more.
Amadeus in a few words
©2015AmadeusITGroupSA
Robust global operations
©2015AmadeusITGroupSA
1.6+
billion
data requests
processed per day
566+
million
travel agency
bookings
processed in 2015
747+
million
Passengers
Boarded (PBs)
in 2015
95%of the world’s
scheduled
network airline
seats
Page 7
Amadeus Search, Shopping and Pricing solutions
Airlines Travel Agency
Online Web Sites
Search
ShoppingPricing
Re-Pricing
Page 8
to complex infrastructure
©2016AmadeusS.A.S.
Consumer relevance
& natural search
Content
exhaustiveness
Instant response
Time
25% travelers are not
decided on destination
42% travelers are not
decided on the date
76% travelers have no clear
idea on budget to spent
From simple idea…
Page 9
Use case description
Leaving from London, where
can I go with 1200€ from 17th
to 21th of December?
NYC
1038 €
SAO
1170 €
CPT
1006 €
SAO
1170 €
CPT
1006 €
Page 10
Use case description
Leaving from London, where
can I go with 1200€ from 17th
to 21th of December?
NYC
1038 €
SAO
1170 €
CPT
1006 €
SAO
1170 €
CPT
1006 €
LON NYC 12/17 12/21
Travel.com
Search1 adult economy
View deal
1038€ 10:50 LGW -> 18:45 JFK 12h 55m 1 stop (MAD)
22:10 JFK -> 10:00 LHR 6h 50m nonstop
View deal
1041€ 14:05 LHR -> 19:30 JFK 10h 25m 1 stop (AMS)
17:55 JFK -> 08:10 LHR 9h 15m 1 stop (AMS)
View deal
1084€ 11:20 LHR -> 19:02 JFK 12h 44m 1 stop (BOS)
11:25 LGA -> 06:50 LHR 10h 25m 1 stop (RDV)
Page 11
Deep dive into the architecture
©2016AmadeusS.A.S.
Cache
Computation
LON-
MAD-12354-IB-
AF-123-1200-13
54LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-12
3-1200-1354
LON-
MAD-12354-IB-
AF-12
3-1200-1354
LON-
MAD-12354-IB-
AF-12
3-1200-1354
LON-
MAD-12354-IB-
AF-12
3-1200-1354
LON-
MAD-12354-IB-
AF-12
3-1200-1354
LON-
MAD-12354-IB-
AF-12
3-1200-1354
LON-
MAD-12354-IB-
AF-12
3-1200-1354
LON-
MAD-12354-IB-
AF-12
3-1200-1354
LON-
MAD-12354-IB-
AF-12
3-1200-1354
LON-
MAD-12354-IB-
AF-12
3-1200-1354
LON-
MAD-12354-IB-
AF-123
-1200-1354
LON-
MAD-12354-IB-
AF-123-
1200-1354
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123200-1354
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-MAD-
12354-IB-
A1200-1354
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-I
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
12354-I
LON-
MAD-12354-IB-
AF-123-1200-13
54LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-12
3-1200-1354
LON-
MAD-12354-IB-
AF-12
3-1200-1354
LON-
MAD-12354-IB-
AF-12
3-1200-1354
LON-
MAD-12354-IB-
AF-12
3-1200-1354
LON-
MAD-12354-IB-
AF-12
3-1200-1354
LON-
MAD-12354-IB-
AF-12
3-1200-1354
LON-
MAD-12354-IB-
AF-12
3-1200-1354
LON-
MAD-12354-IB-
AF-12
3-1200-1354
LON-
MAD-12354-IB-
AF-12
3-1200-1354
LON-
MAD-12354-IB-
AF-12
3-1200-1354
LON-
MAD-12354-IB-
AF-123
-1200-1354
LON-
MAD-12354-IB-
AF-123-
1200-1354
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123200-1354
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-MAD-
12354-IB-
A1200-1354
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-I
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
12354-I
LON-
MAD-12354-IB-
AF-123-1200-13
54LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-12
3-1200-1354
LON-
MAD-12354-IB-
AF-12
3-1200-1354
LON-
MAD-12354-IB-
AF-12
3-1200-1354
LON-
MAD-12354-IB-
AF-12
3-1200-1354
LON-
MAD-12354-IB-
AF-12
3-1200-1354
LON-
MAD-12354-IB-
AF-12
3-1200-1354
LON-
MAD-12354-IB-
AF-12
3-1200-1354
LON-
MAD-12354-IB-
AF-12
3-1200-1354
LON-
MAD-12354-IB-
AF-12
3-1200-1354
LON-
MAD-12354-IB-
AF-12
3-1200-1354
LON-
MAD-12354-IB-
AF-123
-1200-1354
LON-
MAD-12354-IB-
AF-123-
1200-1354
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123200-1354
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-MAD-
12354-IB-
A1200-1354
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-I
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
12354-I
LON-
MAD-12354-IB-
AF-123-1200-13
54LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-12
3-1200-1354
LON-
MAD-12354-IB-
AF-12
3-1200-1354
LON-
MAD-12354-IB-
AF-12
3-1200-1354
LON-
MAD-12354-IB-
AF-12
3-1200-1354
LON-
MAD-12354-IB-
AF-12
3-1200-1354
LON-
MAD-12354-IB-
AF-12
3-1200-1354
LON-
MAD-12354-IB-
AF-12
3-1200-1354
LON-
MAD-12354-IB-
AF-12
3-1200-1354
LON-
MAD-12354-IB-
AF-12
3-1200-1354
LON-
MAD-12354-IB-
AF-12
3-1200-1354
LON-
MAD-12354-IB-
AF-123
-1200-1354
LON-
MAD-12354-IB-
AF-123-
1200-1354
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123200-1354
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-MAD-
12354-IB-
A1200-1354
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
LON-
MAD-12354-I
AF-123-1200-13
54
LON-
MAD-12354-IB-
AF-123-1200-13
54
12354-I
Indexing
Web Service
Page 12
In-house NoSQL Store
©2016AmadeusS.A.S.
In-house technology
•  Functional data partitioning
•  Non blocking updates, eventual consistency
•  Indexing for multi-dimensional range queries
•  In-memory and/or disk
Scalability limit
•  Use case with more than 1000
recommendations
•  Atomic data update for high cache
quality
Move to Standard NoSQL technology
{ “Topic”: “data modeling” }2
©2016AmadeusS.A.S.
Page 14
Data modeling
Principle & goals
©2015AmadeusITGroupSA
Why?
Limit index entries,
document fetch,
operation
What?
Find the best
data model
and query
strategy
How?
Go deeper into use case
Page 15
Data modeling
Focus on search use cases
©2015AmadeusITGroupSA
Description
•  Get all price results of a cell
•  Inputs: Client, Origin, Destination,
Departure and return date
Service Level
Agreement
•  Response time O(100)ms
•  No down time
Page 16
Data modeling
•  30 stay durations per departure date
•  360 departure dates per city pair
•  250 price results per date
combination
•  Thousands of city pairs per client
•  Hundreds of clients
•  Total >100,000,000,000 results
•  bookable solution
Focus on data domain
©2015AmadeusITGroupSA
LAX
NYC
Stay Duration
Date
LAX
BOS
Stay Duration
Date
NYC
LAX
Stay Duration
Date
BOS
LAX
Stay Duration
Date
BOS
NYC
Stay Duration
Date
NYC
BOS
Stay Duration
Date
30
360
O(1000)
ORI DEST OutDate Stay
Fares/Flights 1
ORI DEST OutDate Stay
Fares/Flights 2
ORI DEST OutDate Stay
Fares/Flights 3
…
ORI DEST OutDate Stay
Fares/Flights 249
ORI DEST OutDate Stay
Fares/Flights 250
Travel Solution
250
Page 17
Data modeling
•  Updates come per group of cell(s)
•  Add/remove one date every day
•  Update could be done several time a
day
•  Capacity to update all data in a day
Focus on update use cases
©2015AmadeusITGroupSA
ORI DEST OutDate Stay
Fares/Flights 1
ORI DEST OutDate Stay
Fares/Flights 2
ORI DEST OutDate Stay
Fares/Flights 3
…
ORI DEST OutDate Stay
Fares/Flights 249
ORI DEST OutDate Stay
Fares/Flights 250
ORI DEST OutDate Stay
Fares/Flights 1
ORI DEST OutDate Stay
Fares/Flights 2
ORI DEST OutDate Stay
Fares/Flights 3
…
ORI DEST OutDate Stay
Fares/Flights 249
ORI DEST OutDate Stay
Fares/Flights 250
ORI DEST OutDate Stay
Fares/Flights 1
ORI DEST OutDate Stay
Fares/Flights 2
ORI DEST OutDate Stay
Fares/Flights 3
…
ORI DEST OutDate Stay
Fares/Flights 249
ORI DEST OutDate Stay
Fares/Flights 250
ORI DEST OutDate Stay
Fares/Flights 1
ORI DEST OutDate Stay
Fares/Flights 2
ORI DEST OutDate Stay
Fares/Flights 3
…
ORI DEST OutDate Stay
Fares/Flights 249
ORI DEST OutDate Stay
Fares/Flights 250
ORI DEST OutDate Stay
Fares/Flights 1
ORI DEST OutDate Stay
Fares/Flights 2
ORI DEST OutDate Stay
Fares/Flights 3
…
ORI DEST OutDate Stay
Fares/Flights 249
ORI DEST OutDate Stay
Fares/Flights 250
ORI DEST OutDate Stay
Fares/Flights 1
ORI DEST OutDate Stay
Fares/Flights 2
ORI DEST OutDate Stay
Fares/Flights 3
…
ORI DEST OutDate Stay
Fares/Flights 249
ORI DEST OutDate Stay
Fares/Flights 250
ORI DEST OutDate Stay
Fares/Flights 1
ORI DEST OutDate Stay
Fares/Flights 2
ORI DEST OutDate Stay
Fares/Flights 3
…
ORI DEST OutDate Stay
Fares/Flights 249
ORI DEST OutDate Stay
Fares/Flights 250
ORI DEST OutDate Stay
Fares/Flights 1
ORI DEST OutDate Stay
Fares/Flights 2
ORI DEST OutDate Stay
Fares/Flights 3
…
ORI DEST OutDate Stay
Fares/Flights 249
ORI DEST OutDate Stay
Fares/Flights 250
LAX
NYC
Stay Duration
Date
LAX
NYC
Stay Duration
Date
Page 18
Data model: 1 document = 1 Cell
©2015AmadeusITGroupSA
Document format:
{
"_id" : ObjectId("570…2d6"),
"Orig" : "NYC",
"Dest" : "LAX",
"DepDate" : ISODate("2016-06-27…"),
"Stay" : 2,
"PriceResultList" : [
{…Price result 1…},
{…Price result 2…},

…
]
}
Highlights
•  Duplicate the key fields
•  Divide by 250 the index
entries and operations
•  468kB documents
Page 19
Bulk.find(
{
AX
).update(


Queries
©2015AmadeusITGroupSA
db.CLI.Update(
{"Orig" : "NYC",
"Dest" : "LAX",
"DepDate" :
ISODate("2016-06-27…"),
"Stay" : 2},
{$set:{
PriceResultList:[{…},…]

}},
{upsert:1}
)
db.CLI.find(
{"Orig" : "NYC",
"Dest" : "LAX",
"DepDate" :
ISODate("2016-06-27…"),
"Stay" : 2},
{_id:0,PriceResultList:1}
)
Page 20
Indexes and Shard key
©2015AmadeusITGroupSA
{
"Orig" : 1,

"Dest" : 1,

"DepDate" : 1,

"Stay" : 1
}
{
"v" : 1,
"key" : {
"Orig" : 1,
"Dest" : 1,
"DepDate" : 1,
"Stay" : 1
},
"name" : "KeyIdx"
}
{
"v" : 1,
"key" : {
"DepDate" : 1
},
"name" : "expireAt",
"expireAfterSeconds" : 172800
}
Data Access index Expiration index Shard key
{ “Topic”: “Sharding - solution for
limitations with consequences” }
3
©2015AmadeusITGroupSA
Page 22
Why sharding help you
©2015AmadeusITGroupSA
Replication throughput limitation
Initial Sync speed
Update performance (index size reduction)
Replication lag
Page 23
Sharding consequence for us
Split/Migration chunks problems
©2015AmadeusITGroupSA
Split & Balancing leads to peak of response time
Shard key important (Date into shard key, Empty chunk)
Split capacity decrease with number of chunks
Slow balancing SplitAt loop
3 days for 200k
Add of 4 shards
1 week of balancing
Page 24
Split/Migration chunks
Solution
©2015AmadeusITGroupSA
Shard 1
OldCol Chunks
Chunk1
Shard 2
Chunk2
NewCol
Chunks
Chunk1
Chunk2
Feed Search
Free
Space
Deactivate autosplit & balancing
Shard key: Hashkey
Manual dispatch (double feed/search)
{ “Topic”: “Advanced queries” }5
©2015AmadeusITGroupSA
Page 26
Use case description
Leaving from London, where
can I go with 1200€ from 17th
to 21th of December?
NYC
1038 €
SAO
1170 €
CPT
1006 €
SAO
1170 €
CPT
1006 €
Page 27
NYC
LON
Stay Duration
Date
ORI DEST OutDate Stay
Fares/Flights 3
NYC
PAR
Stay Duration
Date
ORI DEST OutDate Stay
Fares/Flights 3
NYC
LAX
Stay Duration
Date
LON-???
©2015AmadeusITGroupSA
Open destination
ORI DEST OutDate Stay
Fares/Flights 3
ORI DEST OutDate Stay
Fares/Flights 3
ORI DEST OutDate Stay
Fares/Flights 3
ORI DEST OutDate Stay
Fares/Flights 3
ORI DEST OutDate Stay
Fares/Flights 3
ORI DEST OutDate Stay
Fares/Flights 3
•  Fixed Value:
ü Client
ü Origin
ü Destination
•  Range:
ü Departure date
ü Return date
ü Budget
Return best travel solutions
(lowest price) per destinations
ORI DEST OutDate Stay
Fares/Flights 1
ORI DEST OutDate Stay
Fares/Flights 2
ORI DEST OutDate Stay
Fares/Flights 3
…
ORI DEST OutDate Stay
Fares/Flights 249
ORI DEST OutDate Stay
Fares/Flights 250
ORI DEST OutDate Stay
Fares/Flights 1
ORI DEST OutDate Stay
Fares/Flights 2
ORI DEST OutDate Stay
Fares/Flights 3
…
ORI DEST OutDate Stay
Fares/Flights 249
ORI DEST OutDate Stay
Fares/Flights 250
ORI DEST OutDate Stay
Fares/Flights 1
ORI DEST OutDate Stay
Fares/Flights 2
ORI DEST OutDate Stay
Fares/Flights 3
…
ORI DEST OutDate Stay
Fares/Flights 249
ORI DEST OutDate Stay
Fares/Flights 250
ORI DEST OutDate Stay
Fares/Flights 1
ORI DEST OutDate Stay
Fares/Flights 2
ORI DEST OutDate Stay
Fares/Flights 3
…
ORI DEST OutDate Stay
Fares/Flights 249
ORI DEST OutDate Stay
Fares/Flights 250
ORI DEST OutDate Stay
Fares/Flights 1
ORI DEST OutDate Stay
Fares/Flights 2
ORI DEST OutDate Stay
Fares/Flights 3
…
ORI DEST OutDate Stay
Fares/Flights 249
ORI DEST OutDate Stay
Fares/Flights 250
ORI DEST OutDate Stay
Fares/Flights 1
ORI DEST OutDate Stay
Fares/Flights 2
ORI DEST OutDate Stay
Fares/Flights 3
…
ORI DEST OutDate Stay
Fares/Flights 249
ORI DEST OutDate Stay
Fares/Flights 250
Page 28
LON - ???
©2015AmadeusITGroupSA
Open destination
db.IFL.aggregate(
[{"$match": {
"Ori": "NYC",
"DepDate": {"$gte": ISODate("2016-06-20T…"),
"$lte": ISODate("2016-06-30T…")},
"Stay": {"$gte": 4, "$lte": 10},
"PriceResultList.amount": {"$lte": 900}
}},
{"$unwind": "$PriceResultList"},
{"$project": {
"Dest": "$Dest",
"matcher": {
"prices": "$PriceResultList.amount",
"doc": "$PriceResultList"
}
}},
{"$group": {
"_id": {
"Dest": "$Dest",
},
"price": {
"$min": "$matcher"
}}}]);
Using MongoDB aggregation
framework
Performance issue taking
minutes
Page 29
Data model: 1 document = 1 Cell = “best” price
©2015AmadeusITGroupSA
{
"_id" : ObjectId("570…2d6"),
"Orig" : "NYC",
"Dest" : "LAX",
"DepDate" : ISODate("2016-06-27…"),
"Stay" : 2,
"PR" : {
"type" : "CHP",
"amount" : 215.12,
…price result fields…

}

}
}
additional index:
{
"v" : 1,
"key" : {
"Orig" : 1,
"PR.type" : 1,
"Dest" :1,
"PR.amount" : 1,
"Stay" : 1,
"DepDate" : 1,

},
"name" : "Cheapest"
},
New Collection (only cheapest),
new index
Using MongoDB aggregation
framework
Performance issue still above
the second
equality
sort
range
Page 30
Query strategy: Open destination
©2015AmadeusITGroupSA
Two collections
•  Destinations candidate
•  City pair prices
Don’t use MongoDB aggregation framework (combination of find)
Grouping with Aggregation framework took 350 ms
Better performance
{ “Topic”: “3.2 Connections” }5
©2015AmadeusITGroupSA
Page 32
3.2 Connection pools
Problems
©2015AmadeusITGroupSA
_ Open search activation on 3.2
_ Migration from 3.0 to 3.2
_ Search query response time
around 5 second (several peaks
per minutes)
_ Open/Close connections
_ Peaks disappear with higher
search traffic
Max response time
Average response time
Connection activity per shard (ops-manage)
Page 33
3.2 Connection pools
Investigation on-going
©2015AmadeusITGroupSA
_ Connection pooling enhancement
•  3.0: One Global connection pool
•  3.2: Tunable smaller connection pool
_ taskExecutorPoolSize parameter set by default to 0
•  Automatically set depending the number of available cores
•  64 cores on machine hosted mongos -> many connections idle
_ SERVER-25027 Server ticket
Page 34
3.2 Connection pools
Investigation on-going
©2015AmadeusITGroupSA
_ taskExecutorPoolsize set to
•  4 on mongod side
•  16 on mongos side
_ Connections parameters tunable into 3.4 (3.4.0-rc3)
•  kDefaultMinConns
•  kDefaultRefreshTimeout
•  kDefaultRefreshRequirement
•  kDefaultHostTimeout
Max response time
Average response time
{ “Topic”: “MongoDB @ Amadeus” }6
©2015AmadeusITGroupSA
Page 36
MongoDB Enterprise
©2015AmadeusITGroupSA
Automation
Monitoring
Backup /
restore
Training /
consulting
Commercial
support
Security
MongoDB
Enterprise
Page 37
Topology DBOps Manager
Operations
©2015AmadeusITGroupSA
Internal tooling
Monitoring
Alerting
Operability
Configuration deployment
Page 38
Middleware
©2015AmadeusITGroupSA
Enterprise-wide standard
Client side monitoring
Built-in best practices
Resiliency (Mongos HA)
Page 39
Deployment
©2015AmadeusITGroupSA
Monitoring / Alerting
MongoDB Cluster
Server 1
Shard 1
Shard 2
Shard 3
…
Shard n
Server 2
Shard 1
Shard 2
Shard 3
…
Shard n
Server 3
Shard 1
Shard 2
Shard 3
…
Shard n
Ops Manager
Corporate tooling
Application servers
BE
S S
BE
S S
BE
S
S
Page 40
Deployment
©2015AmadeusITGroupSA
_  Hardware
•  24 physical machines
•  1152 CPU
•  6 TB of RAM
•  72 TB Fusion IO
•  3 members replica set
•  56 shards in total
•  2 Clusters
_  Traffic
•  14.6 Billions Price results
•  40 TB Data uncompressed
•  5.3 TB Data compressed on disk
•  12 Millions transaction Search / day
•  Mongo response time ~0.15ms/PR
•  120 Millions transaction Update / day
•  18.6 Billions PR / day
•  Mongo response time ~0.10ms/PR
Add
shards
Add
shards Add
shards
Size per shard
{ “Topic”: “What’s coming…” }7
©2015AmadeusITGroupSA
Page 42
What’s coming… Scaling up
©2016AmadeusS.A.S.
Handle huge
amount of data
Manageable and Multi
cluster environment
Page 43
What’s coming… Data Store into Cloud Services
©2016AmadeusS.A.S.
_ Closer to our customers
•  Reduce the latency
_ Remote operations
•  Install appliances within customer premises when
appropriate
_ Multiple Cloud/data-center capability
Page 44
Takeaways
Next step
_ Follow MongoDB
evolution (3.2, 3.4++)
_ Scaling up
infrastructure
_ Multi Cloud/data-center
©2016AmadeusS.A.S.
Production
_ Volume ramp up
_ 24 Physical machines
_ Increase to > 100
Shards
Performance
_ Benchmark for
performance
optimization
_ Find, sort, limit vs
Aggregate Framework
_ Lessons learned
Collaboration
_ MongoDB JIRA
contributor
_ Amadeus MongoDB
community
You can follow us on:
AmadeusITGroup
amadeus.com/blog
amadeus.com
Thank you
©2015AmadeusITGroupSA

More Related Content

What's hot

Webinar: Enterprise Data Management in the Era of MongoDB and Data Lakes
Webinar: Enterprise Data Management in the Era of MongoDB and Data LakesWebinar: Enterprise Data Management in the Era of MongoDB and Data Lakes
Webinar: Enterprise Data Management in the Era of MongoDB and Data LakesMongoDB
 
Unlocking Operational Intelligence from the Data Lake
Unlocking Operational Intelligence from the Data LakeUnlocking Operational Intelligence from the Data Lake
Unlocking Operational Intelligence from the Data LakeMongoDB
 
An Enterprise Architect's View of MongoDB
An Enterprise Architect's View of MongoDBAn Enterprise Architect's View of MongoDB
An Enterprise Architect's View of MongoDBMongoDB
 
MongoDB in a Mainframe World
MongoDB in a Mainframe WorldMongoDB in a Mainframe World
MongoDB in a Mainframe WorldMongoDB
 
MongoDB Operations for Developers
MongoDB Operations for DevelopersMongoDB Operations for Developers
MongoDB Operations for DevelopersMongoDB
 
Benefits of Using MongoDB Over RDBMSs
Benefits of Using MongoDB Over RDBMSsBenefits of Using MongoDB Over RDBMSs
Benefits of Using MongoDB Over RDBMSsMongoDB
 
Prepare for Peak Holiday Season with MongoDB
Prepare for Peak Holiday Season with MongoDBPrepare for Peak Holiday Season with MongoDB
Prepare for Peak Holiday Season with MongoDBMongoDB
 
MongoDB Evenings DC: MongoDB - The New Default Database for Giant Ideas
MongoDB Evenings DC: MongoDB - The New Default Database for Giant IdeasMongoDB Evenings DC: MongoDB - The New Default Database for Giant Ideas
MongoDB Evenings DC: MongoDB - The New Default Database for Giant IdeasMongoDB
 
Webinar: Simplifying the Database Experience with MongoDB Atlas
Webinar: Simplifying the Database Experience with MongoDB AtlasWebinar: Simplifying the Database Experience with MongoDB Atlas
Webinar: Simplifying the Database Experience with MongoDB AtlasMongoDB
 
Overcoming Today's Data Challenges with MongoDB
Overcoming Today's Data Challenges with MongoDBOvercoming Today's Data Challenges with MongoDB
Overcoming Today's Data Challenges with MongoDBMongoDB
 
NoSQL for the SQL Server Pro
NoSQL for the SQL Server ProNoSQL for the SQL Server Pro
NoSQL for the SQL Server ProLynn Langit
 
How Insurance Companies Use MongoDB
How Insurance Companies Use MongoDB How Insurance Companies Use MongoDB
How Insurance Companies Use MongoDB MongoDB
 
Webinar: Faster Big Data Analytics with MongoDB
Webinar: Faster Big Data Analytics with MongoDBWebinar: Faster Big Data Analytics with MongoDB
Webinar: Faster Big Data Analytics with MongoDBMongoDB
 
MongoDB Breakfast Milan - Mainframe Offloading Strategies
MongoDB Breakfast Milan -  Mainframe Offloading StrategiesMongoDB Breakfast Milan -  Mainframe Offloading Strategies
MongoDB Breakfast Milan - Mainframe Offloading StrategiesMongoDB
 
Top 5 Things to Know About Integrating MongoDB into Your Data Warehouse
Top 5 Things to Know About Integrating MongoDB into Your Data WarehouseTop 5 Things to Know About Integrating MongoDB into Your Data Warehouse
Top 5 Things to Know About Integrating MongoDB into Your Data WarehouseMongoDB
 
[DataCon.TW 2017] Data Lake: centralize in on-prem vs. decentralize on cloud
[DataCon.TW 2017] Data Lake: centralize in on-prem vs. decentralize on cloud[DataCon.TW 2017] Data Lake: centralize in on-prem vs. decentralize on cloud
[DataCon.TW 2017] Data Lake: centralize in on-prem vs. decentralize on cloudJeff Hung
 
Advanced Schema Design Patterns
Advanced Schema Design PatternsAdvanced Schema Design Patterns
Advanced Schema Design PatternsMongoDB
 
Stream Processing as Game Changer for Big Data and Internet of Things by Kai ...
Stream Processing as Game Changer for Big Data and Internet of Things by Kai ...Stream Processing as Game Changer for Big Data and Internet of Things by Kai ...
Stream Processing as Game Changer for Big Data and Internet of Things by Kai ...Big Data Spain
 
Cloud Big Data Architectures
Cloud Big Data ArchitecturesCloud Big Data Architectures
Cloud Big Data ArchitecturesLynn Langit
 
MongoDB Evenings DC: Get MEAN and Lean with Docker and Kubernetes
MongoDB Evenings DC: Get MEAN and Lean with Docker and KubernetesMongoDB Evenings DC: Get MEAN and Lean with Docker and Kubernetes
MongoDB Evenings DC: Get MEAN and Lean with Docker and KubernetesMongoDB
 

What's hot (20)

Webinar: Enterprise Data Management in the Era of MongoDB and Data Lakes
Webinar: Enterprise Data Management in the Era of MongoDB and Data LakesWebinar: Enterprise Data Management in the Era of MongoDB and Data Lakes
Webinar: Enterprise Data Management in the Era of MongoDB and Data Lakes
 
Unlocking Operational Intelligence from the Data Lake
Unlocking Operational Intelligence from the Data LakeUnlocking Operational Intelligence from the Data Lake
Unlocking Operational Intelligence from the Data Lake
 
An Enterprise Architect's View of MongoDB
An Enterprise Architect's View of MongoDBAn Enterprise Architect's View of MongoDB
An Enterprise Architect's View of MongoDB
 
MongoDB in a Mainframe World
MongoDB in a Mainframe WorldMongoDB in a Mainframe World
MongoDB in a Mainframe World
 
MongoDB Operations for Developers
MongoDB Operations for DevelopersMongoDB Operations for Developers
MongoDB Operations for Developers
 
Benefits of Using MongoDB Over RDBMSs
Benefits of Using MongoDB Over RDBMSsBenefits of Using MongoDB Over RDBMSs
Benefits of Using MongoDB Over RDBMSs
 
Prepare for Peak Holiday Season with MongoDB
Prepare for Peak Holiday Season with MongoDBPrepare for Peak Holiday Season with MongoDB
Prepare for Peak Holiday Season with MongoDB
 
MongoDB Evenings DC: MongoDB - The New Default Database for Giant Ideas
MongoDB Evenings DC: MongoDB - The New Default Database for Giant IdeasMongoDB Evenings DC: MongoDB - The New Default Database for Giant Ideas
MongoDB Evenings DC: MongoDB - The New Default Database for Giant Ideas
 
Webinar: Simplifying the Database Experience with MongoDB Atlas
Webinar: Simplifying the Database Experience with MongoDB AtlasWebinar: Simplifying the Database Experience with MongoDB Atlas
Webinar: Simplifying the Database Experience with MongoDB Atlas
 
Overcoming Today's Data Challenges with MongoDB
Overcoming Today's Data Challenges with MongoDBOvercoming Today's Data Challenges with MongoDB
Overcoming Today's Data Challenges with MongoDB
 
NoSQL for the SQL Server Pro
NoSQL for the SQL Server ProNoSQL for the SQL Server Pro
NoSQL for the SQL Server Pro
 
How Insurance Companies Use MongoDB
How Insurance Companies Use MongoDB How Insurance Companies Use MongoDB
How Insurance Companies Use MongoDB
 
Webinar: Faster Big Data Analytics with MongoDB
Webinar: Faster Big Data Analytics with MongoDBWebinar: Faster Big Data Analytics with MongoDB
Webinar: Faster Big Data Analytics with MongoDB
 
MongoDB Breakfast Milan - Mainframe Offloading Strategies
MongoDB Breakfast Milan -  Mainframe Offloading StrategiesMongoDB Breakfast Milan -  Mainframe Offloading Strategies
MongoDB Breakfast Milan - Mainframe Offloading Strategies
 
Top 5 Things to Know About Integrating MongoDB into Your Data Warehouse
Top 5 Things to Know About Integrating MongoDB into Your Data WarehouseTop 5 Things to Know About Integrating MongoDB into Your Data Warehouse
Top 5 Things to Know About Integrating MongoDB into Your Data Warehouse
 
[DataCon.TW 2017] Data Lake: centralize in on-prem vs. decentralize on cloud
[DataCon.TW 2017] Data Lake: centralize in on-prem vs. decentralize on cloud[DataCon.TW 2017] Data Lake: centralize in on-prem vs. decentralize on cloud
[DataCon.TW 2017] Data Lake: centralize in on-prem vs. decentralize on cloud
 
Advanced Schema Design Patterns
Advanced Schema Design PatternsAdvanced Schema Design Patterns
Advanced Schema Design Patterns
 
Stream Processing as Game Changer for Big Data and Internet of Things by Kai ...
Stream Processing as Game Changer for Big Data and Internet of Things by Kai ...Stream Processing as Game Changer for Big Data and Internet of Things by Kai ...
Stream Processing as Game Changer for Big Data and Internet of Things by Kai ...
 
Cloud Big Data Architectures
Cloud Big Data ArchitecturesCloud Big Data Architectures
Cloud Big Data Architectures
 
MongoDB Evenings DC: Get MEAN and Lean with Docker and Kubernetes
MongoDB Evenings DC: Get MEAN and Lean with Docker and KubernetesMongoDB Evenings DC: Get MEAN and Lean with Docker and Kubernetes
MongoDB Evenings DC: Get MEAN and Lean with Docker and Kubernetes
 

Viewers also liked

Full scan frenzy at amadeus
Full scan frenzy at amadeusFull scan frenzy at amadeus
Full scan frenzy at amadeusMongoDB
 
MongoDB Europe 2016 - Welcome
MongoDB Europe 2016 - WelcomeMongoDB Europe 2016 - Welcome
MongoDB Europe 2016 - WelcomeMongoDB
 
MongoDB Europe 2016 - MongoDB, Ops Manager & Docker at SNCF
MongoDB Europe 2016 - MongoDB, Ops Manager & Docker at SNCFMongoDB Europe 2016 - MongoDB, Ops Manager & Docker at SNCF
MongoDB Europe 2016 - MongoDB, Ops Manager & Docker at SNCFMongoDB
 
MongoDB Europe 2016 - Enabling the Internet of Things at Proximus - Belgium's...
MongoDB Europe 2016 - Enabling the Internet of Things at Proximus - Belgium's...MongoDB Europe 2016 - Enabling the Internet of Things at Proximus - Belgium's...
MongoDB Europe 2016 - Enabling the Internet of Things at Proximus - Belgium's...MongoDB
 
MongoDB Europe 2016 - Advanced MongoDB Aggregation Pipelines
MongoDB Europe 2016 - Advanced MongoDB Aggregation PipelinesMongoDB Europe 2016 - Advanced MongoDB Aggregation Pipelines
MongoDB Europe 2016 - Advanced MongoDB Aggregation PipelinesMongoDB
 
MongoDB Europe 2016 - Debugging MongoDB Performance
MongoDB Europe 2016 - Debugging MongoDB PerformanceMongoDB Europe 2016 - Debugging MongoDB Performance
MongoDB Europe 2016 - Debugging MongoDB PerformanceMongoDB
 
MongoDB Europe 2016 - MongoDB 3.4 preview and introduction to MongoDB Atlas
MongoDB Europe 2016 - MongoDB 3.4 preview and introduction to MongoDB AtlasMongoDB Europe 2016 - MongoDB 3.4 preview and introduction to MongoDB Atlas
MongoDB Europe 2016 - MongoDB 3.4 preview and introduction to MongoDB AtlasMongoDB
 
MongoDB Europe 2016 - Graph Operations with MongoDB
MongoDB Europe 2016 - Graph Operations with MongoDBMongoDB Europe 2016 - Graph Operations with MongoDB
MongoDB Europe 2016 - Graph Operations with MongoDBMongoDB
 
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 MongoDBMongoDB
 
MongoDB Launchpad 2016: Moving Cybersecurity to the Cloud
MongoDB Launchpad 2016: Moving Cybersecurity to the CloudMongoDB Launchpad 2016: Moving Cybersecurity to the Cloud
MongoDB Launchpad 2016: Moving Cybersecurity to the CloudMongoDB
 
MongoDB Europe 2016 - Star in a Reasonably Priced Car - Which Driver is Best?
MongoDB Europe 2016 - Star in a Reasonably Priced Car - Which Driver is Best?MongoDB Europe 2016 - Star in a Reasonably Priced Car - Which Driver is Best?
MongoDB Europe 2016 - Star in a Reasonably Priced Car - Which Driver is Best?MongoDB
 
MongoDB Europe 2016 - Building WiredTiger
MongoDB Europe 2016 - Building WiredTigerMongoDB Europe 2016 - Building WiredTiger
MongoDB Europe 2016 - Building WiredTigerMongoDB
 
MongoDB Europe 2016 - Who’s Helping Themselves To Your Data? Demystifying Mon...
MongoDB Europe 2016 - Who’s Helping Themselves To Your Data? Demystifying Mon...MongoDB Europe 2016 - Who’s Helping Themselves To Your Data? Demystifying Mon...
MongoDB Europe 2016 - Who’s Helping Themselves To Your Data? Demystifying Mon...MongoDB
 
MongoDB Europe 2016 - Big Data meets Big Compute
MongoDB Europe 2016 - Big Data meets Big ComputeMongoDB Europe 2016 - Big Data meets Big Compute
MongoDB Europe 2016 - Big Data meets Big ComputeMongoDB
 
MongoDB Europe 2016 - ETL for Pros – Getting Data Into MongoDB The Right Way
MongoDB Europe 2016 - ETL for Pros – Getting Data Into MongoDB The Right WayMongoDB Europe 2016 - ETL for Pros – Getting Data Into MongoDB The Right Way
MongoDB Europe 2016 - ETL for Pros – Getting Data Into MongoDB The Right WayMongoDB
 
MongoDB Europe 2016 - Powering Microservices with Docker, Kubernetes, and Kafka
MongoDB Europe 2016 - Powering Microservices with Docker, Kubernetes, and KafkaMongoDB Europe 2016 - Powering Microservices with Docker, Kubernetes, and Kafka
MongoDB Europe 2016 - Powering Microservices with Docker, Kubernetes, and KafkaMongoDB
 
MongoDB Europe 2016 - Distributed Ledgers, Blockchain + MongoDB
MongoDB Europe 2016 - Distributed Ledgers, Blockchain + MongoDBMongoDB Europe 2016 - Distributed Ledgers, Blockchain + MongoDB
MongoDB Europe 2016 - Distributed Ledgers, Blockchain + MongoDBMongoDB
 
MongoDB Days UK: Building an Enterprise Data Fabric at Royal Bank of Scotland...
MongoDB Days UK: Building an Enterprise Data Fabric at Royal Bank of Scotland...MongoDB Days UK: Building an Enterprise Data Fabric at Royal Bank of Scotland...
MongoDB Days UK: Building an Enterprise Data Fabric at Royal Bank of Scotland...MongoDB
 
Webinar: Get Started with the MEAN Stack
Webinar: Get Started with the MEAN StackWebinar: Get Started with the MEAN Stack
Webinar: Get Started with the MEAN StackMongoDB
 
Migrating Netflix from Datacenter Oracle to Global Cassandra
Migrating Netflix from Datacenter Oracle to Global CassandraMigrating Netflix from Datacenter Oracle to Global Cassandra
Migrating Netflix from Datacenter Oracle to Global CassandraAdrian Cockcroft
 

Viewers also liked (20)

Full scan frenzy at amadeus
Full scan frenzy at amadeusFull scan frenzy at amadeus
Full scan frenzy at amadeus
 
MongoDB Europe 2016 - Welcome
MongoDB Europe 2016 - WelcomeMongoDB Europe 2016 - Welcome
MongoDB Europe 2016 - Welcome
 
MongoDB Europe 2016 - MongoDB, Ops Manager & Docker at SNCF
MongoDB Europe 2016 - MongoDB, Ops Manager & Docker at SNCFMongoDB Europe 2016 - MongoDB, Ops Manager & Docker at SNCF
MongoDB Europe 2016 - MongoDB, Ops Manager & Docker at SNCF
 
MongoDB Europe 2016 - Enabling the Internet of Things at Proximus - Belgium's...
MongoDB Europe 2016 - Enabling the Internet of Things at Proximus - Belgium's...MongoDB Europe 2016 - Enabling the Internet of Things at Proximus - Belgium's...
MongoDB Europe 2016 - Enabling the Internet of Things at Proximus - Belgium's...
 
MongoDB Europe 2016 - Advanced MongoDB Aggregation Pipelines
MongoDB Europe 2016 - Advanced MongoDB Aggregation PipelinesMongoDB Europe 2016 - Advanced MongoDB Aggregation Pipelines
MongoDB Europe 2016 - Advanced MongoDB Aggregation Pipelines
 
MongoDB Europe 2016 - Debugging MongoDB Performance
MongoDB Europe 2016 - Debugging MongoDB PerformanceMongoDB Europe 2016 - Debugging MongoDB Performance
MongoDB Europe 2016 - Debugging MongoDB Performance
 
MongoDB Europe 2016 - MongoDB 3.4 preview and introduction to MongoDB Atlas
MongoDB Europe 2016 - MongoDB 3.4 preview and introduction to MongoDB AtlasMongoDB Europe 2016 - MongoDB 3.4 preview and introduction to MongoDB Atlas
MongoDB Europe 2016 - MongoDB 3.4 preview and introduction to MongoDB Atlas
 
MongoDB Europe 2016 - Graph Operations with MongoDB
MongoDB Europe 2016 - Graph Operations with MongoDBMongoDB Europe 2016 - Graph Operations with MongoDB
MongoDB Europe 2016 - Graph Operations with MongoDB
 
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
 
MongoDB Launchpad 2016: Moving Cybersecurity to the Cloud
MongoDB Launchpad 2016: Moving Cybersecurity to the CloudMongoDB Launchpad 2016: Moving Cybersecurity to the Cloud
MongoDB Launchpad 2016: Moving Cybersecurity to the Cloud
 
MongoDB Europe 2016 - Star in a Reasonably Priced Car - Which Driver is Best?
MongoDB Europe 2016 - Star in a Reasonably Priced Car - Which Driver is Best?MongoDB Europe 2016 - Star in a Reasonably Priced Car - Which Driver is Best?
MongoDB Europe 2016 - Star in a Reasonably Priced Car - Which Driver is Best?
 
MongoDB Europe 2016 - Building WiredTiger
MongoDB Europe 2016 - Building WiredTigerMongoDB Europe 2016 - Building WiredTiger
MongoDB Europe 2016 - Building WiredTiger
 
MongoDB Europe 2016 - Who’s Helping Themselves To Your Data? Demystifying Mon...
MongoDB Europe 2016 - Who’s Helping Themselves To Your Data? Demystifying Mon...MongoDB Europe 2016 - Who’s Helping Themselves To Your Data? Demystifying Mon...
MongoDB Europe 2016 - Who’s Helping Themselves To Your Data? Demystifying Mon...
 
MongoDB Europe 2016 - Big Data meets Big Compute
MongoDB Europe 2016 - Big Data meets Big ComputeMongoDB Europe 2016 - Big Data meets Big Compute
MongoDB Europe 2016 - Big Data meets Big Compute
 
MongoDB Europe 2016 - ETL for Pros – Getting Data Into MongoDB The Right Way
MongoDB Europe 2016 - ETL for Pros – Getting Data Into MongoDB The Right WayMongoDB Europe 2016 - ETL for Pros – Getting Data Into MongoDB The Right Way
MongoDB Europe 2016 - ETL for Pros – Getting Data Into MongoDB The Right Way
 
MongoDB Europe 2016 - Powering Microservices with Docker, Kubernetes, and Kafka
MongoDB Europe 2016 - Powering Microservices with Docker, Kubernetes, and KafkaMongoDB Europe 2016 - Powering Microservices with Docker, Kubernetes, and Kafka
MongoDB Europe 2016 - Powering Microservices with Docker, Kubernetes, and Kafka
 
MongoDB Europe 2016 - Distributed Ledgers, Blockchain + MongoDB
MongoDB Europe 2016 - Distributed Ledgers, Blockchain + MongoDBMongoDB Europe 2016 - Distributed Ledgers, Blockchain + MongoDB
MongoDB Europe 2016 - Distributed Ledgers, Blockchain + MongoDB
 
MongoDB Days UK: Building an Enterprise Data Fabric at Royal Bank of Scotland...
MongoDB Days UK: Building an Enterprise Data Fabric at Royal Bank of Scotland...MongoDB Days UK: Building an Enterprise Data Fabric at Royal Bank of Scotland...
MongoDB Days UK: Building an Enterprise Data Fabric at Royal Bank of Scotland...
 
Webinar: Get Started with the MEAN Stack
Webinar: Get Started with the MEAN StackWebinar: Get Started with the MEAN Stack
Webinar: Get Started with the MEAN Stack
 
Migrating Netflix from Datacenter Oracle to Global Cassandra
Migrating Netflix from Datacenter Oracle to Global CassandraMigrating Netflix from Datacenter Oracle to Global Cassandra
Migrating Netflix from Datacenter Oracle to Global Cassandra
 

Similar to MongoDB Europe 2016 - Choosing Between 100 Billion Travel Options – Instant Search From Amadeus

Better, Faster, Stronger! Migration to 3.0
Better, Faster, Stronger! Migration to 3.0Better, Faster, Stronger! Migration to 3.0
Better, Faster, Stronger! Migration to 3.0MongoDB
 
Big Data LDN 2017: Data Integration & Big Data Management
Big Data LDN 2017: Data Integration & Big Data ManagementBig Data LDN 2017: Data Integration & Big Data Management
Big Data LDN 2017: Data Integration & Big Data ManagementMatt Stubbs
 
How Spark is Enabling the New Wave of Converged Cloud Applications
How Spark is Enabling the New Wave of Converged Cloud Applications How Spark is Enabling the New Wave of Converged Cloud Applications
How Spark is Enabling the New Wave of Converged Cloud Applications MapR Technologies
 
Emerging Trends in Cloud Computing.pptx
Emerging Trends in Cloud Computing.pptxEmerging Trends in Cloud Computing.pptx
Emerging Trends in Cloud Computing.pptxMandakini Kumari
 
Emerging Trends In Cloud Computing.pptx
Emerging Trends In Cloud Computing.pptxEmerging Trends In Cloud Computing.pptx
Emerging Trends In Cloud Computing.pptxMandakini Kumari
 
Hadoop, Spark and Big Data Summit presentation with SAP HANA Vora and a path ...
Hadoop, Spark and Big Data Summit presentation with SAP HANA Vora and a path ...Hadoop, Spark and Big Data Summit presentation with SAP HANA Vora and a path ...
Hadoop, Spark and Big Data Summit presentation with SAP HANA Vora and a path ...Ocean9, Inc.
 
Predicting Banking Customer Needs with an Agile Approach to Analytics in the ...
Predicting Banking Customer Needs with an Agile Approach to Analytics in the ...Predicting Banking Customer Needs with an Agile Approach to Analytics in the ...
Predicting Banking Customer Needs with an Agile Approach to Analytics in the ...Databricks
 
Webinar - Fighting Bank Fraud with Real-time Graph Database
Webinar - Fighting Bank Fraud with Real-time Graph Database Webinar - Fighting Bank Fraud with Real-time Graph Database
Webinar - Fighting Bank Fraud with Real-time Graph Database DataStax
 
Your 3 Step Journey to Innovation
Your 3 Step Journey to InnovationYour 3 Step Journey to Innovation
Your 3 Step Journey to InnovationAndy Franks
 
Operational Analytics Using Spark and NoSQL Data Stores
Operational Analytics Using Spark and NoSQL Data StoresOperational Analytics Using Spark and NoSQL Data Stores
Operational Analytics Using Spark and NoSQL Data StoresDATAVERSITY
 
Microservice architecture at ASOS
Microservice architecture at ASOSMicroservice architecture at ASOS
Microservice architecture at ASOSAli Kheyrollahi
 
Kde jsou limity zákaznické 360°?
 Kde jsou limity zákaznické 360°? Kde jsou limity zákaznické 360°?
Kde jsou limity zákaznické 360°?Taste Medio
 
GraphTour - Mastering highly distributed architecture with Neo4j
GraphTour - Mastering highly distributed architecture with Neo4jGraphTour - Mastering highly distributed architecture with Neo4j
GraphTour - Mastering highly distributed architecture with Neo4jNeo4j
 
AWS re:Invent 2016: Driving Innovation with Big Data and IoT (GPSST304)
AWS re:Invent 2016: Driving Innovation with Big Data and IoT (GPSST304)AWS re:Invent 2016: Driving Innovation with Big Data and IoT (GPSST304)
AWS re:Invent 2016: Driving Innovation with Big Data and IoT (GPSST304)Amazon Web Services
 
1-amadeus-investor-day-opening-remarks-0.pdf
1-amadeus-investor-day-opening-remarks-0.pdf1-amadeus-investor-day-opening-remarks-0.pdf
1-amadeus-investor-day-opening-remarks-0.pdfrozilawati
 
NEW LAUNCH! Introducing AWS IoT Analytics - IOT214 - re:Invent 2017
NEW LAUNCH! Introducing AWS IoT Analytics - IOT214 - re:Invent 2017NEW LAUNCH! Introducing AWS IoT Analytics - IOT214 - re:Invent 2017
NEW LAUNCH! Introducing AWS IoT Analytics - IOT214 - re:Invent 2017Amazon Web Services
 
Cloud Migration with AZURE - I'm SURE!
Cloud Migration with AZURE - I'm SURE!Cloud Migration with AZURE - I'm SURE!
Cloud Migration with AZURE - I'm SURE!Neil Cohen-Ringel
 
Best Practices for Managing MongoDB with Ops Manager
Best Practices for Managing MongoDB with Ops ManagerBest Practices for Managing MongoDB with Ops Manager
Best Practices for Managing MongoDB with Ops ManagerMongoDB
 

Similar to MongoDB Europe 2016 - Choosing Between 100 Billion Travel Options – Instant Search From Amadeus (20)

Better, Faster, Stronger! Migration to 3.0
Better, Faster, Stronger! Migration to 3.0Better, Faster, Stronger! Migration to 3.0
Better, Faster, Stronger! Migration to 3.0
 
Big Data LDN 2017: Data Integration & Big Data Management
Big Data LDN 2017: Data Integration & Big Data ManagementBig Data LDN 2017: Data Integration & Big Data Management
Big Data LDN 2017: Data Integration & Big Data Management
 
How Spark is Enabling the New Wave of Converged Cloud Applications
How Spark is Enabling the New Wave of Converged Cloud Applications How Spark is Enabling the New Wave of Converged Cloud Applications
How Spark is Enabling the New Wave of Converged Cloud Applications
 
Emerging Trends in Cloud Computing.pptx
Emerging Trends in Cloud Computing.pptxEmerging Trends in Cloud Computing.pptx
Emerging Trends in Cloud Computing.pptx
 
Emerging Trends In Cloud Computing.pptx
Emerging Trends In Cloud Computing.pptxEmerging Trends In Cloud Computing.pptx
Emerging Trends In Cloud Computing.pptx
 
Hadoop, Spark and Big Data Summit presentation with SAP HANA Vora and a path ...
Hadoop, Spark and Big Data Summit presentation with SAP HANA Vora and a path ...Hadoop, Spark and Big Data Summit presentation with SAP HANA Vora and a path ...
Hadoop, Spark and Big Data Summit presentation with SAP HANA Vora and a path ...
 
Predicting Banking Customer Needs with an Agile Approach to Analytics in the ...
Predicting Banking Customer Needs with an Agile Approach to Analytics in the ...Predicting Banking Customer Needs with an Agile Approach to Analytics in the ...
Predicting Banking Customer Needs with an Agile Approach to Analytics in the ...
 
Webinar - Fighting Bank Fraud with Real-time Graph Database
Webinar - Fighting Bank Fraud with Real-time Graph Database Webinar - Fighting Bank Fraud with Real-time Graph Database
Webinar - Fighting Bank Fraud with Real-time Graph Database
 
Your 3 Step Journey to Innovation
Your 3 Step Journey to InnovationYour 3 Step Journey to Innovation
Your 3 Step Journey to Innovation
 
Operational Analytics Using Spark and NoSQL Data Stores
Operational Analytics Using Spark and NoSQL Data StoresOperational Analytics Using Spark and NoSQL Data Stores
Operational Analytics Using Spark and NoSQL Data Stores
 
Microservice architecture at ASOS
Microservice architecture at ASOSMicroservice architecture at ASOS
Microservice architecture at ASOS
 
AWS Partnership Model
AWS Partnership ModelAWS Partnership Model
AWS Partnership Model
 
Orange Data Centre and Cloud
Orange Data Centre and CloudOrange Data Centre and Cloud
Orange Data Centre and Cloud
 
Kde jsou limity zákaznické 360°?
 Kde jsou limity zákaznické 360°? Kde jsou limity zákaznické 360°?
Kde jsou limity zákaznické 360°?
 
GraphTour - Mastering highly distributed architecture with Neo4j
GraphTour - Mastering highly distributed architecture with Neo4jGraphTour - Mastering highly distributed architecture with Neo4j
GraphTour - Mastering highly distributed architecture with Neo4j
 
AWS re:Invent 2016: Driving Innovation with Big Data and IoT (GPSST304)
AWS re:Invent 2016: Driving Innovation with Big Data and IoT (GPSST304)AWS re:Invent 2016: Driving Innovation with Big Data and IoT (GPSST304)
AWS re:Invent 2016: Driving Innovation with Big Data and IoT (GPSST304)
 
1-amadeus-investor-day-opening-remarks-0.pdf
1-amadeus-investor-day-opening-remarks-0.pdf1-amadeus-investor-day-opening-remarks-0.pdf
1-amadeus-investor-day-opening-remarks-0.pdf
 
NEW LAUNCH! Introducing AWS IoT Analytics - IOT214 - re:Invent 2017
NEW LAUNCH! Introducing AWS IoT Analytics - IOT214 - re:Invent 2017NEW LAUNCH! Introducing AWS IoT Analytics - IOT214 - re:Invent 2017
NEW LAUNCH! Introducing AWS IoT Analytics - IOT214 - re:Invent 2017
 
Cloud Migration with AZURE - I'm SURE!
Cloud Migration with AZURE - I'm SURE!Cloud Migration with AZURE - I'm SURE!
Cloud Migration with AZURE - I'm SURE!
 
Best Practices for Managing MongoDB with Ops Manager
Best Practices for Managing MongoDB with Ops ManagerBest Practices for Managing MongoDB with Ops Manager
Best Practices for Managing MongoDB with Ops Manager
 

More from MongoDB

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 AtlasMongoDB
 
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
 
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
 
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 MongoDBMongoDB
 
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
 
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 DataMongoDB
 
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 StartMongoDB
 
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
 
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.2MongoDB
 
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
 
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
 
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 MindsetMongoDB
 
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 JumpstartMongoDB
 
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
 
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
 
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
 
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 DiveMongoDB
 
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 & GolangMongoDB
 
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
 
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...MongoDB
 

More from 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...
 

Recently uploaded

Full night 🥵 Call Girls Delhi New Friends Colony {9711199171} Sanya Reddy ✌️o...
Full night 🥵 Call Girls Delhi New Friends Colony {9711199171} Sanya Reddy ✌️o...Full night 🥵 Call Girls Delhi New Friends Colony {9711199171} Sanya Reddy ✌️o...
Full night 🥵 Call Girls Delhi New Friends Colony {9711199171} Sanya Reddy ✌️o...shivangimorya083
 
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /WhatsappsBeautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsappssapnasaifi408
 
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfMarket Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfRachmat Ramadhan H
 
B2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docxB2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docxStephen266013
 
Customer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxCustomer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxEmmanuel Dauda
 
Ukraine War presentation: KNOW THE BASICS
Ukraine War presentation: KNOW THE BASICSUkraine War presentation: KNOW THE BASICS
Ukraine War presentation: KNOW THE BASICSAishani27
 
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...Sapana Sha
 
{Pooja: 9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...
{Pooja:  9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...{Pooja:  9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...
{Pooja: 9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...Pooja Nehwal
 
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...dajasot375
 
Aminabad Call Girl Agent 9548273370 , Call Girls Service Lucknow
Aminabad Call Girl Agent 9548273370 , Call Girls Service LucknowAminabad Call Girl Agent 9548273370 , Call Girls Service Lucknow
Aminabad Call Girl Agent 9548273370 , Call Girls Service Lucknowmakika9823
 
Call Girls In Mahipalpur O9654467111 Escorts Service
Call Girls In Mahipalpur O9654467111  Escorts ServiceCall Girls In Mahipalpur O9654467111  Escorts Service
Call Girls In Mahipalpur O9654467111 Escorts ServiceSapana Sha
 
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130Suhani Kapoor
 
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service Bhilai
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service BhilaiLow Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service Bhilai
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service BhilaiSuhani Kapoor
 
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...soniya singh
 
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM TRACKING WITH GOOGLE ANALYTICS.pptx
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM  TRACKING WITH GOOGLE ANALYTICS.pptxEMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM  TRACKING WITH GOOGLE ANALYTICS.pptx
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM TRACKING WITH GOOGLE ANALYTICS.pptxthyngster
 
Industrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfIndustrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfLars Albertsson
 
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdfKantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdfSocial Samosa
 
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改atducpo
 
VIP High Class Call Girls Bikaner Anushka 8250192130 Independent Escort Servi...
VIP High Class Call Girls Bikaner Anushka 8250192130 Independent Escort Servi...VIP High Class Call Girls Bikaner Anushka 8250192130 Independent Escort Servi...
VIP High Class Call Girls Bikaner Anushka 8250192130 Independent Escort Servi...Suhani Kapoor
 

Recently uploaded (20)

Full night 🥵 Call Girls Delhi New Friends Colony {9711199171} Sanya Reddy ✌️o...
Full night 🥵 Call Girls Delhi New Friends Colony {9711199171} Sanya Reddy ✌️o...Full night 🥵 Call Girls Delhi New Friends Colony {9711199171} Sanya Reddy ✌️o...
Full night 🥵 Call Girls Delhi New Friends Colony {9711199171} Sanya Reddy ✌️o...
 
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /WhatsappsBeautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsapps
 
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfMarket Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
 
B2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docxB2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docx
 
Customer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxCustomer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptx
 
Ukraine War presentation: KNOW THE BASICS
Ukraine War presentation: KNOW THE BASICSUkraine War presentation: KNOW THE BASICS
Ukraine War presentation: KNOW THE BASICS
 
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
 
{Pooja: 9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...
{Pooja:  9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...{Pooja:  9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...
{Pooja: 9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...
 
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
 
Decoding Loan Approval: Predictive Modeling in Action
Decoding Loan Approval: Predictive Modeling in ActionDecoding Loan Approval: Predictive Modeling in Action
Decoding Loan Approval: Predictive Modeling in Action
 
Aminabad Call Girl Agent 9548273370 , Call Girls Service Lucknow
Aminabad Call Girl Agent 9548273370 , Call Girls Service LucknowAminabad Call Girl Agent 9548273370 , Call Girls Service Lucknow
Aminabad Call Girl Agent 9548273370 , Call Girls Service Lucknow
 
Call Girls In Mahipalpur O9654467111 Escorts Service
Call Girls In Mahipalpur O9654467111  Escorts ServiceCall Girls In Mahipalpur O9654467111  Escorts Service
Call Girls In Mahipalpur O9654467111 Escorts Service
 
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
 
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service Bhilai
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service BhilaiLow Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service Bhilai
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service Bhilai
 
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
 
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM TRACKING WITH GOOGLE ANALYTICS.pptx
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM  TRACKING WITH GOOGLE ANALYTICS.pptxEMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM  TRACKING WITH GOOGLE ANALYTICS.pptx
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM TRACKING WITH GOOGLE ANALYTICS.pptx
 
Industrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfIndustrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdf
 
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdfKantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
 
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
 
VIP High Class Call Girls Bikaner Anushka 8250192130 Independent Escort Servi...
VIP High Class Call Girls Bikaner Anushka 8250192130 Independent Escort Servi...VIP High Class Call Girls Bikaner Anushka 8250192130 Independent Escort Servi...
VIP High Class Call Girls Bikaner Anushka 8250192130 Independent Escort Servi...
 

MongoDB Europe 2016 - Choosing Between 100 Billion Travel Options – Instant Search From Amadeus

  • 1. { “Amadeus”: ”Instant Search for Travel” } ©2016AmadeusS.A.S. Breaking the boundaries of travel inspiration Loic CRETIN Pierre PETITPREZ November 15th MongoDB Europe - London
  • 2. About us… ©2015AmadeusITGroupSA Pierre PETITPREZ Software Engineer, Middleware Loic CRETIN Manager Software Development
  • 3. Page 3 ©2016AmadeusS.A.S. Agenda { “1”: “Who are we?”, “2”: “Data modelling”, “3”: “Sharding”, “4”: “Advanced queries”, “5”: “3.2 Connections”, “6”: “MongoDB @ Amadeus”, “7”: “What is coming…” }
  • 4. { “Topic”: “Who are we?” }1 ©2016AmadeusS.A.S.
  • 5. Amadeus is a technology company dedicated to the global travel industry. We are present in 195 countries with a worldwide team of more than 13,000 people. Our solutions help improve the business performance of travel agencies, corporations, airlines, airports, hotels, railways and more. Amadeus in a few words ©2015AmadeusITGroupSA
  • 6. Robust global operations ©2015AmadeusITGroupSA 1.6+ billion data requests processed per day 566+ million travel agency bookings processed in 2015 747+ million Passengers Boarded (PBs) in 2015 95%of the world’s scheduled network airline seats
  • 7. Page 7 Amadeus Search, Shopping and Pricing solutions Airlines Travel Agency Online Web Sites Search ShoppingPricing Re-Pricing
  • 8. Page 8 to complex infrastructure ©2016AmadeusS.A.S. Consumer relevance & natural search Content exhaustiveness Instant response Time 25% travelers are not decided on destination 42% travelers are not decided on the date 76% travelers have no clear idea on budget to spent From simple idea…
  • 9. Page 9 Use case description Leaving from London, where can I go with 1200€ from 17th to 21th of December? NYC 1038 € SAO 1170 € CPT 1006 € SAO 1170 € CPT 1006 €
  • 10. Page 10 Use case description Leaving from London, where can I go with 1200€ from 17th to 21th of December? NYC 1038 € SAO 1170 € CPT 1006 € SAO 1170 € CPT 1006 € LON NYC 12/17 12/21 Travel.com Search1 adult economy View deal 1038€ 10:50 LGW -> 18:45 JFK 12h 55m 1 stop (MAD) 22:10 JFK -> 10:00 LHR 6h 50m nonstop View deal 1041€ 14:05 LHR -> 19:30 JFK 10h 25m 1 stop (AMS) 17:55 JFK -> 08:10 LHR 9h 15m 1 stop (AMS) View deal 1084€ 11:20 LHR -> 19:02 JFK 12h 44m 1 stop (BOS) 11:25 LGA -> 06:50 LHR 10h 25m 1 stop (RDV)
  • 11. Page 11 Deep dive into the architecture ©2016AmadeusS.A.S. Cache Computation LON- MAD-12354-IB- AF-123-1200-13 54LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-12 3-1200-1354 LON- MAD-12354-IB- AF-12 3-1200-1354 LON- MAD-12354-IB- AF-12 3-1200-1354 LON- MAD-12354-IB- AF-12 3-1200-1354 LON- MAD-12354-IB- AF-12 3-1200-1354 LON- MAD-12354-IB- AF-12 3-1200-1354 LON- MAD-12354-IB- AF-12 3-1200-1354 LON- MAD-12354-IB- AF-12 3-1200-1354 LON- MAD-12354-IB- AF-12 3-1200-1354 LON- MAD-12354-IB- AF-12 3-1200-1354 LON- MAD-12354-IB- AF-123 -1200-1354 LON- MAD-12354-IB- AF-123- 1200-1354 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123200-1354 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON-MAD- 12354-IB- A1200-1354 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-I AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 12354-I LON- MAD-12354-IB- AF-123-1200-13 54LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-12 3-1200-1354 LON- MAD-12354-IB- AF-12 3-1200-1354 LON- MAD-12354-IB- AF-12 3-1200-1354 LON- MAD-12354-IB- AF-12 3-1200-1354 LON- MAD-12354-IB- AF-12 3-1200-1354 LON- MAD-12354-IB- AF-12 3-1200-1354 LON- MAD-12354-IB- AF-12 3-1200-1354 LON- MAD-12354-IB- AF-12 3-1200-1354 LON- MAD-12354-IB- AF-12 3-1200-1354 LON- MAD-12354-IB- AF-12 3-1200-1354 LON- MAD-12354-IB- AF-123 -1200-1354 LON- MAD-12354-IB- AF-123- 1200-1354 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123200-1354 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON-MAD- 12354-IB- A1200-1354 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-I AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 12354-I LON- MAD-12354-IB- AF-123-1200-13 54LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-12 3-1200-1354 LON- MAD-12354-IB- AF-12 3-1200-1354 LON- MAD-12354-IB- AF-12 3-1200-1354 LON- MAD-12354-IB- AF-12 3-1200-1354 LON- MAD-12354-IB- AF-12 3-1200-1354 LON- MAD-12354-IB- AF-12 3-1200-1354 LON- MAD-12354-IB- AF-12 3-1200-1354 LON- MAD-12354-IB- AF-12 3-1200-1354 LON- MAD-12354-IB- AF-12 3-1200-1354 LON- MAD-12354-IB- AF-12 3-1200-1354 LON- MAD-12354-IB- AF-123 -1200-1354 LON- MAD-12354-IB- AF-123- 1200-1354 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123200-1354 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON-MAD- 12354-IB- A1200-1354 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-I AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 12354-I LON- MAD-12354-IB- AF-123-1200-13 54LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-12 3-1200-1354 LON- MAD-12354-IB- AF-12 3-1200-1354 LON- MAD-12354-IB- AF-12 3-1200-1354 LON- MAD-12354-IB- AF-12 3-1200-1354 LON- MAD-12354-IB- AF-12 3-1200-1354 LON- MAD-12354-IB- AF-12 3-1200-1354 LON- MAD-12354-IB- AF-12 3-1200-1354 LON- MAD-12354-IB- AF-12 3-1200-1354 LON- MAD-12354-IB- AF-12 3-1200-1354 LON- MAD-12354-IB- AF-12 3-1200-1354 LON- MAD-12354-IB- AF-123 -1200-1354 LON- MAD-12354-IB- AF-123- 1200-1354 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123200-1354 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON-MAD- 12354-IB- A1200-1354 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 LON- MAD-12354-I AF-123-1200-13 54 LON- MAD-12354-IB- AF-123-1200-13 54 12354-I Indexing Web Service
  • 12. Page 12 In-house NoSQL Store ©2016AmadeusS.A.S. In-house technology •  Functional data partitioning •  Non blocking updates, eventual consistency •  Indexing for multi-dimensional range queries •  In-memory and/or disk Scalability limit •  Use case with more than 1000 recommendations •  Atomic data update for high cache quality Move to Standard NoSQL technology
  • 13. { “Topic”: “data modeling” }2 ©2016AmadeusS.A.S.
  • 14. Page 14 Data modeling Principle & goals ©2015AmadeusITGroupSA Why? Limit index entries, document fetch, operation What? Find the best data model and query strategy How? Go deeper into use case
  • 15. Page 15 Data modeling Focus on search use cases ©2015AmadeusITGroupSA Description •  Get all price results of a cell •  Inputs: Client, Origin, Destination, Departure and return date Service Level Agreement •  Response time O(100)ms •  No down time
  • 16. Page 16 Data modeling •  30 stay durations per departure date •  360 departure dates per city pair •  250 price results per date combination •  Thousands of city pairs per client •  Hundreds of clients •  Total >100,000,000,000 results •  bookable solution Focus on data domain ©2015AmadeusITGroupSA LAX NYC Stay Duration Date LAX BOS Stay Duration Date NYC LAX Stay Duration Date BOS LAX Stay Duration Date BOS NYC Stay Duration Date NYC BOS Stay Duration Date 30 360 O(1000) ORI DEST OutDate Stay Fares/Flights 1 ORI DEST OutDate Stay Fares/Flights 2 ORI DEST OutDate Stay Fares/Flights 3 … ORI DEST OutDate Stay Fares/Flights 249 ORI DEST OutDate Stay Fares/Flights 250 Travel Solution 250
  • 17. Page 17 Data modeling •  Updates come per group of cell(s) •  Add/remove one date every day •  Update could be done several time a day •  Capacity to update all data in a day Focus on update use cases ©2015AmadeusITGroupSA ORI DEST OutDate Stay Fares/Flights 1 ORI DEST OutDate Stay Fares/Flights 2 ORI DEST OutDate Stay Fares/Flights 3 … ORI DEST OutDate Stay Fares/Flights 249 ORI DEST OutDate Stay Fares/Flights 250 ORI DEST OutDate Stay Fares/Flights 1 ORI DEST OutDate Stay Fares/Flights 2 ORI DEST OutDate Stay Fares/Flights 3 … ORI DEST OutDate Stay Fares/Flights 249 ORI DEST OutDate Stay Fares/Flights 250 ORI DEST OutDate Stay Fares/Flights 1 ORI DEST OutDate Stay Fares/Flights 2 ORI DEST OutDate Stay Fares/Flights 3 … ORI DEST OutDate Stay Fares/Flights 249 ORI DEST OutDate Stay Fares/Flights 250 ORI DEST OutDate Stay Fares/Flights 1 ORI DEST OutDate Stay Fares/Flights 2 ORI DEST OutDate Stay Fares/Flights 3 … ORI DEST OutDate Stay Fares/Flights 249 ORI DEST OutDate Stay Fares/Flights 250 ORI DEST OutDate Stay Fares/Flights 1 ORI DEST OutDate Stay Fares/Flights 2 ORI DEST OutDate Stay Fares/Flights 3 … ORI DEST OutDate Stay Fares/Flights 249 ORI DEST OutDate Stay Fares/Flights 250 ORI DEST OutDate Stay Fares/Flights 1 ORI DEST OutDate Stay Fares/Flights 2 ORI DEST OutDate Stay Fares/Flights 3 … ORI DEST OutDate Stay Fares/Flights 249 ORI DEST OutDate Stay Fares/Flights 250 ORI DEST OutDate Stay Fares/Flights 1 ORI DEST OutDate Stay Fares/Flights 2 ORI DEST OutDate Stay Fares/Flights 3 … ORI DEST OutDate Stay Fares/Flights 249 ORI DEST OutDate Stay Fares/Flights 250 ORI DEST OutDate Stay Fares/Flights 1 ORI DEST OutDate Stay Fares/Flights 2 ORI DEST OutDate Stay Fares/Flights 3 … ORI DEST OutDate Stay Fares/Flights 249 ORI DEST OutDate Stay Fares/Flights 250 LAX NYC Stay Duration Date LAX NYC Stay Duration Date
  • 18. Page 18 Data model: 1 document = 1 Cell ©2015AmadeusITGroupSA Document format: { "_id" : ObjectId("570…2d6"), "Orig" : "NYC", "Dest" : "LAX", "DepDate" : ISODate("2016-06-27…"), "Stay" : 2, "PriceResultList" : [ {…Price result 1…}, {…Price result 2…},
 … ] } Highlights •  Duplicate the key fields •  Divide by 250 the index entries and operations •  468kB documents
  • 19. Page 19 Bulk.find( { AX ).update( 
 Queries ©2015AmadeusITGroupSA db.CLI.Update( {"Orig" : "NYC", "Dest" : "LAX", "DepDate" : ISODate("2016-06-27…"), "Stay" : 2}, {$set:{ PriceResultList:[{…},…]
 }}, {upsert:1} ) db.CLI.find( {"Orig" : "NYC", "Dest" : "LAX", "DepDate" : ISODate("2016-06-27…"), "Stay" : 2}, {_id:0,PriceResultList:1} )
  • 20. Page 20 Indexes and Shard key ©2015AmadeusITGroupSA { "Orig" : 1,
 "Dest" : 1,
 "DepDate" : 1,
 "Stay" : 1 } { "v" : 1, "key" : { "Orig" : 1, "Dest" : 1, "DepDate" : 1, "Stay" : 1 }, "name" : "KeyIdx" } { "v" : 1, "key" : { "DepDate" : 1 }, "name" : "expireAt", "expireAfterSeconds" : 172800 } Data Access index Expiration index Shard key
  • 21. { “Topic”: “Sharding - solution for limitations with consequences” } 3 ©2015AmadeusITGroupSA
  • 22. Page 22 Why sharding help you ©2015AmadeusITGroupSA Replication throughput limitation Initial Sync speed Update performance (index size reduction) Replication lag
  • 23. Page 23 Sharding consequence for us Split/Migration chunks problems ©2015AmadeusITGroupSA Split & Balancing leads to peak of response time Shard key important (Date into shard key, Empty chunk) Split capacity decrease with number of chunks Slow balancing SplitAt loop 3 days for 200k Add of 4 shards 1 week of balancing
  • 24. Page 24 Split/Migration chunks Solution ©2015AmadeusITGroupSA Shard 1 OldCol Chunks Chunk1 Shard 2 Chunk2 NewCol Chunks Chunk1 Chunk2 Feed Search Free Space Deactivate autosplit & balancing Shard key: Hashkey Manual dispatch (double feed/search)
  • 25. { “Topic”: “Advanced queries” }5 ©2015AmadeusITGroupSA
  • 26. Page 26 Use case description Leaving from London, where can I go with 1200€ from 17th to 21th of December? NYC 1038 € SAO 1170 € CPT 1006 € SAO 1170 € CPT 1006 €
  • 27. Page 27 NYC LON Stay Duration Date ORI DEST OutDate Stay Fares/Flights 3 NYC PAR Stay Duration Date ORI DEST OutDate Stay Fares/Flights 3 NYC LAX Stay Duration Date LON-??? ©2015AmadeusITGroupSA Open destination ORI DEST OutDate Stay Fares/Flights 3 ORI DEST OutDate Stay Fares/Flights 3 ORI DEST OutDate Stay Fares/Flights 3 ORI DEST OutDate Stay Fares/Flights 3 ORI DEST OutDate Stay Fares/Flights 3 ORI DEST OutDate Stay Fares/Flights 3 •  Fixed Value: ü Client ü Origin ü Destination •  Range: ü Departure date ü Return date ü Budget Return best travel solutions (lowest price) per destinations ORI DEST OutDate Stay Fares/Flights 1 ORI DEST OutDate Stay Fares/Flights 2 ORI DEST OutDate Stay Fares/Flights 3 … ORI DEST OutDate Stay Fares/Flights 249 ORI DEST OutDate Stay Fares/Flights 250 ORI DEST OutDate Stay Fares/Flights 1 ORI DEST OutDate Stay Fares/Flights 2 ORI DEST OutDate Stay Fares/Flights 3 … ORI DEST OutDate Stay Fares/Flights 249 ORI DEST OutDate Stay Fares/Flights 250 ORI DEST OutDate Stay Fares/Flights 1 ORI DEST OutDate Stay Fares/Flights 2 ORI DEST OutDate Stay Fares/Flights 3 … ORI DEST OutDate Stay Fares/Flights 249 ORI DEST OutDate Stay Fares/Flights 250 ORI DEST OutDate Stay Fares/Flights 1 ORI DEST OutDate Stay Fares/Flights 2 ORI DEST OutDate Stay Fares/Flights 3 … ORI DEST OutDate Stay Fares/Flights 249 ORI DEST OutDate Stay Fares/Flights 250 ORI DEST OutDate Stay Fares/Flights 1 ORI DEST OutDate Stay Fares/Flights 2 ORI DEST OutDate Stay Fares/Flights 3 … ORI DEST OutDate Stay Fares/Flights 249 ORI DEST OutDate Stay Fares/Flights 250 ORI DEST OutDate Stay Fares/Flights 1 ORI DEST OutDate Stay Fares/Flights 2 ORI DEST OutDate Stay Fares/Flights 3 … ORI DEST OutDate Stay Fares/Flights 249 ORI DEST OutDate Stay Fares/Flights 250
  • 28. Page 28 LON - ??? ©2015AmadeusITGroupSA Open destination db.IFL.aggregate( [{"$match": { "Ori": "NYC", "DepDate": {"$gte": ISODate("2016-06-20T…"), "$lte": ISODate("2016-06-30T…")}, "Stay": {"$gte": 4, "$lte": 10}, "PriceResultList.amount": {"$lte": 900} }}, {"$unwind": "$PriceResultList"}, {"$project": { "Dest": "$Dest", "matcher": { "prices": "$PriceResultList.amount", "doc": "$PriceResultList" } }}, {"$group": { "_id": { "Dest": "$Dest", }, "price": { "$min": "$matcher" }}}]); Using MongoDB aggregation framework Performance issue taking minutes
  • 29. Page 29 Data model: 1 document = 1 Cell = “best” price ©2015AmadeusITGroupSA { "_id" : ObjectId("570…2d6"), "Orig" : "NYC", "Dest" : "LAX", "DepDate" : ISODate("2016-06-27…"), "Stay" : 2, "PR" : { "type" : "CHP", "amount" : 215.12, …price result fields…
 }
 } } additional index: { "v" : 1, "key" : { "Orig" : 1, "PR.type" : 1, "Dest" :1, "PR.amount" : 1, "Stay" : 1, "DepDate" : 1,
 }, "name" : "Cheapest" }, New Collection (only cheapest), new index Using MongoDB aggregation framework Performance issue still above the second equality sort range
  • 30. Page 30 Query strategy: Open destination ©2015AmadeusITGroupSA Two collections •  Destinations candidate •  City pair prices Don’t use MongoDB aggregation framework (combination of find) Grouping with Aggregation framework took 350 ms Better performance
  • 31. { “Topic”: “3.2 Connections” }5 ©2015AmadeusITGroupSA
  • 32. Page 32 3.2 Connection pools Problems ©2015AmadeusITGroupSA _ Open search activation on 3.2 _ Migration from 3.0 to 3.2 _ Search query response time around 5 second (several peaks per minutes) _ Open/Close connections _ Peaks disappear with higher search traffic Max response time Average response time Connection activity per shard (ops-manage)
  • 33. Page 33 3.2 Connection pools Investigation on-going ©2015AmadeusITGroupSA _ Connection pooling enhancement •  3.0: One Global connection pool •  3.2: Tunable smaller connection pool _ taskExecutorPoolSize parameter set by default to 0 •  Automatically set depending the number of available cores •  64 cores on machine hosted mongos -> many connections idle _ SERVER-25027 Server ticket
  • 34. Page 34 3.2 Connection pools Investigation on-going ©2015AmadeusITGroupSA _ taskExecutorPoolsize set to •  4 on mongod side •  16 on mongos side _ Connections parameters tunable into 3.4 (3.4.0-rc3) •  kDefaultMinConns •  kDefaultRefreshTimeout •  kDefaultRefreshRequirement •  kDefaultHostTimeout Max response time Average response time
  • 35. { “Topic”: “MongoDB @ Amadeus” }6 ©2015AmadeusITGroupSA
  • 36. Page 36 MongoDB Enterprise ©2015AmadeusITGroupSA Automation Monitoring Backup / restore Training / consulting Commercial support Security MongoDB Enterprise
  • 37. Page 37 Topology DBOps Manager Operations ©2015AmadeusITGroupSA Internal tooling Monitoring Alerting Operability Configuration deployment
  • 38. Page 38 Middleware ©2015AmadeusITGroupSA Enterprise-wide standard Client side monitoring Built-in best practices Resiliency (Mongos HA)
  • 39. Page 39 Deployment ©2015AmadeusITGroupSA Monitoring / Alerting MongoDB Cluster Server 1 Shard 1 Shard 2 Shard 3 … Shard n Server 2 Shard 1 Shard 2 Shard 3 … Shard n Server 3 Shard 1 Shard 2 Shard 3 … Shard n Ops Manager Corporate tooling Application servers BE S S BE S S BE S S
  • 40. Page 40 Deployment ©2015AmadeusITGroupSA _  Hardware •  24 physical machines •  1152 CPU •  6 TB of RAM •  72 TB Fusion IO •  3 members replica set •  56 shards in total •  2 Clusters _  Traffic •  14.6 Billions Price results •  40 TB Data uncompressed •  5.3 TB Data compressed on disk •  12 Millions transaction Search / day •  Mongo response time ~0.15ms/PR •  120 Millions transaction Update / day •  18.6 Billions PR / day •  Mongo response time ~0.10ms/PR Add shards Add shards Add shards Size per shard
  • 41. { “Topic”: “What’s coming…” }7 ©2015AmadeusITGroupSA
  • 42. Page 42 What’s coming… Scaling up ©2016AmadeusS.A.S. Handle huge amount of data Manageable and Multi cluster environment
  • 43. Page 43 What’s coming… Data Store into Cloud Services ©2016AmadeusS.A.S. _ Closer to our customers •  Reduce the latency _ Remote operations •  Install appliances within customer premises when appropriate _ Multiple Cloud/data-center capability
  • 44. Page 44 Takeaways Next step _ Follow MongoDB evolution (3.2, 3.4++) _ Scaling up infrastructure _ Multi Cloud/data-center ©2016AmadeusS.A.S. Production _ Volume ramp up _ 24 Physical machines _ Increase to > 100 Shards Performance _ Benchmark for performance optimization _ Find, sort, limit vs Aggregate Framework _ Lessons learned Collaboration _ MongoDB JIRA contributor _ Amadeus MongoDB community
  • 45. You can follow us on: AmadeusITGroup amadeus.com/blog amadeus.com Thank you ©2015AmadeusITGroupSA