我正在构建一个新的应用程序,其中我期望有大量的地理位置数据,就像移动的对象每5秒发送一次地理坐标。这些数据需要存储在某个数据库中,以便它可以随时用于跟踪地图上的移动对象。因此,我期望每个移动对象每条路线大约有250个坐标。每个物体每天可以运行大约50条路线。我有900个这样的物体要追踪。因此,每天要存储的地理坐标约为1150万个。我必须至少在数据库中存储大约一周的数据。
这些数据基本上将用于简单的查询,如查找特定对象和特定路线的所有地理坐标。因此,查询并不是非常复杂,这些数据将不会用于任何分析目的。
所以,我的问题是,我应该只使用普通的Oracle数据库,比如分布在两个虚拟机上的12C,还是应该考虑一些大数据技术,比如没有SQL或hadoop?
其中一个关键要求是具有高性能。每个查询必须在1秒内响应。
发布于 2016-03-29 14:01:46
由于您知道数据量(1150万),因此可以很容易地在Oracle DB中模拟所有场景,并在此之前对其进行测试。
我的建议是,您需要使用日级分区&2个子分区,如对象和路由。您的所有业务SQL必须始终命中正确的分区。
此外,您可能还需要清除较早的日期数据。或者,您可以使用过去几天创建的某种聚合,并删除原始数据将有所帮助。它的12C做得很好。
https://stackoverflow.com/questions/36272552
复制相似问题