L'applicazione continuerà (all'incirca ogni secondo) a raccogliere la posizione degli utenti e a memorizzarli.
 Questi dati sono strutturati. In un database relazionale, verrebbe memorizzato come:
  | user | timestamp | latitude | longitude |   
Tuttavia, ci sono troppi dati. Ci saranno 60 × 60 × 24 = 86.400 record per utente, ogni giorno. Anche con 1000 utenti, ciò significa 86.400.000 di record al giorno.
E non sono solo 86.400.000 di record al giorno. Perché questi record verranno elaborati e verranno archiviate anche le versioni elaborate. Quindi, moltiplica quel numero con circa 2.
Come intendo utilizzare i dati
In sostanza, ho intenzione di creare versioni a grana più grossa dei dati sulla posizione per un consumo più semplice. Cioè:
- Ordina i dati ricevuti con i timestamp.
 - Assimilare questo elenco in ordine, determinare se la posizione è cambiata in modo significativo (controllando quanto è cambiato latitudine e longitudine)
 - Rappresenta le modifiche di posizione non significative come una singola voce nell'output (quindi, l'output è una versione a grana grossa dei dati di posizione).
 - Esegui questo processo sull'output, richiedendo un cambio di latitudine e longitudine ancora più grande per un cambiamento significativo. Quindi, l'output da produrre dall'uscita precedente sarà ancora più granuloso.
 - Esegui l'intero processo quanto necessario.
 - Aggrega una gamma di risoluzioni e inviale agli utenti. Inoltre, memorizza tutte le risoluzioni dei dati per un consumo successivo.
 
Che cosa dovrei usare per memorizzare questi dati? Dovrei usare un database relazionale o una soluzione NoSQL? Quali altre cose dovrei prendere in considerazione durante la progettazione di questa applicazione?