如何在数据库中存储8000亿GPS标记

时间:2012-10-10 18:19:16

标签: mysql database database-design gps nosql

我需要存储用户记录到数据库中的GPS轨迹。轨道将包括每5米移动一次的标记,以便在地图上绘制线条。我估计200公里的轨道,这意味着40,000 lnlt标记。我估计每个用户最少50,000个,每个200个轨道20个。这意味着至少有400亿lnlt标记物。

这也需要扩展,因此对于100万用户,我需要8000亿GPS标记的容量。

由于每组40,000个标记属于单个轨道,我们正在谈论1到2千万条记录/套GPS轨迹。

要求: 用户将请求在移动应用程序中的Google地图上查看这些曲目。

关系: 我目前有2张桌子。表一有:[trackid],[userid],[comment],[distance],[time],[top speed]。

表2有[trackid] [经度] [纬度],这是存储所有GPS标记的位置。什么是在保持读取性能的同时存储这一数量的GPS数据的有效方法?

新信息:

将GPS数据存储在KML文件中,以便将其显示为Google地图上的曲目,这是一种节省数据库空间的好方法。将KML压缩为KMZ(基本上是带有KMZ扩展名的压缩KML)可以进一步减小文件大小。 KMZ的加载速度比GPX快得多,并且可以作为KML图层与Google Maps API集成。 See this information from Google获得进一步的帮助。到目前为止,这似乎是目标要求的最佳解决方案。

1 个答案:

答案 0 :(得分:6)

一如既往地选择特定数据库与您希望如何存储信息以及如何使用信息有关。因此,在不知道项目的确切要求以及数据关系的情况下,最好的办法是对主题进行一些阅读,以确定哪种特定产品或存储模型最适合你

一个好的起点是阅读比较数据库的性能和用途的博客(参见附件):

http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis