Note that there are some explanatory texts on larger screens.

plurals
  1. POHow to store 800 billion GPS markers in database
    primarykey
    data
    text
    <p>I need to store GPS tracks that users record into a database. The tracks will consist of a marker every 5 meter of movement for the purpose of drawing a line on a map. I am estimating 200 km tracks which means 40,000 lnlt markers. I estimate 50,000 users minimum and 20 pieces of 200 km tracks for each. That means at least 40 billion lnlt markers. </p> <p>This needs to scale too, so for 1 million users I need capacity for 800 billion GPS markers.</p> <p>Since each set of 40,000 markers belong to a single track, we are talking 1 - 20 million records/sets of GPS tracks.</p> <p>Requirements: Users will request to view these tracks on top of a Google map in a mobile application.</p> <p>Relations: I currently have 2 tables. Table one has:[trackid], [userid], [comment], [distance], [time], [top speed]. </p> <p>Table 2 has [trackid] [longitude] [latitude] and this is where all GPS markers are stored. What is an efficient way of storing this volume of GPS data while maintaining read performance?</p> <p>New information:</p> <p>Storing the GPS data in a KML file for the purpose of displaying them as a track on top of a Google map is a good solution that saves database space. Compressing the KML into a KMZ (basically a zipped KML wit a KMZ extension) greatly reduces file size further. KMZ loads much quicker than GPX and can be integrated with the Google Maps API as a KML layer. <a href="https://developers.google.com/maps/documentation/javascript/layers#KMLLayers" rel="noreferrer">See this information from Google</a> for further assistance. This seems to be the best solution so far for the intended requirement.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload