重点推荐省级国家级期刊、北大中文核心、CSSCI、EI、SCI发表,稳妥操作,速度快,包发表。有意向联系客服咨询。
论文代写:十年专业服务品质,全部由期刊编辑、硕士、博士撰写;保证原创、版权归您;保证通过、否则全额退款。
论文发表:与百家优秀期刊合作,代理审核组稿,论文发表涵盖所有专业领域,全部正刊,保证出刊,否则全额退款。
业务合作:因业务发展需要,诚招优秀写手合作,要求硕士以上学历,不限专业,另诚征优秀期刊代理合作,具体详谈。QQ:415835425
基于分布式的海量数据处理架构研究
基于分布式的海量数据处理架构研究
马学志,袁玉宇**
作者简介:马学志,(1985-),男,硕士研究生,软件质量。
通信联系人:袁玉宇,北京邮电大学教授,博士生导师,国家软件标准化推广中心副主任,中国人工智能
协会智能产品与产业工作委员会副主任,ISO/IEC JTC1 SC7 国际软件工程标准委员会中国代表团团长,
ISO/IEC JTC1 SC7 WG6 工作组成员,第五届IEEE 认知信息学国际会议委员会主席,中国电子学会数据库
专家委员会委员,主要研究方向:软件工程、软件质量、软件测试. E-mail: yuanyuyu@263.com
(北京邮电大学软件学院,北京 100876)
5 摘要:本文主要研究的是基于分布式海量数据处理的架构设计,为了解决目前流行的社会性
网络服务,以及一些大规模访问量的新闻,服务性网站的海量数据处理的问题,作者在文中
提出了一个全面系统的解决架构,该架构从计算机的硬件,到文件处理系统及网络层,针对
每一层都提供一个较为理想且成熟的处理技术,通过对每一层的海量数据处理技术的整合,
最终实现一个基于分布式的海量数据处理架构。该架构的实现可以方便,有效的解决海量数
10 据处理遇到的问题,使得网络访问及处理的速度大幅提升。
关键词:分布式;非关系型数据库;海量数据处理
30 0 引言
从1969 年互联网诞生的那一天起,网络就开始迅速的改变着我们生活的世界和我们的
生活方式,很难想象,在今天这个飞速发展的世界上,没有网络是一件多么可怕的事情。网
络最开始的产生是由美国军队在ARPA(阿帕网)制定的协定下将美国西南部的几所大学连接
起来,从这个连接方案实施的第一天起,网络的发展已经注定势不可挡。互联网是全世界的,
35 不管是谁发明了互联网,它都是属于人类的。
最初的互联网实现的功能只是发送几个字母而已,当美国的加州大学洛杉矶分校教授莱
纳德·克莱尼洛克(Leonard Kleinrock 向斯坦福研究所(Stanford Research Institute)的一台计算
机发送了一则信息,该信息由两个英文字母组成,即“lo”。此举宣告互联网产业正式诞生。
互联网的真正普及是由于万维网的出现,万维网通过HTTP(Hypertext Transfer Protocol)
40 将资源传送给使用者,通过这种方式,使得信息的传输和浏览都变得非常的简单容易,人人
都可以轻松的使用网络。今天,万维网使得全世界的人们以史无前例的巨大规模相互交流。
随着人类在网络上交流的信息量越来越大,网络上的应用也越来越多,特别是随着近些
年来SNS(Social Networking Services)发展迅速,比较有代表性的有Google, Facebook, Twitter
等超大数据量的网络应用。这些热门的网站和应用受到广大网民的热烈追捧,其结果就是用
45 户越来越多,数据量越来越大,如何处理如此大规模的数据量,并且处理速度及其性能的提
升是一个亟待解决的问题。
1 两种数据处理方法OLTP,OLAP
传统的数据处理方法通常分为两种方式,联机事务处理系统(OLTP)和联机分析处理
系统(OLAP),海量数据的处理方法也无非就是这两种。
50 1.1 联机事务处理系统(OLTP)
OLTP 即On-Line Transaction Processing 联机事务处理系统,联机事务处理系统也被称
为面向交易的数据处理系统。OLTP 联机书屋处理系统是传统的关系型数据库的主要应用,
主要是基本的、日常的事务处理,例如银行交易。联机事务处理系统的基本特征是用户的原
始数据可以立即传送到计算中心进行处理,并且可以在很短的时间内给出处理结果。这种处
55 理方式的最大的优点是可以即时的处理输入的数据,及时的返回数据的处理结果。OLTP 数
据库旨在使事务应用程序仅写所需要的数据,以便于能尽快的处理单个的事务。OLTP 数据
库具有支持大量的并发用户定期的进行数据的添加和修改,反应随时的单位状态变化,包含
大量的数据,其中包含用于验证事务的大量数据的特征,同时,OLTP 数据库具有复杂的结
构,可以进行优化以对事务活动作出必要的响应,提供用于支持日常运营的技术基础架构,
60 个别事务可以很快的完成,并且只需要访问相对较少的数据[1]。
1.2 联机分析处理系统(OLAP)
OLAP 即On-Line Analytical Processing 联机分析处理系统,伴随着数据库以及相关技术
的发展和应用,数据库存储的数据量从上个世纪80 年代的MB 及GB 过渡到现在的TB 和
PB,同时,用户要进行的查询需求也越来越复杂,查询要涉及的已经不仅是查询或操纵一
65 张关系表中的一条或几条记录,而且要对很多张表中的千万条记录的数据进行数据分析和信
息综合,关系型数据库系统已不能全部满足这一要求。OLAP 力图统一分散的公共应用逻辑,
在短时间内响应非数据处理专业人员的复杂查询要求。OLAP 是数据仓库系统的主要应用,
支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。联机分析处理的主要
特点,是直接仿照用户的多角度思考模式,预先为用户组建多维的数据模型,在这里,维指
70 的是用户的分析角度。例如对销售数据的分析,时间周期是一个维度,产品类别、分销渠道、
地理分布、客户群类也分别是一个维度。一旦多维数据模型建立完成,用户可以快速地从各
个分析角度获取数据,也能动态的在各个角度之间切换或者进行多角度综合分析,具有极大
的分析灵活性。这也是联机分析处理在近年来被广泛关注的根本原因,它从设计理念和真正
实现上都与旧有的管理信息系统有着本质的区别[2]。
75
图1 联机分析处理系统
OLTP 与OLAP 的区别
80 表1 OLTP 与OLAP 的区别
OLTP OLAP
用户 操作人员,低层管理人员 决策人员,高级管理人员
功能 日常操作处理 分析决策
DB 设计 面向应用 面向主题
数据 当前的, 最新的细节的, 二维的分立的历史的, 聚集的, 多维的集成的, 统一的
存取 读/写数十条记录 读上百万条记录
工作单位 简单的事务 复杂的查询
用户数 上千个 上百万个
DB 大小 100MB-GB 100GB-TB
2 传统的海量数据处理解决方案
传统的海量数据处理的解决方案一般分为两种情况,一种情况就是软件服务提供商或是
应用提供商不断的提高自己的机器的性能,或是添加机器设备等,另外一种就是在原有硬件
85 资源不变的情况下,多数据进行逻辑分解,就是目前我们所说的分库,分表操作。
2.1 添加硬件、设备
简单的来讲,添加硬件设备就是当遇到大量的数据需要处理的时候,可能原来一台机器
或者是设备的工作能力已经不能按时的完成自己的工作,这是我们就需要添加新的硬件、设
备,并行的处理原来一台或是少量硬件、设备的工作,这样可以提高数据处理的速度,类似
90 于原来一个人的工作,现在有两个人或者是多个人同时完成,这样处理的速度就会大大的提
高。添加的硬件、设备可以是CPU,内存,硬盘等。
2.1.1 添加硬件、设备的优点
添加硬件、设备对于提高数据处理能力来说有其独特的优点,首先添加新的硬件、设备
在大规模数据处理方面可以起到立竿见影的效果,在解决数据处理问题的耗时上相对用时较
95 少。其二,添加新的硬件、设备的实际操作比较简单,没有相对复杂的数据分析过程。
2.1.2 添加硬件、设备的缺点
相信很多大规模的网站或是应用都经历过类似的问题,在处理大规模数据的时候,当数
据规模越大,硬件所耗费的成本越高,同时在数据处理能力方面性能提高的效果越来越不明
显,其实这是由添加硬件、设备本身固有的缺点所决定的。添加新的硬件、设备的第一个缺
100 点就是成本大。添加硬件、设备的另外一个缺点就是,硬件、设备的数量与性能的提高是非
线性的关系,通常当硬件、设备的数量达到一定数目的时候,再添加新的硬件、设备对数据
处理能力的提升影响微乎其微。
图2 硬件、设备数量与数据处理性能的非线性关系
105
2.2 对数据库进行分库、分表
面对大量的数据处理,目前还有一种比较流行的方法是对数据库进行分库分表,这种情
况主要是随着用户数量的增长以及数据库中数据量的增长,原有的数据库单库已经无法承受
这种高负荷的工作,查询性能大幅下降,查询速度无法满足系统的需求,这个时候有一种解
110 决方案就是将现有的数据库单库进行分割,分割的方式有两种,一种是对整个的数据库进行
分割,另外一种就是对数据库的某一个表进行分割。数据库的分库、分表可以有效的提升数
据处理的速度。
2.2.1 对数据库进行分库、分表的优点
首先,采用对数据库进行分库分表的这种方法来提升大规模数据处理的性能不需要耗费
115 较高的硬件成本,而且可以有效的提高处理速度。同时它还可以降低单台机器、设备的负载,
最大限度的降低了宕机所能造成的损失。通过负载均衡的策略,有效的降低了单台机器、设
备的访问负载,降低了宕机发生的可能性;而且通过集群的方案,解决了数据库发生宕机带
来的单点数据库的不能访问的问题;通过对读写的分离策略更是最大限度的提高了应用中读
取数据的速度和并发量。
120 2.2.2 对数据库进行分库、分表的缺点
毋庸置疑的是,对数据库进行分库和分表有助于提高数据处理的速度,但是分库、分表
也有其自身的缺点。要对数据库进行分库、分表操作的逻辑复杂性非常的高,要充分考虑数
据库的设计以及可扩展性。其次,对数据库进行分库、分表操作之后的维护工作非常的复杂,
需要对多个数据库或者是多个表的数据进行分析,维护,维护成本和难度都很大。
125 3 基于分布式的海量数据处理架构
3.1 分布式计算
分布式计算是近些年来提出的一种新的计算方式。所谓分布式计算就是在两个或者是多
个软件互相共享信息,这些软件既可以在同一台计算机上运行,也可以在通过网络连接起来
的多台计算机上运行。分布式计算研究如何把一个需要非常巨大的计算能力才可以解决的问
130 题分成若干个小的部分,然后把这些小的部分分配给许多计算机进行处理、运算,最后把这
些来自不同计算机的计算结果综合起来得到最终的结果[3]。
3.2 NoSql 的兴起
学术论文网Tag:代写论文 代写代发论文 职称论文发表 代写代发
|
本站郑重声明:
1、我们与数十所知名高校博士强强联手,保持常年稳定合作关系,论文质量更有保证;;
2、写作领域涉及所有专业,实力操作,出稿更快,质量更高,通过率100%;
3、所有代写文章,全部原创,包检测,保证质量,后续免费修改,保证通过;
4、信誉实力服务,专业代写毕业论文,职称论文,硕博士论文,留学生论文,成熟操作;
------分隔线----------------------------