我需要存储由地理点组成的地理路径数据,这些地理点应由唯一键进行索引。例如:由其行程编号索引的车辆行驶的路径。这条路可以是无限长的。使用密钥存储无限大小的巨大json数据
截至目前,我正在考虑以JSON对象的形式存储路径。我脑海中的选项是Riak
和MongoDB
。我想用开源技术。如果它支持集群将会很好。如果一个节点出现故障,我们在应用程序中不会出现任何停机。
MySQL
目前是我们的原始数据源(我们将以任何方式转移到NoSQL DB,但不是现在)。但是,由于数据量巨大(每天有200万个地理位置条目),因此MYSQL需要很长时间才能根据时间戳过滤数据。 MySQL仍然是我们的主要数据源。我正在寻找的解决方案将作为基于id的更快路径检索的缓存。
在当前MySQL的架构,我有字段有:车辆
system_timestamp,
gps_timestamp,
speed,
lat,
lot
该表存储中的所有地理点的车辆是否是在旅行或没有。这里的旅程是基于驾驶员是否想跟踪运动。如果他想跟踪运动,我们会生成一个唯一的行程ID,并将其与驾驶员的行程开始时间和结束时间相关联。稍后,根据旅程ID显示路径,我们使用行程的开始时间结束时间来过滤来自原始表格的数据。
我想将行程路径作为缓存存储到辅助数据库中,以便检索速度很快。
哪个数据库应该是我的理想选择?我还有什么其他选择?
这似乎是一个有趣的话题,但有些事情我不清楚:1.目前数据如何存储在MySQL数据库中? 2.你究竟想达到什么目的?这听起来像一方面你试图按时间戳过滤,另一方面你想通过ID检索这些条目。 3.你通过ID和“路径”实际上意味着什么? –
更新了问题中的信息。我在mysql中有两个表。一个根据时间戳存储地理点。在另一张桌子上,我有独特的旅行ID以及旅行的开始和结束时间。在选择特定行程ID时,时间戳之间可用的所有地理点应以路径的形式显示给用户。 我正在考虑缓存此路径,以便我可以节省检索时间。 –
我不清楚你需要执行什么查询。鉴于trip_id,显示路径?给定位置,列出接近它的车辆?给定时间戳,获取vehicle_ids及其位置?你的问题在实施上过于详细,而且在目标上还不够详细。 –