大容量数据存储和处理
Posted
技术标签:
【中文标题】大容量数据存储和处理【英文标题】:high volume data storage and processing 【发布时间】:2016-03-28 22:52:02 【问题描述】:我正在构建一个新应用程序,我期望在该应用程序中获取大量地理位置数据,例如每 5 秒发送一次地理坐标的移动对象。这些数据需要存储在某个数据库中,以便随时用于跟踪地图上的移动对象。所以,我预计每条路线每个移动物体大约有 250 个坐标。每个对象每天可以运行大约 50 条路线。我有 900 个这样的对象要跟踪。因此,每天可以存储大约 1150 万个地理坐标。我必须至少在我的数据库中存储大约一周的数据。
这些数据将主要用于简单的查询,例如查找特定对象和特定路线的所有地理坐标。因此,查询不是很复杂,这些数据不会用于任何分析目的。
所以,我的问题是我应该只使用普通的 Oracle 数据库,比如分布在两个 VM 上的 12C,还是应该考虑一些大数据技术,比如 NO SQL 或 hadoop?
关键要求之一是具有高性能。每个查询必须在 1 秒内响应。
【问题讨论】:
因此,您将每 5 秒对 900 个对象进行表插入/更新,当查询这些表时,需要在 1 秒内返回结果? 不,数据将每 5 秒收集一次,但每 3 分钟插入数据库。数据将通过运行该路由的对象 id 进行查询。 【参考方案1】:由于您知道数据量(1150 万),因此您可以轻松地在 Oracle DB 中模拟您的所有场景并提前对其进行测试。
我的建议是您需要使用日级分区和 2 个子分区,例如对象和路线。您的所有业务 SQL 必须始终命中正确的分区。
您可能还需要清除旧日数据。或者您可以在过去几天创建某种聚合并删除您的原始数据会有所帮助。 它的12C很好。
【讨论】:
以上是关于大容量数据存储和处理的主要内容,如果未能解决你的问题,请参考以下文章