大数据存储技术mongodb在支撑系统数据分级存储中的实践.docx
- 文档编号:3094301
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:12
- 大小:526.25KB
大数据存储技术mongodb在支撑系统数据分级存储中的实践.docx
《大数据存储技术mongodb在支撑系统数据分级存储中的实践.docx》由会员分享,可在线阅读,更多相关《大数据存储技术mongodb在支撑系统数据分级存储中的实践.docx(12页珍藏版)》请在冰豆网上搜索。
大数据存储技术mongodb在支撑系统数据分级存储中的实践
大数据存储技术mongodb在支撑系统数据分级存储中的实践
成果上报申请书
成果名称
大数据存储技术mongodb在支撑系统数据分级存储中的实践
成果申报单位
中国移动通信集团北京有限公司
成果承担部门
/分公司
信息系统部
项目负责人姓名
崔希宁
项目负责人联系电话
和Email
139********cuixining@
项目参与人姓名
杨海威、王江、张雨晴、宋哲、常莎
成果专业类别*
业务支撑
所属专业部门*
业务支撑线条
成果研究类别*
现有业务优化
省内评审结果*
(按填写说明4)
关键词索引(3~5个)
大数据海量查询非结构型数据库数据生命周期管理
应用投资
万元(指别的省引入应用大致需要的投资金额)
产品版权归属单位
北京移动
对企业现有标准规范的符合度:
(按填写说明5)
符合NGBOSS3.0规范
如果该成果来源于研发项目,请填写研发项目的年度、名称和类型(类型包括:
集团重点研发项目、集团联合研发项目、省公司重点研发项目、其他研发项目),可填写多个:
省公司重点项目NGCRM3.5
专利情况:
如果该成果产出相关专利,且专利处于国知局专利申请审查阶段或已授权,请说明专利名称、类型、申请号、状态、是否海外申请等情况。
(按填写说明7)
成果简介:
简要描述成果目的和意义,解决的问题,取得的社会和经济效益。
随着云技术的逐渐推广,基于云技术的大数据海量信息存储也应用得越来越广泛。
本研究基于开源数据库技术,研究实施大数据的处理方法策略,并在数据信息生命周期管理中落地实施。
在通常意义上,大数据(bigdata),或称巨量资料,指的是所涉及的资料量规模巨大到无法透过目前主流软件工具,在合理时间内达到撷取、存储、管理、处理、并整理成为帮助企业经营决策更积极目的的信息或运营支撑。
大的数据需要特殊的技术,以有效地在容忍时间内完成处理。
适用于大数据的技术,包括大规模并行处理(MPP)数据库,数据挖掘,分布式文件系统,分布式数据库,云计算平台,和可扩展的存储系统。
核心是数据分片存储,分布移动计算。
在北京移动数据分级存储ILM系统三期建设中,我们在非结构化数据库技术NoSQL的应用方面进行了相关的探索和尝试,并成功运用到统一历史数据归档查询中心平台建设中,为数据中心数据分级存储系统(生命周期)的数据存储及分析查询开辟了一种新的方式。
解决数据处理对传统oracle数据库技术的依赖,极大降低企业成本提高企业的创新能力。
省内试运行效果:
描述成果引入后在本省试运行方案、取得的效果、推广价值和建议等。
随着北京移动数据分级存储系统三期,即ILM三期系统的上线,统一历史数据归档查询中心中的数据已经涵盖老的BOSS3、SiebelCRM以及新的NGCRM、NGBOSS、营销管理平台等系统的历史数据。
其中既包含基于常见的关系数据库Oracle数据的直接归档的数据,还包含基于非结构化数据存储的非结构化数据,以及通过转换后的软件和存储成本更低的半结构化数据。
在采用MongoDB数据库后,统一归档查询中心对于基于文本的非结构化以及半结构化归档历史数据的查询性能得到大幅提升。
尝试解决了不适合在BI也不适合在CRM构架下处理的数据关联分析的需求。
应对不断增加的大数据即时分析业务问题。
同时,本结构支持云平台技术,能够达到开源节流提高企业在移动互联环境核心竞争力。
新的系统完全在刀片环境,开源环境实现,极大降低软硬件建设维护成本。
文章主体(3000字以上,可附在表格后):
根据成果研究类别,主体内容的要求有差异,具体要求见表格后的“填写说明6”。
1.
业务支撑分级存储系统(数据生命周期系统)出现的问题
随着公司在业务运营过程中产生的数据步入PB级,电信运营企业“大数据”时代渐渐来临。
一方面随着业务产生的历史数据的爆炸性增长,对于历史海量数据的管理和检索带来了巨大挑战;另一方面,
•支持OSX、Linux及Windows等操作系统,并提供了Python,PHP,Ruby,Java及C++语言的驱动程序。
基于MongoDB的特点,MongoDB适合用于以下场景:
•网站数据:
MongoDB非常适合实时的插入,更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性。
•缓存:
由于性能很高,MongoDB也适合作为信息基础设施的缓存层。
在系统重启之后,由MongoDB搭建的持久化缓存层可以避免下层的数据源过载。
•大尺寸,低价值的数据:
使用传统的关系型数据库存储一些数据时可能会比较昂贵,在此之前,很多时候程序员往往会选择传统的文件进行存储。
•高伸缩性的场景:
MongoDB非常适合由数十或数百台服务器组成的数据库。
Mongo的路线图中已经包含对MapReduce引擎的内置支持。
•用于对象及JSON数据的存储:
Mongo的BSON数据格式非常适合文档化格式的存储及查询。
MongoDB的使用也会有一些限制,例如以下场景不适合:
•高度事务性的系统:
例如银行或会计系统。
传统的关系型数据库目前还是更适用于需要大量原子性复杂事务的应用程序。
•传统的商业智能应用:
针对特定问题的BI数据库会对产生高度优化的查询方式。
对于此类应用,数据仓库可能是更合适的选择。
•需要复杂SQL的场景;
2)对于其基本特性,进行MongoDB与Oracle的大数据处理试验对比和分析
我们这里针对电信行业支撑系统产生的历史数据在信息生命周期管理过程中的典型操作,在相同资源环境下的安装两种不同数据库MongoDB和Oracle,分别进行了以下实验:
⏹在同一台主机上安装VMWare虚拟机,并在虚拟机上安装MongoDB和Oracle数据库;
⏹对生产系统上的历史数据抽取成CSV格式后进行分批数据导入,并记录下相关数据以及CPU和内存资源消耗情况;
⏹在每一批数据导入完成后,对数据库中当前已有的数据库分别进行单一条件、多条件查询并按照无索引和有索引两种方式查询数据,并记录查询的效率;
实验环境
主机型号:
HPDL580G4虚拟机:
X86-64bit操作系统:
LinuxRedHat5.564bit
Cpu:
2C(*4核)Memory:
8GMongoDBVersion:
2.2.2OracleVersion:
Oracle11GRelease2
Storage:
70G
试验结果,具体数据导入获得的实验数据如表-2所示:
表-1数据批量导入性能及系统资源消耗比较
导入数据量(万)
数据导入时长(s)
数据导入速度(条/s)
数据导入期间
CPU(%)
数据导入
Mem(%)
Mongodb
Oracle
Mongodb
Oracle
Mongodb
Oracle
Mongodb
Oracle
100
179.99
229.6
5556
4355
16.24
27.2
6.34
7.8
100
95.44
178.56
10478
5600
16.5
26.4
6.87
10.58
200
164.32
348.23
12171
5743
35.85
38.7
15.62
20.5
300
577.97
950.79
5191
3155
45.6
38.7
26.25
23.2
500
720.07
2280.83
6944
2192
55.29
41.1
31.58
23.4
说明:
(1)MongoDB数据库采用MongoImport批量导入工具,在采用普通插入模式进行实验;
(2)Oracle数据库采用sqlldr批量导入工具进行数据导入情况下获得以上实验数据;
通过以上实验数据,可以获得以下实验结论:
(1)在大批量数据导入时速度上MongoDB导入性能比Oraclesqlloader明显要快;
(2)在数据导入时随着数据量的增长,MongoDB在CPU和内存消耗的上升速度比Oracle要快,因此在小批量数据导入情况下,MongoDB的CPU和内存的消耗比Oracle少,但是在大批量数据导入情况下,MongoDB的CPU和内存的消耗比Oracle多。
(3)在实验过程中也验证了MongoDB在32位操作系统上存储的数据容量上限为2.5G的情况。
在将生产系统历史数据导入相应数据库后,获得的查询相关实验数据如表-2所示:
表-2数据查询性能比较
总数据量
(万)
单一条件查询
(无索引)(s)
单一条件查询
(有索引))(s)
多条件查询
(无索引)(s)
多条件查询
(有索引)(s)
MongoDB
Oracle
MongoDB
Oracle
MongoDB
Oracle
MongoDB
Oracle
100
4.408
1.09
0.001
0.05
2.644
0.27
0.005
0.03
200
3.8
0.5
0.0001
0.09
3.052
0.48
0.007
0.03
400
6.388
3.72
0.005
0.06
3.739
0.99
0.011
0.01
700
51.5*
5.97
0.009
0.03
12.562
4.01
0.003
0.03
1200
87.233
6.95
0.009
0.06
19.879
7.29
0.004
0.07
说明:
(1)MongoDB数据库采用MongoImport批量导入工具导,在采用普通插入模式进行以上实验;
(2)MongoDB采用单节点方式;
(3)Oracle数据库采用sqlldr批量导入工具进行数据导入情况下获得以上实验数据;
通过以上实验数据,可以获得以下实验结论:
(1)在没有索引的情况下,无论是单条件查询还是多条件查询,MongoDB的查询性能比Oracle的查询性能要低很多;
(2)在有索引的情况下MongoDB的查询效率相对没有索引的情况有显著提升,甚至已经超出了相同记录下Oracle的查询性能;
(3)在有索引的情况下,在大数据量查询时,无论是单条件查询还是多条件查询,总体上MongoDB的查询性能比Oracle的查询性能要高;
(4)MongoDB在执行一次查询后,同样查询条件下第二次查询时查询时长比第一次要短;
2.采用MongoDB分布数据处理技术优化支撑数据分级存储系统的数据导入存储、查询分析功能和业务实现机制
基于以上研究和试验,在非结构化数据的归档和查询需求越来越多的业务和数据环境下,在北京移动数据分级存储系统三期中采用非结构化数据库MongoDB优化改造了数据处理和分析的实现机制。
例如,一个典型应用针对从营销管理平台产生的营销历史短信数据归档及查询。
由于从营销管理平台提供的数据都是基于文本的半结构化数据。
营销短信的数据量巨大,半年的数据量有上亿条,且这些数据又具备非结构化数据的特点,但是逻辑相对比较简单,没有过多关联的情况。
其他需求如上下行短信,其数据量巨大,传统的数据库之间的数据迁移操作十分困难。
MongoDB可将一个文档或文件以BSON(BinaryJSON)的格式存入其中。
并可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
基于MongoDB的统一历史数据归档中心归档及查询功能实现过程如下:
流程处理:
(1)文本数据、直接数据,数据源可以是结构化的数据库数据,也可以是半结构化非结构化的数据。
(2)数据导入进程,对
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 存储 技术 mongodb 支撑 系统 分级 中的 实践
![提示](https://static.bdocx.com/images/bang_tan.gif)