大数据架构与关键技术.pdf
《大数据架构与关键技术.pdf》由会员分享,可在线阅读,更多相关《大数据架构与关键技术.pdf(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、4 大数据参考架构和关键技术4.1 大数据参考架构大数据作为一种新兴技术,目前尚未形成完善、达成共识的技术标准体系。本章结合 NIST和 JTC1/SC32 的研究成果,结合我们对大数据的理解和分析,提出了大数据参考架构(见图5)。图 5 大数据参考架构图大数据参考架构总体上可以概括为“一个概念体系,二个价值链维度”。“一个概念体系”是指它为大数据参考架构中使用的概念提供了一个构件层级分类体系,即“角色活动功能组件”,用于描述参考架构中的逻辑构件及其关系;“二个价值链维度”分别为“IT 价值链”和“信息价值链”,其中“IT 价值链”反映的是大数据作为一种新兴的数据应用范式对IT 技术产生的新需
2、求所带来的价值,“信息价值链”反映的是大数据作为一种数据科学方法论对数据到知识的处理过程中所实现的信息流价值。这些内涵在大数据参考模型图中得到了体现。大数据参考架构是一个通用的大数据系统概念模型。它表示了通用的、技术无关的大数据系统的逻辑功能构件及构件之间的互操作接口,可以作为开发各种具体类型大数据应用系统架构的通用技术参考框架。其目标是建立一个开放的大数据技术参考架构,使系统工程师、数据科学家、软件开发人员、数据架构师和高级决策者,能够在可以互操作的大数据生态系统中制定一个解决方案,解决由各种大数据特征融合而带来的需要使用多种方法的问题。它提供了一个通用的大数据应用系统框架,支持各种商业环境
3、,包括紧密集成的企业系统和松散耦合的垂直行业,有助于理解大数据系统如何补充并有别于已有的分析、商业智能、数据库等传统的数据应用系统。大数据参考架构采用构件层级结构来表达大数据系统的高层概念和通用的构件分类法。从构成上看,大数据参考架构是由一系列在不同概念层级上的逻辑构件组成的。这些逻辑构件被划分为三个层级,从高到低依次为角色、活动和功能组件。最顶层级的逻辑构件是角色,包括系统协调者、数据提供者、大数据应用提供者、大数据框架提供者、数据消费者、安全和隐私、管理。第二层级的逻辑构件是每个角色执行的活动。第三层级的逻辑构件是执行每个活动需要的功能组件。大数据参考架构图的整体布局按照代表大数据价值链的
4、两个维度来组织,即信息价值链(水平轴)和 IT 价值链(垂直轴)。在信息价值链维度上,大数据的价值通过数据的收集、预处理、分析、可视化和访问等活动来实现。在 IT 价值链维度上,大数据价值通过为大数据应用提供存放和运行大数据的网络、基础设施、平台、应用工具以及其他 IT 服务来实现。大数据应用提供者处在两个维的交叉点上,表明大数据分析及其实施为两个价值链上的大数据利益相关者提供了价值。五个主要的模型构件代表在每个大数据系统中存在的不同技术角色:系统协调者、数据提供者、大数据应用提供者、大数据框架提供者和数据消费者。另外两个非常重要的模型构件是安全隐私与管理,代表能为大数据系统其他五个主要模型构
5、件提供服务和功能的构件。这两个关键模型构件的功能极其重要,因此也被集成在任何大数据解决方案中。参考架构可以用于多个大数据系统组成的复杂系统(如堆叠式或链式系统),这样其中一个系统的大数据使用者可以作为另外一个系统的大数据提供者。参考架构逻辑构件之间的关系用箭头表示,包括三类关系:“数据”、“软件”和“服务使用”。“数据”表明在系统主要构件之间流动的数据,可以是实际数值或引用地址。“软件”表明在大数据处理过程中的支撑软件工具。“服务使用”代表软件程序接口。虽然此参考架构主要用于描述大数据实时运行环境,但也可用于配置阶段。大数据系统中涉及的人工协议和人工交互没有被包含在此参考架构中。(1)系统协调
6、者系统协调者角色提供系统必须满足的整体要求,包括政策、治理、架构、资源和业务需求,以及为确保系统符合这些需求而进行的监控和审计活动。系统协调者角色的扮演者包括业务领导、咨询师、数据科学家、信息架构师、软件架构师、安全和隐私架构师、网络架构师等。系统协调者定义和整合所需的数据应用活动到运行的垂直系统中。系统协调者通常会涉及到更多具体角色,由一个或多个角色扮演者管理和协调大数据系统的运行。这些角色扮演者可以是人,软件或二者的结合。系统协调者的功能是配置和管理大数据架构的其他组件,来执行一个或多个工作负载。这些由系统协调者管理的工作负载,在较低层可以是把框架组件分配或调配到个别物理或虚拟节点上,在较
7、高层可以是提供一个图形用户界面来支持连接多个应用程序和组件的工作流规范。系统协调者也可以通过管理角色监控工作负载和系统,以确认每个工作负载都达到了特定的服务质量要求,还可能弹性地分配和提供额外的物理或虚拟资源,以满足由变化/激增的数据或用户/交易数量而带来的工作负载需求。(2)数据提供者数据提供者角色为大数据系统提供可用的数据。数据提供者角色的扮演者包括企业、公共代理机构、研究人员和科学家、搜索引擎、Web/FTP和其他应用、网络运营商、终端用户等。在一个大数据系统中,数据提供者的活动通常包括采集数据、持久化数据、对敏感信息进行转换和清洗、创建数据源的元数据及访问策略、访问控制、通过软件的可编
8、程接口接口实现推或拉式的数据访问、发布数据可用及访问方法的信息等。数据提供者通常需要为各种数据源(原始数据或由其它系统预先转换的数据)创建一个抽象的数据源,通过不同的接口提供发现和访问数据功能。这些接口通常包括一个注册表,使得大数据应用程序能够找到数据提供者、确定包含感兴趣的数据、理解允许访问的类型、了解所支持的分析类型、定位数据源、确定数据访问方法、识别数据安全要求、识别数据保密要求以及其他相关信息。因此,该接口将提供注册数据源、查询注册表、识别注册表中包含标准数据集等功能。针对大数据的 4V 特性和系统设计方面的考虑,暴露和访问数据的接口需要根据变化的复杂性采用推和拉两种软件机制。这两种软
9、件机制包括订阅事件、监听数据馈送、查询特定数据属性或内容,以及提交一段代码来执行数据处理功能。由于需要考虑大数据量跨网络移动的经济性,接口还可以允许提交分析请求(例如,执行一段实现特定算法的软件代码),只把结果返回给请求者。数据访问可能不总是自动进行,可以让人类角色登录到系统提供新数据应传送的方式(例如,基于数据馈送建立订阅电子邮件)。(3)大数据应用提供者大数据应用提供者在数据的生命周期中执行一系列操作,以满足系统协调者建立的系统要求及安全和隐私要求。大数据应用提供者通过把大数据框架中的一般性资源和服务能力相结合,把业务逻辑和功能封装成架构组件,构造出特定的大数据应用系统。大数据应用提供者角
10、色的扮演者包括应用程序专家、平台专家、咨询师等。大数据应用提供者角色执行的活动包括数据的收集、预处理、分析、可视化和访问。大数据应用程序提供者可以是单个实例,也可以是一组更细粒度大数据应用提供者实例的集合,集合中的每个实例执行数据生命周期中的不同活动。每个大数据应用提供者的活动可能是由系统协调者、数据提供者或数据消费者调用的一般服务,如Web 服务器、文件服务器、一个或多个应用程序的集合或组合。每个活动可以由多个不同实例执行,或者单个程序也可能执行多个活动。每个活动都能够与大数据框架提供者、数据提供者以及数据消费者交互。这些活动可以并行执行,也可以按照任意的数字顺序执行,活动之间经常需要通过大
11、数据框架提供者的消息和通信框架进行通信。大数据应用提供者执行的活动和功能,特别是数据收集和数据访问活动,需要与安全和隐私角色进行交互,执行认证/授权并记录或维护数据的出处。收集活动用于处理与数据提供者的接口。它可以是一般服务,如由系统协调者配置的用于接收或执行数据收集任务的文件服务器或 Web 服务器;也可以是特定于应用的服务,如用来从数据提供者拉数据或接收数据提供者推送数据的服务。收集活动执行的任务类似于ETL的抽取(extraction)环节。收集活动接收到的数据通常需要大数据框架提供者的处理框架来执行内存队列缓存或其他数据持久化服务。预处理活动执行的任务类似于ETL 的转换(transf
12、ormation)环节,包括数据验证、清洗、去除异常值、标准化、格式化或封装。预处理活动也是大数据框架提供者归档存储的数据来源,这些数据的出处信息一般也要被验证并附加到数据存储中。预处理活动也可能聚集来自不同的数据提供者的数据,利用元数据键来创建一个扩展的和增强的数据集。分析活动的任务是实现从数据中提取出知识。这需要有特定的数据处理算法对数据进行处理,以便从数据中得出能够解决技术目标的新洞察。分析活动包括对大数据系统低级别的业务逻辑进行编码(更高级别的业务流程逻辑由系统协调者进行编码),它利用大数据框架提供者的处理框架来实现这些关联的逻辑,通常会涉及到在批处理或流处理组件上实现分析逻辑的软件。
13、分析活动还可以使用大数据框架提供者的消息和通信框架在应用逻辑中传递数据和控制功能。可视化活动的任务是将分析活动结果以最利于沟通和理解知识的方式展现给数据消费者。可视化的功能包括生成基于文本的报告或者以图形方式渲染分析结果。可视化的结果可以是静态的,存储在大数据框架提供者中供以后访问。更多的情况下,可视化活动经常要与数据消费者、大数据分析活动以及大数据提供者的处理框架和平台进行交互,这就需要基于数据消费者设置的数据访问参数来提供交互式可视化手段。可视化活动可以完全由应用程序实现,也可以使用大数据框架提供者提供的专门的可视化处理框架实现。访问活动主要集中在与数据消费者的通信和交互。与数据收集活动类
14、似,访问活动可以是由系统协调者配置的一般服务,如 Web 服务器或应用服务器,用于接受数据消费者请求。访问活动还可以作为可视化活动、分析活动的界面来响应数据消费者的请求,并使用大数据框架提供者的处理框架和平台来检索数据,向数据消费者请求作出响应。此外,访问活动还要确保为数据消费者提供描述性和管理性元数据,并把这些元数据作为数据传送给数据消费者。访问活动与数据消费者的接口可以是同步或异步的,也可以使用拉或推软件机制进行数据传输。(4)大数据框架提供者大数据框架提供者角色为大数据应用提供者在创建特定的大数据应用系统时提供一般资源和服务能力。大数据框架提供者的角色扮演者包括数据中心、云提供商、自建服
15、务器集群等。大数据框架提供者执行的活动和功能包括提供基础设施(物理资源、虚拟资源)、数据平台(文件存储、索引存储)、处理框架(批处理、交互、流处理)、消息和通信框架、资源管理等。基础设施为其他角色执行活动提供存放和运行大数据系统所需要的资源。通常情况下,这些资源是物理资源的某种组合,用来支持相似的虚拟资源。资源一般可以分为网络、计算、存储和环境。网络资源负责数据在基础设施组件之间的传送;计算资源包括物理处理器和内存,负责执行和保持大数据系统其他组件的软件;存储资源为大数据系统提供数据持久化能力;环境资源是在考虑建立大数据系统时需要的实体工厂资源,如供电、制冷等。数据平台通过相关的应用编程接口(
16、API)或其他方式,提供数据的逻辑组织和分发服务。它也可能提供数据注册、元数据以及语义数据描述等服务。逻辑数据组织的范围涵盖从简单的分隔符平面文件到完全分布式的关系存储或列存储。数据访问方式可以是文件存取API或查询语言(如 SQL)。通常情况下,实现的大数据系统既能支持任何基本的文件系统存储,也支持内存存储、索引文件存储等方式。处理框架提供必要的基础软件以支持实现的应用能够处理具有4V 特征的大数据。处理框架定义了数据的计算和处理是如何组织的。大数据应用依赖于各种平台和技术,以应对可扩展的数据处理和分析的挑战。处理框架一般可以分为批处理(batch)、流处理(streaming)和交互式(i
17、nteractive)三种类型。消息和通信框架为可水平伸缩的集群的结点之间提供可靠队列、传输、数据接收等功能。它通常有 2 种实现模式,即点对点(point-to-point)模式和存储-转发(store-and-forward)模式。点对点模式不考虑消息的恢复问题,数据直接从发送者传送给接收者。存储-转发模式提供消息持久化和恢复机制,发送者把数据发送给中介代理,中介代理先存储消息然后再转发给接收者。资源管理活动负责解决由于大数据的数据量和速度特征而带来的对CPU、内存、I/O 等资源管理问题。有两种不同的资源管理方式,分别是框架内(intra-framework)资源管理和框架间(inter
18、-framework)资源管理。框架内资源管理负责框架自身内部各组件之间的资源分配,由框架负载驱动,通常会为了最小化框架整体需求或降低运行成本而关闭不需要的资源。框架间资源管理负责大数据系统多个存储框架和处理框架之间的资源调度和优化管理,通常包括管理框架的资源请求、监控框架资源使用,以及在某些情况下对申请使用资源的应用队列进行管理等。特别的,针对大数据系统负载多变、用户多样、规模较大的特点,应采用更加经济有效的资源构架和管理方案。目前的大数据软件框架,其亮点在于高可扩展性,而本质诉求仍然是如何实现并行化,即对数据进行分片、并为每一个分片分配相应的本地计算资源。因此,对于基础架构而言,为了支持大
19、数据软件框架,最直接的实现方式就是将一份计算资源和一份存储资源进行绑定,构成一个资源单位(如,服务器),以获得尽可能高的本地数据访问性能。但是,这种基础架构由于计算同存储之间紧耦合且比例固定,逐渐暴露出资源利用率低、重构时灵活性差等问题。因此,未来应通过硬件及软件各方面的技术创新,在保证本地数据访问性能的同时,实现计算与存储资源之间的松耦合,即:可以按需调配整个大数据系统中的资源比例,及时适应当前业务对计算和存储的真实需要;同时,可以对系统的计算部分进行快速切换,真正满足数据技术(DT)时代对“以数据为中心、按需投入计算”的业务要求。(5)数据消费者数据消费者角色接收大数据系统的输出。与数据提
20、供者类似,数据消费者可以是终端用户或者其它应用系统。数据消费者执行的活动通常包括搜索/检索、下载、本地分析、生成报告、可视化等。数据消费者利用大数据应用提供者提供的界面或服务访问他感兴趣的信息,这些界面包括数据报表、数据检索、数据渲染等。数据消费者角色也会通过数据访问活动与大数据应用提供者交互,执行其提供的数据分析和可视化功能。交互可以是基于需要(demand-based)的,包括交互式可视化、创建报告,或者利用大数据提供者提供的商务智能(BI)工具对数据进行钻取(drill-down)操作等。交互功能也可以是基于流处理(streaming-based)或推(push-based)机制的,这种
21、情况下消费者只需要订阅大数据应用系统的输出即可。(6)安全和隐私在大数据参考架构图中,安全和隐私角色覆盖了其它五个主要角色,即系统协调者、数据提供者、大数据框架提供者、大数据应用提供者、数据消费者,表明这五个主要角色的活动都要受到安全和隐私角色的影响。安全和隐私角色处于管理角色之中,也意味着安全和隐私角色与大数据参考架构中的全部活动和功能都相互关联。在安全和隐私管理模块,通过不同的技术手段和安全措施,构筑大数据系统全方位、立体的安全防护体系,同时应提供一个合理的灾备框架,提升灾备恢复能力,实现数据的实时异地容灾功能。大数据安全和隐私的详细讨论见4.3。(7)管理管理角色包括二个活动组:系统管理
22、和大数据生命周期管理。系统管理活动组包括调配、配置、软件包管理、软件管理、备份管理、能力管理、资源管理和大数据基础设施的性能管理等活动。大数据生命周期管理涵盖了大数据生命周期中所有的处理过程,其活动和功能是验证数据在生命周期的每个过程是否都能够被大数据系统正确地处理。由于大数据基础设施的分布式和复杂性,系统管理依赖于两点:使用标准的协议如SNMP把资源状态和出错信息传送给管理组件;通过可部署的代理或管理连接子(connector)允许管理角色监视甚至控制大数据处理框架元素。系统管理的功能是监视各种计算资源的运行状况,应对出现的性能或故障事件,从而能够满足大数据应用提供者的服务质量(QoS)需求
23、。在云服务提供商提供能力管理接口时,通过管理连接子对云基础设施提供的自助服务、自我调整、自我修复等能力进行利用和管理。大型基础设施通常包括数以千计的计算和存储节点,因此应用程序和工具的调配应尽可能自动化。软件安装、应用配置以及补丁维护也应该以自动的方式推送到各结点并实现自动地跨结点复制。还可以利用虚拟化技术的虚拟映像,加快恢复进程和提供有效的系统修补,以最大限度地减少定期维护时的停机时间。系统管理模块应能够提供统一的运维管理,能够对包括数据中心、基础硬件、平台软件(存储、计算)和应用软件进行集中运维、统一管理,实现安装部署、参数配置、系统监控等功能。应提供自动化运维的能力,通过对多个数据中心的
24、资源进行统一管理,合理的分配和调度业务所需要的资源,做到自动化按需分配。同时提供对多个数据中心的 IT 基础设施进行集中运维的能力,自动化监控数据中心内各种 IT 设备的事件、告警、性能,实现从业务维度来进行运维的能力。大数据生命周期管理活动负责验证数据在生命周期中的每个过程是否都能够被大数据系统正确地处理,它覆盖了数据从数据提供者那里被摄取到系统,一直到数据被处理或从系统中删除的整个生命周期。由于大数据生命周期管理的任务可以分布在大数据计算环境中的不同组织和个体,从遵循政策、法规和安全要求的视角,大数据生命周期管理包括以下活动或功能:政策管理(数据迁移及处置策略)、元数据管理(管理数据标识、
25、质量、访问权限等元数据信息)、可访问管理(依据时间改变数据的可访问性)、数据恢复(灾难或系统出错时对数据进行恢复)、保护管理(维护数据完整性)。从大数据系统要应对大数据的4V 特征来看,大数据生命周期管理活动和功能还包括与系统协调者、数据提供者、大数据框架提供者、大数据应用提供者、数据消费者以及安全和隐私角色之间的交互。4.2 大数据关键技术4.2.1 数据收集大数据时代,数据的来源极其广泛,数据有不同的类型和格式,同时呈现爆发性增长的态势,这些特性对数据收集技术也提出了更高的要求。数据收集需要从不同的数据源实时的或及时的收集不同类型的数据并发送给存储系统或数据中间件系统进行后续处理。数据收集
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 架构 关键技术
限制150内