智慧吴中大数据平台建设方案书-v05

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第1页1.大数据平台项目建设方案1.1大数据平台建设目标与内容建设目标国家工信部软件服务业司司长陈伟为大数据概括出四方面特征,“首先在于体量大,是一个数据全集的概念,第二是类型多,包括结构化数据、半结构化数据、非结构化数据等多种类型,其中视频数据在目前占到了90%以上的总额;第三要求速度快,需要以秒级为目标进行实时动态处理。最后在于价值密度,由于大量有用和可能没用的数据并存,遍地是金子,又遍地是沙子”,所以大数据的目的就在于从庞大的数据集合中找寻有价值的数据和知识,通过分析挖掘为各行业提供真正的智慧,“可以说21世纪是‘数据钻出石油’的时代。”我们要将各种系统的各种有用数据汇集起来,通过一个统一的平台管理与分析,这就是大数据平台的最大优势。本期建设内容大数据平台的发展是基于云计算平台不断升级并向数据库大数据应用靠拢的一个过程,可更好的适应关系型计算模式,拥有不同结构数据的综合管理、提供同时支持在线分析处理(OLAP)和在线事务处理(OLTP)能力以及多存储模式等,会在未来发挥不可估量的作用。1.2大数据平台设计大数据平台的设计原则大数据平台是一种面向大数据应用的云计算数据存储与管理平台,该平台基于关系数据模型,访问方式也是简化版本的SQL语言规范,对SQL语言规范支持第2页度达到80%以上,可管理的数据规模达到万亿条记录级,容量可达到PB级,同时该平台支持大数据的OLTP(联机事务处理)和OLAP(联机分析处理),,数据入库速度到达每秒千兆字节级,数据关联查询响应时间达到秒级,支持自动容错和动态扩展,在平安城市、智能交通、智能电网、互联网数据处理、移动信令处理等领域构建典型应用并进行大规模产业推广。数据中心建设遵循以下原则:1)体系架构•分布式并行计算、多副本机制、没有单点的高可靠体系架构•面向行业应用的软硬件一体化整合2)系统功能•结构化、半结构化、非结构化数据的管理和搜索•主流格式机器数据的实时采集、解析、管理和搜索•多存储模式•高效的分布式SQL解析器•支持事务机制•实时及用户行为数据的高效管理和分析•创新的多检索引擎机制,提供开放的二次开发接口3)性能指标•PB级的海量数据管理•海量用户的高并发实时访问(千万级用户、万级并发)第3页•相对较低的资源消耗•充分释放硬件的潜力(多核、大内存等)4)管理功能•大规模部署的自动化和运行状态监控•对核心数据管理服务的高可用技术研究与实施5)工程性功能•高性能分布式环境的构建与部署•负载均衡分布式环境的构建与部署1.3大数据平台架构1.3.1体系架构如上图所示,大数据平台有多个层次,其中最主要的是数据处理层和数据存储层,数据存储层使用云存储技术,数据处理层包括多个模块,如下图所示:第4页图4大数据平台架构大数据平台的结构可以分为以下几部分:用户接口:包括DDLJDBC,DMLAPI,DDLShell,DMLShell,数据导入API数据接收模块:单条多条记录入库。索引模块:索引生成。SQL解析器:对SQL语句解析为一个大数据平台的一个作业。任务执行器:处理一个大数据平台作业的子任务。元数据管理器:大数据平台的元数据是在mysql中进行管理的。(1)用户接口用户接口主要有四个:JDBC,数据查询API,Shell,数据导入API。JDBC主要执行数据的定义操作,即建立数据库、建表、建分区,对数据库、表和分区的删改等;数据查询API主要执行数据查询的SQL语句,暂不支持增删改;数据立方提供友好的shell交互界面,shell支持数据库、表的增删改以及数据查询的SQL语句;数据导入API的作用是表记录的单条多条插入,数据库中数据的第5页导入使用sqoop工具。(2)数据接收模块该模块支持表的单条和多条记录的插入,通过使用数据导入API来实现数据的插入,当需要与数据库进行数据交互时,可以使用sqoop工具来进行相关操作,同时也可以使用HDFS的API来直接进行数据文件的导入导出。(3)索引模块数据在插入的同时与数据对应的索引也在同时建立,索引是一颗B树,数据插入到内存的同时,索引B树也在生成,当达到设置上限时,数据和索引会刷新到HDFS上成为文件。(4)SQL解析器SQL解析器、执行器完成大数据平台查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。SQL解析器接收从数据查询API和SHELL传来的SQL语句,同时对SQL进行词法分析、语法分析、编译、优化以及生成查询作业,接着分析所要处理数据的所在位置,根据数据位置切分查询作业形成子任务,然后将子任务发送给数据所在节点的执行器。第6页(5)任务执行器每个子节点的任务执行器接收到SQL解析器发来的子任务,随后执行这些子任务,执行完毕将结果传回SQL解析器。(6)元数据管理大数据平台将元数据存储在mysql数据库中。大数据平台中的元数据包括,数据库的名字和属性,数据库中的表,表的名字,表的列和分区及其属性,表的属性,表的数据所在目录等等。3.2.2数据立方与Hadoop的关系(1)数据立方与HDFS的关系大数据平台是建立在Hadoop上的分布式数据库。大数据平台是一种可以存储、查询和分析在Hadoop中海量数据的机制。大数据平台的底层存储是架设在HDFS之上,表的数据和索引均是以文件形式存储在HDFS上,所以当前大数据平台中表的数据还不支持删改。与HDFS集群相对应,大数据平台主节点与NameNode部署在同一个物理节点上,子节点与DataNode部署在同一个物理节点上,在执行SQL查询语句时主节点的SQL解析器会向NameNode发送请求获取相关表的数据文件的元数据信息,SQL解析器生成子任务发给子节点的任务执行器,任务执行器通过数据文件的数据块ID从DataNode获取该数据块在本地磁盘的绝对路径,然后直接读取本地文件。(2)大数据平台与MapReduce的关系同时,因为大数据平台的数据存储在HDFS上,因此也允许MapReduce开发者的开发自定义的MapReduce程序来处理大数据平台中的数据。第7页1.3.2体系特点1)高可靠分布式存储体系架构的构建数据存储支持分布式架构,满足海量数据存储的高可靠、高可用、大吞吐率等要求,支持POSIX、SHELL流式数据访问、WEB等多种接口,支持简单一致性模型、多副本机制、回收站机制和主节点热备机制。在硬件上支持符合工业标准的服务器,支持IBM、HP、DELL品牌的国际主流服务器整机产品;支持联想、浪潮、曙光、宝德、长城等品牌的国内主流服务器整机产品;在操作系统层面支持主流LINUX系统,例如:CentOS、RedHat、Fedora、Debian、Ubuntu、SuSE等。2)面向行业应用的资源整合形成将面向金融、电信行业、公共事业等服务器端应用从传统数据库迁移到大数据平台的迁移移植能力,将原系统的数据库、中间件、应用平台以及业务逻辑单元整体迁移到大数据平台上,并针对其应用场景进行优化增强。3)支持与传统数据库和NoSQL数据库等多种数据库的整合大数据平台支持跨平台的应用,在自身基于云平台的同时又可以支持传统数据库和NoSQL数据库等多种数据库的嵌入,提供一系列的中间件和软件总线保证云平台与其他数据库的兼容性并提供数据流与指令流的交互接口,同时提供统一的用户界面和编程接口。这种多系统的整合能够在一个统一平台上处理不同结构数据、支持不同类型应用、支持不同存储模式并提供丰富的对外接口,这种整合可以使存储在不同数据库系统中的不同类型数据的混合关联处理得以实现,可以让各种数据管理系统第8页扬长避短,最大限度地发挥优势以取得最大效率。1.3.3大数据处理技术MapReduce计算架构把运行在大规模集群上的并行计算过程简单抽象为两个函数:Map和Reduce,也就是分解与规约。简单说,MapReduce就是“任务的分解与结果的汇总”。程序将大数据分解为多个数据块由Map函数处理,Reduce把分解后多任务处理产生的中间结果汇总起来,得到最终结果。适合MapReduce处理的任务特征为:待处理的大规模数据集可以切分为多个小的数据集,并且每一个小数据集都可以完全并行地进行处理。图1介绍了用MapReduce处理大数据集的过程。一个MapReduce操作分为两个阶段:Map阶段和Reduce阶段。图1MapReduce处理大数据集的过程在映射阶段,MapReduce并行计算架构将用户的输入数据切分为M个数据段,每个数据段对应1个Map任务。每一个Map函数的输入是数据段中的键值对K1,V1集合,Map函数是用户继承MapReduce并行计算架构而编写的,Map操作调用此函数,输出一组中间结果,即键值对K2,V2集合。接下来,按照中间结果集合的K2将中间结果集进行排序,生成一个新的K2,list(V2)集合,使得对应同一个K2的所有值的数据都聚集在一起。然后,按照K2的范围将这些元组分割为R个片断,对应Reduce任务的数目。在规约阶段,每一个Reduce操作第9页的输入是一个K2,list(V2)片断,Reduce操作调用用户定义的Reduce函数,生成用户需要的键值对K3,V3进行输出。这种简洁的并行计算模型在系统层面解决了可用性、扩展性、容错性等问题,是非关系数据管理和分析技术的典型代表。MapReduce是面向廉价计算机组成的大规模集群设计的,其非共享结构、松耦合性和较强的容错能力带来了较强的扩展能力,同时,MapReduce在工业界被广泛应用,Google、twitter、Facebook、Yahoo等厂商对其进行了深度的改进和扩展。此外,MapReduce的key,value存储模型能够存储任意格式的数据,Map和Reduce函数可以进行各种复杂的数据处理,这也使得程序员的负担加重,在对上层业务的开发效率上不如SQL简单。在相同的硬件条件下,对于有具体条件的查询来说,并行数据库[2]的性能是远远超过MapReduce的,但是对于在大数据上的复杂统计业务来说,MapReduce在速度上会占有一定优势,MapReduce是为非结构化大数据的复杂处理而设计的,这些业务具有一次性处理的特点,此外由于采取了全数据扫描的模式以及对中间结果逐步汇总的策略,使其在拥有良好扩展能力和容错能力的同时也导致了较高的磁盘和网络I/O的负载以及较高的数据解析代价1.4大数据平台功能1.4.1系统功能1)支持不同种类数据的存储大数据平台支持非结构化、半结构化和结构化数据,即支持图形、图像、声音等多媒体信息的大文件和海量小数据文件存储,支持XML、结构化记录和Key/Value键值对的存储,同时支持复杂的结构化多维数据。2)多索引引擎机制大数据平台支持传统关系数据库的字段索引,同时也支持半结构化数据和非第10页结构化数据的子字段索引、全文索引(英文单词索引和中文单汉字索引)、人工标记索引和中、英文混合索引等方式。此外,配合数据库的格式化语言,可以对同一字段进行若干种不同的索引,以满足特殊检索的需求。支持基于哈希的索引技术,研发适用于海量数据内容管理的存储与索引技术,实现大数据并行访问与查询。3)支持在线分析处理(OLAP)和在线事务处理(OLTP)在处理大数据时,大数据平台满足一个单表查询或多表关联操作的秒级响应。支持一次返回上百万条以上结果集的海量数据分析查询,支持快速、一致和交互的数据存取,支持基于关系型数据库与多维数据库的混合方式数据分析,支持大量并发用户定期对数据的操作,支持每秒万次的事务操作,支持事务机制的原子性、一致性、孤立性和持续性。4)支持多存储模式大数据平台同时拥有列式存储和行式存储执行引擎,同时存储半结构化和结构化数据,综合两者的优势以达到更高的效率。传统数据库使用的是行式存储,其读写方式是以一行记录为单位,从第一列开始,到最后一列结束。行存储的写入是一次完成,对于结构化数据这种写入模式非常适合,但对于大数据,这种写入的效率比较低下,并会产生很多冗余数据,导致带宽占用严重。列存储是一种区别于传统行存储的新型数据库读写模式,列存储完全改变了这种模式,列存储数据在写

1 / 37
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功