物联网(IOT) 数据库需求和当前技术解析
物联网是当前最具发展潜力的技术潮流,到2020年全球将有200亿—2000亿物联网设备(Gartner 预测260亿,ABI预测300亿,Oracle 预测500亿,Intel 预测2000亿)。 管理众多的联网设备产生的(动态)数据,相比管理传统档案(静态)数据要复杂很多 —— 最重要的难点是“数据量”大幅提升和“处理实时性”要求显著加强。
- 数据量:数据量提升包含数据总量和数据产生速度两个方面。物联网应用系统演化过程中,传感器数量不断增多;数据采样频率不断提升;数据积累时间也越来越久,因此产生的数据量非常大(动即十亿、百亿、千亿存储规模),而且数据产生速度也非常快(动即每秒十万、百万纪录)。
- 实时性:传感器时序数据很多时候用于异常预警、趋势预测等目的,要求能根据数据立刻做出反应。因此数据必须能实时查询、实时分析。
数据量变和实时性要求提升的大前提下,面向于IOT的数据库朴素需求细化:
- 写操作多于读操作,但读写都要求高速
- 追加为主,但应允许少量更新操作
- 顺序追加为主,但应允许乱序入库
- 可按时间段删除记录,但应允许删除给定纪录
- 支持(优化)给定时间段查询,允许给定字段的精确、模糊、前缀等查询;
- 读写并发要求较高,尤其读并发
- 海量存储支持(T-P级别)
- 数据入库即可用(ingest realtime),即任意数据入(input)库后就可立即被第三方应用使用。
- 数据Adhoc 查询/分析
- 支持过滤投影
- 支持聚合分析
- 支持关联分析(Join 分析)
- 支持数据挖掘
- 关系数据库: 具备复杂检索能力,但受限于数据存储规模和录入速度不足
- NOSQL 数据库 :具备可扩展性和高性能,但受限于检索和分析能力不足
- HADOOP :具备数据分析能力和可扩展性,但受限于数据处理实时性不足
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。