推荐星级:
- 1
- 2
- 3
- 4
- 5
一种基于MongoDB和Hadoop的海量非结构 化物联网数据处理方案
资料介绍
随着物联网数据种类的增多和数据规模的增大,对物联网数据的存储和计算提出了新的挑战,为了应对海量非结构化物联网数据的存储和计算要求,提出了一种NoSQL数据库技术与MapReduce编程框架相结合的方案.使用典型的NoSQL数据库MongoDB作为主数据库来存储海量非结构化的物联网数据,使用Hadoop MapRe-duce作为对物联网数据分析处理的计算框架.通过对MongoDB集群和Hadoop集群的重叠部署,降低了计算时数据传输的开销,构建了一套高可用、高性能的物联网大数据处理平台.通过使用该方案对海量非结构化物联网数据的处理分析实验验证了该方案的高可用性及高效性.
部分文件列表
文件名 | 大小 |
一种基于MongoDB和Hadoop的海量非结构_化物联网数据处理方案.pdf | 1M |
部分页面预览
(完整内容请下载后查看)微 电 子 学 与 计 算 机
MICROELECTRONICS & COM PU TER
35卷 第 4期
2018年 4月
Vol .35 No .4
April 2018
一种基于 MongoDB 和 Hadoop 的海量非结构
化物联网数据处理方案
杨 鹏1 ,2 ,林俊晖1 ,3
(1 重庆邮电大学 通信与信息工程学院 ,重庆 400065 ;2 中国信息通信研究院 ,
北京 100191 ;3 重庆高校市级光通信与网络重点实验室 ,重庆 400065)
摘
要 :随着物联网数据种类的增多和数据规模的增大 ,对物联网数据的存储和计算提出了新的挑战 ,为了应对海
量非结构化物联网数据的存储和计算要求 ,提出了一种 NoSQL 数据库技术与 MapReduce 编程框架相结合的方
案 .使用典型的 NoSQL 数据库 MongoDB 作为主数据库来存储海量非结构化的物联网数据 ,使用 Hadoop MapRe-
duce 作为对物联网数据分析处理的计算框架 .通过对 MongoDB 集群和 Hadoop 集群的重叠部署 ,降低了计算时数
据传输的开销 ,构建了一套高可用 、高性能的物联网大数据处理平台 .通过使用该方案对海量非结构化物联网数据
的处理分析实验验证了该方案的高可用性及高效性 .
关键词 :物联网 ;大数据 ;NoSQL ;Hadoop 平台 ;MongoDB 数据库
中图分类号 :TP391
文献标识码 :A
文章编号 :1000 -7180(2018)04 -0068 -05
A Scheme for Massive Unstructured Iot Data Processing
Based on MongoDB and Hadoop
1 ,2
1 ,3
YANG Peng ,LIN Jun-hui
(1 School of Communication and Information Engineering ,Chongqing University of Post and Telecommunications ,
Chongqing 400065 ,China ;2 China Academy of Information and Communications Technology ,Beijing 100191 ,China ;
3 Key Laboratory of Optical Communicate and NetWorks ,Chongqing 400065 ,China)
Abstract :As the IoT data type and data volume increase ,a new challenge is proposed to the storage and calculation
of IoT data .To meet the storage and calculation demands of the massive unstructured IoT data ,a scheme that
NoSQL database technology combined with MapReduce programming framework has been presented in this paper .
Using the MongoDB ,a typical database of NoSQL ,as the main database to store massive unstructured IoT data .At
the same time ,the Hadoop MapReduce was adopted as the calculation framework for IoT data analysis and
rocessing .Through the overlapping deployment of MongoDB cluster and Hadoop cluster ,the cost of data
p
transmission is reduced ,and a set of high availability and high performance large data processing platform is
established .The analysis of the experiment that using this scheme to deal with massive IoT data has verified the
high efficiency and high efficiency of this method .
Key words :IoT ;Big Data ;NoSQL ;Hadoop platform ;MongoDB database
联网数据存储技术和分析手段已力不从心[1] .传统
1 引言
关系型数据库在数据规模较大时操作效率低下 ,查
询和插入数据极慢 ,面对海量非结构化的物联网数
据建表极其困难 ,在物联网应用中数据增长速度极
快使得关系型数据库横向扩展困难的缺点更为严
随着物联网技术的发展和应用的落地 ,其产生
数据的速度非常快 ,种类十分多 ,数据体量巨大 .面
对类型多样 、非结构化的海量物联网数据 ,传统的物
万方数据
收稿日期 :2017 -06 -09 ;修回日期 :2017 -07 -12
69
第 4期
杨鹏 ,等 :一种基于 MongoDB 和 Hadoop 的海量非结构化物联网数据处理方案
重 ;同时使用传统的单机程序进行物联网数据处理
分析时 ,受单机资源的限制 ,单机程序难以处理海量
的物联网数据 ,并且计算能力也难以横向扩展 .海
量 、非结构化的物联网数据对数据存储和分析提出
了巨大的挑战 .
织 ,同时由于物联网数据种类繁多 ,数据格式多样 ,
因此 MongoDB 非常适合于物联网数据的存储 .图 1
展示了 MongoDB 的数据组织结构 .
近年来国内外的学者对于物联网数据的存储技
术进行了许多研究 ,目前的研究方向主要集中在使
用 NoSQL 进行物联网数据的存储和管理[2] .No-
SQL 数据库采用更为松散的数据模式 ,数据组织更
加灵活 ,具有极强的读写能力和横向扩展能力 ,No-
SQL 数据库的特点正好满足了海量 、非结构化物联
网数据对于数据存储的要求[3-4] .面对海量数据的分
析任务 ,单机的处理分析程序已经遇到瓶颈 ,对此 ,
Google 提出了可应用于大规模数据集并行计算的
MapReduce 编程框架 ,在数据规模巨大 、计算任务
复杂的应用场景下 ,MapReduce 框架能够将输入数
据集和计算任务切割成若干数据切片和计算子任
务 ,再将数据切片和计算子任务分发到大量低端服
务器搭上并发执行 ,从而在提升运行效率的同时还
降低了计算成本 .Hadoop 是 Apache 基金会根据
MapReduce 编程框架的实现的一套分布式系统软
件 ,Hadoop 具有非常优秀的容错性和扩展性 ,并在
机器学习 、数据挖掘和科学计算等领域有着广泛的
应用 .
图 1 MongoDB 数据组织结构
2 .2 MongoDB 的数据分布式存储结构
MongoDB 是一个分布式的数据库 .在 Mon-
oDB 中实现了自动分片机制 ,MongoDB 可以对数
g
据集进行分片并将分片后的数据块平均分配到
MongoDB 集群的各个节点 .在部署切片式的 Mon-
oDB 集群时 ,MongoDB 集群由路由服务器 、配置
g
服务器和分片三部分构成组成 .路由服务器是客户
端接入集群的前端 ,客户端通过路由服务器来接入
到 MongoDB 集群进行数据读写 ;在配置服务器上
记录着两种映射关系 ,一种是数据块与切片服务器
节点的映射关系 ,另一种是键值的区间与数据块映
射关系 ;分片由若干分片节点服务器组成用于存储
实际的数据 ,实际的数据被切割成大小相同的数据
块存储在分片节点服务器上 ,每个分片都是一个副
本集 ,副本集具有数据冗余备份功能 ,并且在多个分
片节点服务器上存储了数据副本 ,这使得 MongoDB
具有很高的数据可用性和安全性 .当客户端通过路
由服务器接入 MongoDB 集群时 ,路由服务器通过
配置服务器获取实际数据的信息 ,就能找到实际数
据的数据块所在的切片服务器节点从而对数据进行
操作 .当客户端向集群写入数据时 ,路由服务器会判
断写入的数据是否超出设置的数据块大小 ,如果超
出设置的数据块大小就将数据分成两个数据块
存储 .
本文根据物联网数据的特点提出了一种基于
MongoDB 的 NoSQL 数据库和 Hadoop MapRe-
duce 相结合的物联网数据存储和分析方案 ,通过搭
建 MongoDB 和 Hadoop 的联合集群验证了此方案
在面对海量 、非结构化的物联网数据存储和分析时 ,
具有较高的性能和较高的可用性 .
2 MongoDB 数据库
2 .1 MongoDB 的数据组织结构
MongoDB 是开源 、高效 、高性能的文档型数据
库[5] ,在许多应用场景下 MongoDB 已经可以用来
替代关系型数据库 .同时在 MongoDB 中也实现了
一些关系型数据库的特点 ,在 MongoDB 中通过多
路搜索树实现了二级索引 、查询排序等关系数据库
的特点 .MongoDB 是基于文件存储的典型 NoSQL
数据库软件 ,其中一个文档相当于关系型数据库中
的一条记录[6] ,一个集合相当于关系型数据库中的
一张表 ,每个文档中的数据是以 key-value 键值对
的形式自由组织 .MongoDB 支持存储结构十分松
3
Hadoop
3 .1 Hadoop 的核心框架介绍
Hadoop 是一个能够将庞大计算任务进行分布
式处理的软件框架 .Hadoop 的核心由编程模型
MapReduce 和分布式文件系统 HDFS 两大部分构
万方数据
散的数据 ,以类似 Json 的 Bson 格式对数据进行组
全部评论(0)