14

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

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

由于每组 40,000 个标记属于单个轨道,因此我们说的是 1 - 2000 万条记录/组 GPS 轨道。

要求:用户将请求在移动应用程序的谷歌地图上查看这些轨迹。

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

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

新的信息:

将 GPS 数据存储在 KML 文件中,以便在 Google 地图上将它们显示为轨迹,这是一种节省数据库空间的好解决方案。将 KML 压缩到 KMZ(基本上是带有 KMZ 扩展名的压缩 KML)会大大减少文件大小。KMZ 的加载速度比 GPX 快得多,并且可以作为 KML 层与 Google Maps API 集成。请参阅 Google 提供的此信息以获取更多帮助。到目前为止,这似乎是满足预期要求的最佳解决方案。

4

1 回答 1

7

与往常一样,特定数据库的选择取决于您希望如何存储信息以及如何使用它。因此,在不了解项目的确切要求以及数据关系的情况下,最好的办法是阅读该主题,以确定最适合您的特定产品或存储模型。

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

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

于 2012-10-10T18:24:12.660 回答