SlideShare a Scribd company logo
1 of 21
Download to read offline
Inside

Roland Olbricht
at SOTM 2013 in Birmingham
Overview
1. The server as a whole
2. Processing of requests
3. The query statement pipeline
1. The server as a whole
4000 to 6000
Unique IPs
per day

150'000 to
250'000
requests per day

10 GB to 30 GB
result data
per day
Statistics of 2013-08-30
Download
size per IP

# Unique IPs

Download size
per request

> 1 GB

4

884'037

100 MB – 1GB

20

8'513'484

10 MB – 100MB

150

61'999

1 MB – 10 MB

384

20'245

100 KB – 1 MB

595

4'740

10 KB – 100 KB

1104

1'696

1 KB – 10 KB

1189

921

< 1 KB

764

339
Share resources
across 10^7 !
=> [timeout:...]: Server keeps track of „free time units“
Server accepts a client request
if it is below half of free server time units
Client requests

Server state
240000 free time units

With timeout 180 ?

239820 free time units

With timeout 86400 ?

153420 free time units

With timeout 86400 ?

because 153420/2 < 86400.
153420 free time units

With timeout 180 ?

153240 free time units
Share resources
across 10^7 !

Short allowed runtime

High Priority

Long allowed runtime

Low Priority

Since June 2012
all requests with [timeout:...] < 180 accepted
requests with longer timeout occasionally rejected
2. Processing of requests
The bottleneck ...

almost completely idle

… is disk I/O.

peaks often
near 100%
„out“ vs „out skel“
vs „out meta“

Request
node
[name=„Aston Business School“];
out;

Disk time

Memory
(node 1473072867,
lat = 52.4867839,
lon = -1.8884618)
-1.8884618,

amenity=bicycle_parking
bcc_ref=433
bicycle_parking=stands
capacity=10
covered=yes
name=Aston Business School)
„out“ vs „out skel“
vs „out meta“

Request
node
[name=„Aston Business School“];
out skel;

Disk time

Memory
(node 1473072867,
lat = 52.4867839,
lon = -1.8884618)
„out“ vs „out skel“
vs „out meta“

Request
node
[name=„Aston Business School“];
out meta;

Disk time

Memory
(node 1473072867,
version = 2, timestamp = ...,
lat = 52.4867839,
…,
lon = -1.8884618)
lat = 52.4867839,

lon = -1.8884618,
amenity=bicycle_parking
bcc_ref=433
bicycle_parking=stands
capacity=10
covered=yes
name=Aston Business School)
„out“ vs „out skel“
vs „out meta“
Every statement
Request
takes disk time
node

Internally, we only
[name=„Aston Business School“];
store skeletons.

out meta;

Disk time

Memory
(node 1473072867,
lat = 52.4867839,
lon = -1.8884618)
3. The query statement pipeline
The query statement
is a pipeline
Planning decisions

Ids

Collect ids of potential results
Copy from memory if possible
derive geo index from query

raw data

lookup geo index by ids
fetch all skeletons
cheap filtering

filtering

filter by key conditionals
expensive filtering

more conditions better than fewer
The query statement pipeline:
node[name=„Aston Business School“];
Planning decisions
Collect ids of potential results
Copy from memory if possible
derive geo index from query
lookup geo index by ids
fetch all skeletons
cheap filtering
filter by key conditionals
expensive filtering

Disk time

(node 1473072867)

(Idx 0x42f00f00)
(node 1473072867,
lat=52.487, lon=-1.889)
The query statement pipeline:
node[amenity=bicycle_parking];
Planning decisions
Collect ids of potential results
Copy from memory if possible
derive geo index from query
lookup geo index by ids
fetch all skeletons
cheap filtering
filter by key conditionals
expensive filtering

Disk time

(node 1000, …,
node …, node …,
node 1473072867,
node …, node …) [~ 80'000 objects]
(Idx 0x1, 0x2, 0x3, …,
...)
((node 1, lat=..., lon=...,
…,
(node 1473072867, lat=52.487, lon=-1.889),
...)

…
~80'000 disc seeks

…
~30'000 disc seeks
The query statement pipeline:
node[amenity=bicycle_parking]
(52.48, -1.89, 52.49, -1.88);
Planning decisions
Collect ids of potential results
Copy from memory if possible
derive geo index from query
lookup geo index by ids
fetch all skeletons
cheap filtering
filter by key conditionals
expensive filtering

Disk time

(node 1000, …,
node …, node …,
node 1473072867,
node …, node …) [~ 80'000 objects]

(Idx 0x42f00f00)
(node 1473072867,
lat=52.487, lon=-1.889)
The query statement pipeline:
node[name=„Aston Business School“]
(51.0, -3.0, 60.0, 3.0);
Planning decisions
Collect ids of potential results
Copy from memory if possible
derive geo index from query
lookup geo index by ids
fetch all skeletons

(node 1473072867)
(Idx 0x42000000, …,
Idx 0x42ffffff)

(node 1473072867,
lat=52.487, lon=-1.889)

cheap filtering
filter by key conditionals
expensive filtering

Disk time

…
~3'000 disc seeks
Resumee

Be bold, the server cares for large queries
Select right „out“ mode for performance
and for quick testing
Use all available information,
in particular small bounding boxes
and specific search conditionals
Thank you for your attention

More Related Content

More from OSMFstateofthemap

OSM2World - Tobias Knerr - State of the Map 2013
OSM2World - Tobias Knerr - State of the Map 2013OSM2World - Tobias Knerr - State of the Map 2013
OSM2World - Tobias Knerr - State of the Map 2013OSMFstateofthemap
 
How and why governments should use OpenStreetMap - Pete Lancaster - State of ...
How and why governments should use OpenStreetMap - Pete Lancaster - State of ...How and why governments should use OpenStreetMap - Pete Lancaster - State of ...
How and why governments should use OpenStreetMap - Pete Lancaster - State of ...OSMFstateofthemap
 
Open Historical Map: re-using obsolete information - State of the Map 2013
Open Historical Map: re-using obsolete information - State of the Map 2013Open Historical Map: re-using obsolete information - State of the Map 2013
Open Historical Map: re-using obsolete information - State of the Map 2013OSMFstateofthemap
 
FixMyBarangay: OSM in Cebu Philippines - Neil Taylor (Integrated Transport Pl...
FixMyBarangay: OSM in Cebu Philippines - Neil Taylor (Integrated Transport Pl...FixMyBarangay: OSM in Cebu Philippines - Neil Taylor (Integrated Transport Pl...
FixMyBarangay: OSM in Cebu Philippines - Neil Taylor (Integrated Transport Pl...OSMFstateofthemap
 
OpenStreetMap as base layer in a linked open data distribution platform - Ber...
OpenStreetMap as base layer in a linked open data distribution platform - Ber...OpenStreetMap as base layer in a linked open data distribution platform - Ber...
OpenStreetMap as base layer in a linked open data distribution platform - Ber...OSMFstateofthemap
 
Smarter Cities - Rick Robinson, IBM - State of the Map 2013 (SotM 2013 Birmin...
Smarter Cities - Rick Robinson, IBM - State of the Map 2013 (SotM 2013 Birmin...Smarter Cities - Rick Robinson, IBM - State of the Map 2013 (SotM 2013 Birmin...
Smarter Cities - Rick Robinson, IBM - State of the Map 2013 (SotM 2013 Birmin...OSMFstateofthemap
 

More from OSMFstateofthemap (6)

OSM2World - Tobias Knerr - State of the Map 2013
OSM2World - Tobias Knerr - State of the Map 2013OSM2World - Tobias Knerr - State of the Map 2013
OSM2World - Tobias Knerr - State of the Map 2013
 
How and why governments should use OpenStreetMap - Pete Lancaster - State of ...
How and why governments should use OpenStreetMap - Pete Lancaster - State of ...How and why governments should use OpenStreetMap - Pete Lancaster - State of ...
How and why governments should use OpenStreetMap - Pete Lancaster - State of ...
 
Open Historical Map: re-using obsolete information - State of the Map 2013
Open Historical Map: re-using obsolete information - State of the Map 2013Open Historical Map: re-using obsolete information - State of the Map 2013
Open Historical Map: re-using obsolete information - State of the Map 2013
 
FixMyBarangay: OSM in Cebu Philippines - Neil Taylor (Integrated Transport Pl...
FixMyBarangay: OSM in Cebu Philippines - Neil Taylor (Integrated Transport Pl...FixMyBarangay: OSM in Cebu Philippines - Neil Taylor (Integrated Transport Pl...
FixMyBarangay: OSM in Cebu Philippines - Neil Taylor (Integrated Transport Pl...
 
OpenStreetMap as base layer in a linked open data distribution platform - Ber...
OpenStreetMap as base layer in a linked open data distribution platform - Ber...OpenStreetMap as base layer in a linked open data distribution platform - Ber...
OpenStreetMap as base layer in a linked open data distribution platform - Ber...
 
Smarter Cities - Rick Robinson, IBM - State of the Map 2013 (SotM 2013 Birmin...
Smarter Cities - Rick Robinson, IBM - State of the Map 2013 (SotM 2013 Birmin...Smarter Cities - Rick Robinson, IBM - State of the Map 2013 (SotM 2013 Birmin...
Smarter Cities - Rick Robinson, IBM - State of the Map 2013 (SotM 2013 Birmin...
 

Recently uploaded

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 

Recently uploaded (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 

Inside Overpass API - State of the Map 2013

  • 1. Inside Roland Olbricht at SOTM 2013 in Birmingham
  • 2. Overview 1. The server as a whole 2. Processing of requests 3. The query statement pipeline
  • 3. 1. The server as a whole
  • 4. 4000 to 6000 Unique IPs per day 150'000 to 250'000 requests per day 10 GB to 30 GB result data per day
  • 5. Statistics of 2013-08-30 Download size per IP # Unique IPs Download size per request > 1 GB 4 884'037 100 MB – 1GB 20 8'513'484 10 MB – 100MB 150 61'999 1 MB – 10 MB 384 20'245 100 KB – 1 MB 595 4'740 10 KB – 100 KB 1104 1'696 1 KB – 10 KB 1189 921 < 1 KB 764 339
  • 6. Share resources across 10^7 ! => [timeout:...]: Server keeps track of „free time units“ Server accepts a client request if it is below half of free server time units Client requests Server state 240000 free time units With timeout 180 ? 239820 free time units With timeout 86400 ? 153420 free time units With timeout 86400 ? because 153420/2 < 86400. 153420 free time units With timeout 180 ? 153240 free time units
  • 7. Share resources across 10^7 ! Short allowed runtime High Priority Long allowed runtime Low Priority Since June 2012 all requests with [timeout:...] < 180 accepted requests with longer timeout occasionally rejected
  • 8. 2. Processing of requests
  • 9. The bottleneck ... almost completely idle … is disk I/O. peaks often near 100%
  • 10. „out“ vs „out skel“ vs „out meta“ Request node [name=„Aston Business School“]; out; Disk time Memory (node 1473072867, lat = 52.4867839, lon = -1.8884618) -1.8884618, amenity=bicycle_parking bcc_ref=433 bicycle_parking=stands capacity=10 covered=yes name=Aston Business School)
  • 11. „out“ vs „out skel“ vs „out meta“ Request node [name=„Aston Business School“]; out skel; Disk time Memory (node 1473072867, lat = 52.4867839, lon = -1.8884618)
  • 12. „out“ vs „out skel“ vs „out meta“ Request node [name=„Aston Business School“]; out meta; Disk time Memory (node 1473072867, version = 2, timestamp = ..., lat = 52.4867839, …, lon = -1.8884618) lat = 52.4867839, lon = -1.8884618, amenity=bicycle_parking bcc_ref=433 bicycle_parking=stands capacity=10 covered=yes name=Aston Business School)
  • 13. „out“ vs „out skel“ vs „out meta“ Every statement Request takes disk time node Internally, we only [name=„Aston Business School“]; store skeletons. out meta; Disk time Memory (node 1473072867, lat = 52.4867839, lon = -1.8884618)
  • 14. 3. The query statement pipeline
  • 15. The query statement is a pipeline Planning decisions Ids Collect ids of potential results Copy from memory if possible derive geo index from query raw data lookup geo index by ids fetch all skeletons cheap filtering filtering filter by key conditionals expensive filtering more conditions better than fewer
  • 16. The query statement pipeline: node[name=„Aston Business School“]; Planning decisions Collect ids of potential results Copy from memory if possible derive geo index from query lookup geo index by ids fetch all skeletons cheap filtering filter by key conditionals expensive filtering Disk time (node 1473072867) (Idx 0x42f00f00) (node 1473072867, lat=52.487, lon=-1.889)
  • 17. The query statement pipeline: node[amenity=bicycle_parking]; Planning decisions Collect ids of potential results Copy from memory if possible derive geo index from query lookup geo index by ids fetch all skeletons cheap filtering filter by key conditionals expensive filtering Disk time (node 1000, …, node …, node …, node 1473072867, node …, node …) [~ 80'000 objects] (Idx 0x1, 0x2, 0x3, …, ...) ((node 1, lat=..., lon=..., …, (node 1473072867, lat=52.487, lon=-1.889), ...) … ~80'000 disc seeks … ~30'000 disc seeks
  • 18. The query statement pipeline: node[amenity=bicycle_parking] (52.48, -1.89, 52.49, -1.88); Planning decisions Collect ids of potential results Copy from memory if possible derive geo index from query lookup geo index by ids fetch all skeletons cheap filtering filter by key conditionals expensive filtering Disk time (node 1000, …, node …, node …, node 1473072867, node …, node …) [~ 80'000 objects] (Idx 0x42f00f00) (node 1473072867, lat=52.487, lon=-1.889)
  • 19. The query statement pipeline: node[name=„Aston Business School“] (51.0, -3.0, 60.0, 3.0); Planning decisions Collect ids of potential results Copy from memory if possible derive geo index from query lookup geo index by ids fetch all skeletons (node 1473072867) (Idx 0x42000000, …, Idx 0x42ffffff) (node 1473072867, lat=52.487, lon=-1.889) cheap filtering filter by key conditionals expensive filtering Disk time … ~3'000 disc seeks
  • 20. Resumee Be bold, the server cares for large queries Select right „out“ mode for performance and for quick testing Use all available information, in particular small bounding boxes and specific search conditionals
  • 21. Thank you for your attention