大数据处理技术的总结与分析.docx

上传人:H****o 文档编号:26755664 上传时间:2022-07-19 格式:DOCX 页数:8 大小:58.18KB
返回 下载 相关 举报
大数据处理技术的总结与分析.docx_第1页
第1页 / 共8页
大数据处理技术的总结与分析.docx_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《大数据处理技术的总结与分析.docx》由会员分享,可在线阅读,更多相关《大数据处理技术的总结与分析.docx(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精品名师归纳总结数据分析处理需求分类1 事务型处理在我们实际生活中,事务型数据处理需求非经常见,例如:淘宝网站交易系统、12306 网站火车票交易系统、超市 POS 系统等都属于事务型数据处理系统。这类系统数据处理特点包括以下几点:一是事务处理型操作都是细粒度操作,每次事务处理涉及数据量都很小。二是运算相对简洁,一般只有少数几步操作组成,比如修改某行的某列。三是事务型处理操作涉及数据的增、删、改、查,对事务完整性和数据一样性要求特别高。四是事务性操作都是实时交互式操作,至少能在几秒内执行完成。 五是基于以上特点, 索引是支撑事务型处理一个特别重要的技术。在数据量和并发交易量不大情形下,一般依靠

2、单机版关系型数据库,例如 ORACLE、MYSQL 、SQLSERVER,再加数据复制 DataGurad 、RMAN 、MySQL 数据复制等 等高可用措施即可满意业务需求。在数据量和并发交易量增加情形下,一般可以采纳ORALCE RAC 集群方式或者是通过硬件升级 采纳小型机、大型机等,如银行系统、运营商计费系统、证卷系统来支撑。事务型操作在淘宝、 12306 等互联网企业中,由于数据量大、拜访并发量高, 必定采纳分布式技术来应对, 这样就带来了分布式事务处理问题, 而分布式事务处理很难做到高效, 因此一般采纳依据业务应用特点来开发专用的系统来解决本问题。可编辑资料 - - - 欢迎下载精

3、品名师归纳总结2 数据统计分析数据统计主要是被各类企业通过分析自己的销售记录等企业日常的运营数据,以帮助企业治理层来进行运营决策。 典型的使用场景有: 周报表、 月报表等固定时间供应应领导的各类统计报表。 市场营销部门, 通过各种维度组合进行统计分析, 以制定相应的营销策略等。数据统计分析特点包括以下几点:一是数据统计一般涉及大量数据的聚合运算,每次统计涉及数据量会比较大。二是数据统计分析运算相对复杂,例如会涉及大量 goupby 、 子查询、嵌套查询、窗口函数、聚合函数、排序等。有些复杂统计可能需要编写 SQL 脚本才能实现。三是数据统计分析实时性相对没有事务型操作要求高。 但除固定报表外,

4、 目前越来越多的用户期望能做做到交互式实时统计。传统的数据统计分析主要采纳基于MPP 并行数据库的数据仓库技术。主要采纳维度模型, 通过预运算等方法, 把数据整理成适合统计分析的结构来实现高性能的数据统计分析, 以支持可以通过下钻和上卷操作, 实现各种维度组合以及各种粒度的统计分析。另外目前在数据统计分析领域, 为了满意交互式统计分析需求, 基于内存运算的数据库仓库系统也成为一个进展趋势,例如SAP 的 HANA 平台。3 数据挖掘数据挖掘主要是依据商业目标, 采纳数据挖掘算法自动从海量数据中发觉隐含在海量数据中的规律和学问。可编辑资料 - - - 欢迎下载精品名师归纳总结数据挖掘主要过程是:

5、 依据分析挖掘目标, 从数据库中把数据提取出来, 然后经过 ETL 组织成适合分析挖掘算法使用宽表,然后利用数据挖掘软件进行挖掘。传统的数据挖掘软件,一般只能支持在单机上进行小规模数据处理,受此限制传统数据分析挖掘一般会采纳抽样方式来削减数据分析规模。数据挖掘的运算复杂度和敏捷度远远超过前两类需求。一是由于数据挖掘问题开放性,导致数据挖掘会涉及大量衍生变量运算, 衍生变量多变导致数据预处理运算复杂性。 二是许多数据挖掘算法本身就比较复杂, 运算量就很大, 特殊是大量机器学习算法,都是迭代运算,需要通过多次迭代来求最优解,例如K-means 聚类算法、 PageRank 算法等。因此总体来讲,数

6、据分析挖掘的特点是:1 、数据挖掘的整个运算更复杂,一般是由多个步骤组成运算流,多个运算步骤之间存在数据交换,也就是会产生大量中间结果,难以用一条sql 语句来表达。2、运算应当能够特别敏捷表达,许多需要利用高级语言编程实现。二 大数据背景下事务型处理系统相关技术在 google 、facebook 、taobao等大互联网公司显现之后,这些公司注册和在 线用户数量都非长大,因此该公司交易系统需要解决“海量数据+ 高并发+ 数据一样性+ 高可用性”的问题。为明白决该问题, 从目前资料来看, 其实没有一个通用的解决方案, 各大公司都会依据自己业务特点定制开发相应的系统,但是常用的思路主要包括以下

7、几点:(1) 数据库分片,结合业务和数据特点将数据分布在多台机器上。(2) 利用缓存等机制,尽量利用内存,解决高并发时遇到的随机IO 效率问题。(3) 结合数据复制等技术实现读写分别,以及提高系统可用性。可编辑资料 - - - 欢迎下载精品名师归纳总结(4) 大量采纳异步处理机制,对应高并发冲击。(5) 依据实际业务需求,尽量防止分布式事务。1 相关系统介绍1) 阿里 CORBAR 系统阿里 COBAR 系统是一个基于 MYSQL 数据库的分布式数据库系统, 属于基于分布式数据库中间件的分布式数据库系统。 该系统是前身是陈思儒开发的 “变形虫” 系统以前调研过 ,由于陈思儒离开阿里去了盛大,阿

8、里当心“变形虫”稳固性等问题,重新开发该项目。该系统主要采纳数据库分片思路,实现了:数据拆分、读写分别、复制等功能。 由于此系统由于只需要满意事务型操作即可,因此相对真正并行数据库集群例如 TeraData等,此类系统供应操作没有也不需要供应一些复杂跨库处理,因此该系统存在以下限制:(1) 不支持跨库的 join 、分页、排序、子查询。(2) insert等变更语句必需包括拆分字段等。(3) 应当不支持跨机事务 以前变形虫不支持 。说白了此类系统不具备并行运算才能 ,基本上相当于数据库路由器!另外此类系统的在实际应用的关键问题是, 依据什么对数据进行切分, 由于切分不好会导致分布式的事务问题。

9、2) 阿里 OceanBase系统该系统也是淘宝为明白决高并发、 大数据环境下事务型处理而定制开发的一个系统。该系统主要思路和特点如下:可编辑资料 - - - 欢迎下载精品名师归纳总结(1) 他们发觉在实际生成环境中, 每天更新的数据只占总体数据的 1% 不到,因此他们把数据分为:基线数据和增量更新数据。(2) 基线数据是静态数据,采纳分布式储备方式进行储备。(3) 只在一台服务器上储备和处理增量更新数据,并且是在内存中储备和处理更新数据。(4) 在系统负载轻的时候,把增量更新批量合并到基线数据中。(5) 数据拜访时同时拜访基线数据和增量更新数据并合并。因此这样好处是:(1) 读事务和写事务分

10、别(2) 通过牺牲一点扩展性(写是一个单点),来防止分布式事务处理。说明:该系统虽然能处理高并发的事务型处理, 号称很牛逼, 但其实也只是依据电商的事务处理来定制开发的专用系统,个人认为其技术难度小于 oracle 等通用型的数据库 。该系统无法应用到银行或者 12306等,由于其事务处理的规律远远比电商商品买卖处理规律复杂。在目前的大数据时代,肯定是基于应用定制才能找到好的解决方案!3) 基于 Hbase的交易系统在 hadoop平台下, HBASE 数据库是一个分布式 KV 数据库,属于实时数据库范畴。支付宝目前支付记录就是储备在HBASE 数据库中。HBASE 数据库接口是非 SQL 接

11、口,而是 KV 操作接口 基于 Key 的拜访和基于key 范畴的 scan 操作,因此 HBASE 数据库虽然可扩展性特别好,但是由于其可编辑资料 - - - 欢迎下载精品名师归纳总结接口限制导致该数据库能支持上层应用很窄。基于HBASE 应用的设计中,关键点是 key 的设计,要依据需要支持的应用来设计key 的组成。可以认为 HBASE 数据库只支持作为 KEY 的这一列的索引。 虽然目前 HBASE 有支持二级索引的方案,二级索引保护将会比较麻烦。2 并发和并行区分并发是指同时执行通常不相关的各种任务,例如交易型系统典型属于高并发系统。并行是通过将一个很大的运算任务, 划分为多个小的运

12、算任务, 然后多个小运算任务的并行执行,来缩短该运算任务运算时间。两者主要区分在于:(1) 通讯与和谐方面:在并行运算中,由于多个小任务同属一个大的运算任务,因此小任务之间存在依靠关系, 小任务之间需要大量通讯和和谐。相反, 并发中的多个任务之间基本相互独立,任务与任务之间相关性很小。(2) 容错处理方面:由于并发任务之间相互独立,某个任务执行失败并不会影响其它的任务。 但是并行运算中的多个任务属于一个大任务, 因此某个子任务的失败,假如不能复原 粗粒度容错与细粒度容错 ,就整个任务都会失败。3 本章总结数据量大不肯定需要并行运算, 虽然数据量大, 数据是分布储备, 但是假如每次操作基本上仍是

13、针对少量数据,因此每次操作基本上都是在一台服务器上完成,可编辑资料 - - - 欢迎下载精品名师归纳总结不涉及并行运算 。只是需要通过数据复制、 数据缓存、 异步处理等方式来支撑 高并发拜访量三 大数据背景下数据统计分析技术介绍随数据量变大, 和事务处理不同的是, 单个统计分析涉及数据量会特别大, 单个统计分析任务涉及数据会分散在多台服务器上,且由于运算量大, 采纳单台服务器进行运算, 会导致运算时间特别长, 单个统计分析任务必需采纳 并行运算 方式来加快单个统计分析任务执行速度。1 并行查询与并行运算技术介绍在大数据背景下的数据统计分析技术门类许多,常见的有:nMPP 并行数据库 : Ter

14、aData 、GreenPlum 、Vertica 等。n基于 MapReduce并行运算框架的数据仓库: HIVEHadoop平台 、Tenzing (Google公司)n基于 Hbase 的 Phoenix系统nHadoopDB系统nEMC 公司的 hapt 系统nMPP 分布式查询引擎: Dremel 、Impala 、Presto 、Shard query、Citusdb 。n基于 SPARK 的 Shark 、基于 Dryad 的 SCOPE、基于 Tez 的 stinger 。n基于 hadoop+index的 JethroData系统n基于内存运算的 Druid 系统这些系统都解

15、决了海量数据下的数据统计分析的问题,并且这些系统另外一个共同特点是都供应了 SQL 或者类 SQL 接口。可编辑资料 - - - 欢迎下载精品名师归纳总结为了能够较好讨论这些系统, 我们需要对并行查询与并行运算的相关技术做一个简要的介绍。第一全部的系统都可以分为三个层次 : 语义层、并行运算引擎层、 分布式储备层。语义层供应一个编程接口让用户表达所需要运算, 并负责把该运算翻译成底层并行运算引擎可以执行的执行方案, 并由并行运算引擎来执行, 最下面一层是分布式储备层。对于供应类 SQL 接口并行运算系统,语义层可以认为是SQL 解析层。1语义层SQL 语言是一种声名式语言, SQL 只是表达了要做什么,而没有表达怎么做。为此, SQL 解析层主要作用是:将用户提交的基于SQL 的统计分析恳求,转化为底层运算引擎层可以执行的执行方案。也就是解决“怎么做”的问题。SQL 解析层工作主要包括两个大方面:(1) 通过语法分析技术来懂得要做什么。在关系数据库中,一般会把SQL 语言分析后,形成 树型结构的执行方案。(2) 在语法分析技术上,利用各种优化技术和算法,找出一种最经济物理执行计划。可编辑资料 - - - 欢迎下载

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁