大数据存储技术mongodb在支撑系统数据分级存储中的实践.doc_第1页
大数据存储技术mongodb在支撑系统数据分级存储中的实践.doc_第2页
大数据存储技术mongodb在支撑系统数据分级存储中的实践.doc_第3页
大数据存储技术mongodb在支撑系统数据分级存储中的实践.doc_第4页
大数据存储技术mongodb在支撑系统数据分级存储中的实践.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

成果上报申请书成果名称大数据存储技术mongodb在支撑系统数据分级存储中的实践成果申报单位 中国移动通信集团北京有限公司 成果承担部门/分公司 信息系统部 项目负责人姓名崔希宁项目负责人联系电话和E项目参与人姓名杨海威、王江 、张雨晴、宋哲、常莎成果专业类别*业务支撑所属专业部门*业务支撑线条成果研究类别*现有业务优化省内评审结果*(按填写说明4)关键词索引(35个)大数据 海量查询 非结构型数据库 数据生命周期管理应用投资万元(指别的省引入应用大致需要的投资金额)产品版权归属单位 北京移动对企业现有标准规范的符合度:(按填写说明5)符合NGBOSS3.0规范如果该成果来源于研发项目,请填写研发项目的年度、名称和类型(类型包括:集团重点研发项目、集团联合研发项目、省公司重点研发项目、其他研发项目),可填写多个:省公司重点项目NGCRM3.5 专利情况:如果该成果产出相关专利,且专利处于国知局专利申请审查阶段或已授权,请说明专利名称、类型、申请号、状态、是否海外申请等情况。(按填写说明7) 成果简介:简要描述成果目的和意义,解决的问题,取得的社会和经济效益。 随着云技术的逐渐推广,基于云技术的大数据海量信息存储也应用得越来越广泛。 本研究基于开源数据库技术,研究实施大数据的处理方法策略,并在数据信息生命周期管理中落地实施。在通常意义上,大数据(big data),或称巨量资料,指的是所涉及的资料量规模巨大到无法透过目前主流软件工具,在合理时间内达到撷取、存储、管理、处理、并整理成为帮助企业经营决策更积极目的的信息或运营支撑 。大的数据需要特殊的技术,以有效地在容忍时间内完成处理。适用于大数据的技术,包括大规模并行处理(MPP)数据库,数据挖掘,分布式文件系统,分布式数据库,云计算平台,和可扩展的存储系统。核心是数据分片存储,分布移动计算。在北京移动数据分级存储ILM系统三期建设中,我们在非结构化数据库技术NoSQL的应用方面进行了相关的探索和尝试,并成功运用到统一历史数据归档查询中心平台建设中,为数据中心数据分级存储系统(生命周期)的数据存储及分析查询开辟了一种新的方式。解决数据处理对传统oracle数据库技术的依赖,极大降低企业成本提高企业的创新能力。省内试运行效果:描述成果引入后在本省试运行方案、取得的效果、推广价值和建议等。随着北京移动数据分级存储系统三期,即ILM三期系统的上线,统一历史数据归档查询中心中的数据已经涵盖老的BOSS3、Siebel CRM以及新的NGCRM、NGBOSS、营销管理平台等系统的历史数据。其中既包含基于常见的关系数据库Oracle数据的直接归档的数据,还包含基于非结构化数据存储的非结构化数据,以及通过转换后的软件和存储成本更低的半结构化数据。在采用MongoDB数据库后,统一归档查询中心对于基于文本的非结构化以及半结构化归档历史数据的查询性能得到大幅提升。尝试解决了不适合在BI也不适合在CRM构架下处理的数据关联分析的需求。应对不断增加的大数据即时分析业务问题。同时,本结构支持云平台技术,能够达到开源节流 提高企业在移动互联环境核心竞争力。新的系统完全在刀片环境,开源环境实现,极大降低软硬件建设维护成本。文章主体(3000字以上,可附在表格后):根据成果研究类别,主体内容的要求有差异,具体要求见表格后的“填写说明6”。1. 业务支撑分级存储系统(数据生命周期系统)出现的问题 随着公司在业务运营过程中产生的数据步入PB级,电信运营企业“大数据”时代渐渐来临。一方面随着业务产生的历史数据的爆炸性增长,对于历史海量数据的管理和检索带来了巨大挑战;另一方面,在 企业活动产生的数据中20%的是结构化的,而80%则是非结构化或半结构化的,原有关系型数据库也面临诸多瓶颈。与业务信息系统中大量用于交易记录和统计分析等的结构化数据相比,非结构化数据具有某种特定和持续的价值,这种价值在共享、查询、分析等使用过程中得以产生和放大,并最终对企业业务和战略产生影响。在管理方式上,相对于存储在关系型数据库里,用二维逻辑表来表现的结构化数据而言,那些不方便用数据库二维逻辑表来表现的数据就是所谓的非结构化数据,包括报表、账单、影像、办公文档、扫描文件、Web 页面、电子邮件以及多媒体音频和视频信息等。因此在管理这些非结构化数据时,原来主要用于管理结构化数据的关系数据库的局限性暴露地越来越明显,面对这些种挑战,大数据处理技术、非结构化数据库技术的引入就变得日益迫切。2. 解决问题的思路在通常意义上,大数据(big data),或称巨量资料,指的是所涉及的资料量规模巨大到无法透过目前主流软件工具,在合理时间内达到撷取、存储、管理、处理、并整理成为帮助企业经营决策更积极目的的信息或运营支撑 。大的数据需要特殊的技术,以有效地处理大量的必须在容忍经过时间内处理的数据。适用于大数据的技术,包括大规模并行处理(MPP)数据库,数据挖掘,分布式文件系统,分布式数据库,云计算平台,和可扩展的存储系统。核心方法是数据分片和分布移动计算。在北京移动数据分级存储ILM系统三期建设中,我们在非结构化数据库技术NoSQL的应用方面进行了相关的探索和尝试,并成功运用到统一历史数据归档查询中心平台建设中,为我们的历史数据归档及分析查询开辟了一种新的方式。3. MongoDB的基础研究和试验对比1)大数据处理技术基础对比目前流行的NOSQL数据库,包括应用越来越广泛的MongoDB、HBase、Cassandra等。根据不同纬度的基础研究可以得到:EXDATAHADOOPGREEN PLUM投资昂贵开源EMC扩展性困难容易容易灵活性不可以自由扩展可以自由扩展可以自由扩展存储方式Oracle数据库HADOOP文件系统PostgreSql提供服务接口Oracle文件系统一个接口数据检索支持各种关联不支持简单的数据关联冗余管理ASM冗余管理自动备份冗余数据块数据库节点冗余异构仅支持Linux各种操作系统异构Linux服务国内较少高级服务国内稀少EMC服务根据我们的实际系统情况我们选择MongoDB进行研究和应用。MongoDB是一个高性能,开源,无模式的文档型数据库,它在许多场景下可用于替代传统的关系型数据库或键/值存储方式。Mongo使用C+开发,提供了以下功能:面向集合的存储:适合存储对象及JSON形式的数据。动态查询:Mongo支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。完整的索引支持:包括文档内嵌对象及数组。Mongo的查询优化器会分析查询表达式,并生成一个高效的查询计划。查询监视:Mongo包含一个监视工具用于分析数据库操作的性能。 复制及自动故障转移:Mongo数据库支持服务器之间的数据复制,支持主-从模式及服务器之间的相互复制。复制的主要目标是提供冗余及自动故障转移。高效的传统存储方式:支持二进制数据及大型对象(如照片或图片)。 自动分片以支持云级别的伸缩性:自动分片功能支持水平的数据库集群,可动态添加额外的机器。 MongoDB的主要目标是在键/值存储方式(提供了高性能和高度伸缩性)以及传统的RDBMS系统(丰富的功能)架起一座桥梁,集两者的优势于一身。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。MongoDB的特点是高性能、易部署、易使用,存储数据非常方便。主要特性有:面向集合存储,易存储对象类型的数据。 模式自由。支持动态查询。 支持完全索引,包含内部对象。 支持查询。支持复制和故障恢复。使用高效的二进制数据存储,包括大型对象(如视频等)。自动处理碎片,以支持云计算层次的扩展性。文件存储格式为BSON(一种JSON的扩展)。可通过网络访问。支持OS X、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,分别进行了以下实验:n 在同一台主机上安装VMWare虚拟机,并在虚拟机上安装MongoDB和Oracle数据库;n 对生产系统上的历史数据抽取成CSV格式后进行分批数据导入,并记录下相关数据以及CPU和内存资源消耗情况;n 在每一批数据导入完成后,对数据库中当前已有的数据库分别进行单一条件、多条件查询并按照无索引和有索引两种方式查询数据,并记录查询的效率;实验环境主机型号:HP DL580 G4 虚拟机:X86-64bit 操作系统:Linux Red Hat 5.5 64bit Cpu:2C(*4核) Memory:8G MongoDB Version:2.2.2 Oracle Version:Oracle 11G Release 2Storage:70G试验结果,具体数据导入获得的实验数据如表-2所示:表-1数据批量导入性能及系统资源消耗比较导入数据量(万)数据导入时长(s)数据导入速度(条/s)数据导入期间CPU(%)数据导入Mem(%)MongodbOracleMongodbOracleMongodbOracleMongodbOracle100179.99229.65556435516.2427.26.347.810095.44178.5610478560016.526.46.8710.58200164.32348.2312171574335.8538.715.6220.5300577.97950.795191315545.638.726.2523.2500720.072280.836944219255.2941.131.5823.4说明:(1) MongoDB数据库采用MongoImport批量导入工具,在采用普通插入模式进行实验;(2) Oracle数据库采用sqlldr批量导入工具进行数据导入情况下获得以上实验数据;通过以上实验数据,可以获得以下实验结论:(1) 在大批量数据导入时速度上MongoDB导入性能比Oracle sqlloader明显要快;(2) 在数据导入时随着数据量的增长,MongoDB在 CPU和内存消耗的上升速度比Oracle要快,因此在小批量数据导入情况下,MongoDB的CPU和内存的消耗比Oracle少,但是在大批量数据导入情况下,MongoDB的CPU和内存的消耗比Oracle多。(3) 在实验过程中也验证了MongoDB在32位操作系统上存储的数据容量上限为2.5G的情况。在将生产系统历史数据导入相应数据库后,获得的查询相关实验数据如表-2所示:表-2数据查询性能比较总数据量(万)单一条件查询(无索引)(s)单一条件查询(有索引)(s)多条件查询(无索引)(s)多条件查询(有索引)(s)MongoDBOracleMongoDBOracleMongoDBOracleMongoDBOracle1004.4081.090.0010.052.6440.270.0050.032000010.093.0520.480.0070.034006.3883.720.0050.063.7390.990.0110.0170051.5*5.970.0090.0312.5624.010.0030.03120087.2336.950.0090.0619.8797.290.0040.07说明:(1) MongoDB数据库采用MongoImport批量导入工具导,在采用普通插入模式进行以上实验;(2) MongoDB采用单节点方式;(3) Oracle数据库采用sqlldr批量导入工具进行数据导入情况下获得以上实验数据;通过以上实验数据,可以获得以下实验结论:(1) 在没有索引的情况下,无论是单条件查询还是多条件查询,MongoDB的查询性能比Oracle的查询性能要低很多;(2) 在有索引的情况下MongoDB的查询效率相对没有索引的情况有显著提升,甚至已经超出了相同记录下Oracle的查询性能;(3) 在有索引的情况下,在大数据量查询时,无论是单条件查询还是多条件查询,总体上MongoDB的查询性能比Oracle的查询性能要高;(4) MongoDB在执行一次查询后,同样查询条件下第二次查询时查询时长比第一次要短; 4. 采用MongoDB分布数据处理技术优化支撑数据分级存储系统的数据导入存储、查询分析功能和业务实现机制基于以上研究和试验,在非结构化数据的归档和查询需求越来越多的业务和数据环境下,在北京移动数据分级存储系统三期中采用非结构化数据库MongoDB优化改造了数据处理和分析的实现机制。例如,一个典型应用针对从营销管理平台产生的营销历史短信数据归档及查询。由于从营销管理平台提供的数据都是基于文本的半结构化数据。营销短信的数据量巨大,半年的数据量有上亿条,且这些数据又具备非结构化数据的特点,但是逻辑相对比较简单,没有过多关联的情况。其他需求如上下行短信,其数据量巨大,传统的数据库之间的数据迁移操作十分困难。MongoDB可将一个文档或文件以BSON(Binary JSON)的格式存入其中。并可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。基于MongoDB的统一历史数据归档中心归档及查询功能实现过程如下:流程处理: (1) 文本数据、直接数据,数据源可以是结构化的数据库数据,也可以是半结构化非结构化的数据。(2) 数据导入进程,对于外部的需要归档的数据需要经过专门的数据导入进程进行相应的转换,以便MongoDB数据库处理;例如,对于其中一个外围提供的文本文件的MongoDB入库命令如下:mongoimport -d TIBCO3_HIST -c SWI_IN_BAK_01 -type tsv -headerline -drop SWI_IN_01.tsv根据我们的验证,在大批量数据导入时速度上MongoDB导入性能比Oracle sqlloader明显要快。(3) MongoDB数据文件,由于MongoDB是一种基于JSON(JavaScript Object Notation)的非关系型数据库,可将一个文档或文件以BSON(Binary JSON)的格式存入其中。JSON是一种轻量级的数据交换格式,这种交换格式易于阅读和编写,同时也易于机器解析和生成。以BSON格式存储的非结构化数据,在MongoDB数据库中称之为文档(Document)每个文档可理解为关系数据库中的一条记录(Record),若干记录使用集合(Collection)统一管理,若干集合属于同一个数据库,如此一来,文件数据可直接存储于数据库中。(4) MongoDB驱动,MongoDB是以C+开发的,但是支持基于网络访问的Java、Python、PHP等语言的驱动,我们这里用到了MongoDB的java驱动程序。(5) Websphere数据查询,归档后的历史数据查询功能集成在基于websphere的统一历史数据查询中心中,为用户提供统一的历史数据查询视图。最终实现基于Linux平台、Websphere中间件、以及MongoDB数据库的历史短信查询界面截图如下:基于实际数据处理的运行效果,新的构架有以下特性: 导入性能上:在大批量数据导入时速度上MongoDB导入性能比Oracle sqlloader明显要快; 资源消耗上:在数据导入时随着数据量的增长,MongoDB在 CPU和内存消耗的上升速度比Oracle要快,因此在小批量数据导入情况下,MongoDB的CPU和内存的消耗比Oracle少,但是在大批量数据导入情况下,MongoDB的CPU和内存的消耗比Oracle多; 索引特性:在没有建立索引情况下,无论是单条件查询还是多条件查询,MongoDB的查询性能比Oracle的查询性能要低很多;在有索引的情况下MongoDB的查询性能相对没有索引的情况有显著提升,甚至超出了相同记录数下Oracle的查询性能; 查询性能:在有索引的情况下,在大数据量查询时,无论是单条件查询还是多条件查询,总体上MongoDB的查询性能比Oracle的查询分析性能要高; 5. 优化后达到的效果和意义,产生的经济效益随着北京移动数据分级存储系统三期,即ILM(Information Lifecycle Management)三期系统的上线,统一历史数据归档查询中心中的数据已经涵盖老的BOSS3、Siebel CRM以及新的NGCRM、NGBOSS、营销管理平台等系统的历史数据。其中既包含基于常见的关系数据库Oracle数据的直接归档的数据,还包含基于非结构化数据库MongoDB的非结构化数据,以及通过转换后的软件和存储成本更低的半结构化数据。在采用MongoDB数据库后,统一归档查询中心对于基于文本的非结构化以及半结构化归档历史数据的查询性能得到大幅提升。尝试解决了不适合在BI也不适合在CRM构架下处理的数据关联分析的需求。应对不断增加的大数据即时分析业务问题。同时,本结构支持云平台技术,能够达到开源节流 提高企业在移动互联环境核心竞争力。新的系统完全在刀片环境,开源环境实现,极大降低软硬件建设维护成本。n 方案全部支持X86平台,有效降低了主机服务器的能力需求和采购成本,现阶段一般小型主机投资成本都约百万元,而同样能力刀片只要几十万投资。此项经济效益会随着用户规模的扩大而持续增长。n 通过由X86平台替代原小型机能力,有效降低了主机服务器的维保费用。 n 通过数据库小型机能力需求向X86刀片平台迁移实现了绿色环保,使机房能源节约大幅提高,每年可节省大量电能消耗。“成果上报申请书”的填写说明:1、“成果专业类别”

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论