
大数据架构和关键技术.doc
16页4大数据参考架构和关键技术 4.1大数据参考架构 大数据作为一种新兴技术,目前尚未形成完善、达成共识的技术标准体系本章结合NIST和JTC1/SC32的研究成果,结合我们对大数据的理解和分析,提出了大数据参考架构〔见图5〕 图5 大数据参考架构图大数据参考架构总体上可以概括为“一个概念体系,二个价值链维度〞一个概念体系〞是指它为大数据参考架构中使用的概念提供了一个构件层级分类体系,即“角色—活动—功能组件〞,用于描述参考架构中的逻辑构件及其关系;“二个价值链维度〞分别为“IT价值链〞和“信息价值链〞,其中“IT价值链〞反映的是大数据作为一种新兴的数据应用范式对IT技术产生的新需求所带来的价值,“信息价值链〞反映的是大数据作为一种数据科学方法论对数据到知识的处理过程中所实现的信息流价值这些内涵在大数据参考模型图中得到了表达大数据参考架构是一个通用的大数据系统概念模型它表示了通用的、技术无关的大数据系统的逻辑功能构件及构件之间的互操作接口,可以作为开发各种具体类型大数据应用系统架构的通用技术参考框架其目标是建设一个开放的大数据技术参考架构,使系统工程师、数据科学家、软件开发人员、数据架构师和高级决策者,能够在可以互操作的大数据生态系统中制定一个解决方案,解决由各种大数据特征融合而带来的需要使用多种方法的问题。
它提供了一个通用的大数据应用系统框架,支持各种商业环境,包括严密集成的企业系统和松散耦合的垂直行业,有助于理解大数据系统若何补充并有别于已有的分析、商业智能、数据库等传统的数据应用系统 大数据参考架构采用构件层级构造来表达大数据系统的高层概念和通用的构件分类法从构成上看,大数据参考架构是由一系列在不同概念层级上的逻辑构件组成的这些逻辑构件被划分为三个层级,从高到低依次为角色、活动和功能组件最顶层级的逻辑构件是角色,包括系统协调者、数据提供者、大数据应用提供者、大数据框架提供者、数据消费者、安全和隐私、管理第二层级的逻辑构件是每个角色执行的活动第三层级的逻辑构件是执行每个活动需要的功能组件 大数据参考架构图的整体布局按照代表大数据价值链的两个维度来组织,即信息价值链〔水平轴〕和IT价值链〔垂直轴〕在信息价值链维度上,大数据的价值通过数据的收集、预处理、分析、可视化和访问等活动来实现在IT价值链维度上,大数据价值通过为大数据应用提供存放和运行大数据的网络、根基设施、平台、应用工具以及其他IT服务来实现大数据应用提供者处在两个维的穿插点上,说明大数据分析及其实施为两个价值链上的大数据利益相关者提供了价值。
五个主要的模型构件代表在每个大数据系统中存在的不同技术角色:系统协调者、数据提供者、大数据应用提供者、大数据框架提供者和数据消费者另外两个非常重要的模型构件是安全隐私与管理,代表能为大数据系统其他五个主要模型构件提供服务和功能的构件这两个关键模型构件的功能极其重要,因此也被集成在任何大数据解决方案中 参考架构可以用于多个大数据系统组成的复杂系统〔如堆叠式或链式系统〕,这样其中一个系统的大数据使用者可以作为另外一个系统的大数据提供者 参考架构逻辑构件之间的关系用箭头表示,包括三类关系:“数据〞、“软件〞和“服务使用〞数据〞说明在系统主要构件之间流动的数据,可以是实际数值或引用地址软件〞说明在大数据处理过程中的支撑软件工具服务使用〞代表软件程序接口虽然此参考架构主要用于描述大数据实时运行环境,但也可用于配置阶段大数据系统中涉及的人工协议和人工交互没有被包含在此参考架构中 〔1〕系统协调者 系统协调者角色提供系统必须满足的整体要求,包括政策、治理、架构、资源和业务需求,以及为确保系统符合这些需求而进展的监控和审计活动系统协调者角色的扮演者包括业务领导、咨询师、数据科学家、信息架构师、软件架构师、安全和隐私架构师、网络架构师等。
系统协调者定义和整合所需的数据应用活动到运行的垂直系统中系统协调者通常会涉及到更多具体角色,由一个或多个角色扮演者管理和协调大数据系统的运行这些角色扮演者可以是人,软件或二者的结合系统协调者的功能是配置和管理大数据架构的其他组件,来执行一个或多个工作负载这些由系统协调者管理的工作负载,在较低层可以是把框架组件分配或调配到个别物理或虚拟节点上,在较高层可以是提供一个图形用户界面来支持连接多个应用程序和组件的工作流标准系统协调者也可以通过管理角色监控工作负载和系统,以确认每个工作负载都到达了特定的服务质量要求,还可能弹性地分配和提供额外的物理或虚拟资源,以满足由变化/激增的数据或用户/交易数量而带来的工作负载需求 〔2〕数据提供者 数据提供者角色为大数据系统提供可用的数据数据提供者角色的扮演者包括企业、公共代理机构、研究人员和科学家、搜索引擎、Web/FTP和其他应用、网络运营商、终端用户等在一个大数据系统中,数据提供者的活动通常包括采集数据、持久化数据、对敏感信息进展转换和清洗、创立数据源的元数据及访问策略、访问控制、通过软件的可编程接口接口实现推或拉式的数据访问、发布数据可用及访问方法的信息等。
数据提供者通常需要为各种数据源〔原始数据或由其它系统预先转换的数据〕创立一个抽象的数据源,通过不同的接口提供发现和访问数据功能这些接口通常包括一个注册表,使得大数据应用程序能够找到数据提供者、确定包含感兴趣的数据、理解允许访问的类型、了解所支持的分析类型、定位数据源、确定数据访问方法、识别数据安全要求、识别数据保密要求以及其他相关信息因此,该接口将提供注册数据源、查询注册表、识别注册表中包含标准数据集等功能 针对大数据的4V特性和系统设计方面的考虑,暴露和访问数据的接口需要根据变化的复杂性采用推和拉两种软件机制这两种软件机制包括订阅事件、监听数据馈送、查询特定数据属性或内容,以及提交一段代码来执行数据处理功能由于需要考虑大数据量跨网络移动的经济性,接口还可以允许提交分析请求〔例如,执行一段实现特定算法的软件代码〕,只把结果返回给请求者数据访问可能不总是自动进展,可以让人类角色登录到系统提供新数据应传送的方式〔例如,基于数据馈送建设订阅电子邮件〕 〔3〕大数据应用提供者 大数据应用提供者在数据的生命周期中执行一系列操作,以满足系统协调者建设的系统要求及安全和隐私要求大数据应用提供者通过把大数据框架中的一般性资源和服务能力相结合,把业务逻辑和功能封装成架构组件,构造出特定的大数据应用系统。
大数据应用提供者角色的扮演者包括应用程序专家、平台专家、咨询师等大数据应用提供者角色执行的活动包括数据的收集、预处理、分析、可视化和访问大数据应用程序提供者可以是单个实例,也可以是一组更细粒度大数据应用提供者实例的集合,集合中的每个实例执行数据生命周期中的不同活动每个大数据应用提供者的活动可能是由系统协调者、数据提供者或数据消费者调用的一般服务,如Web服务器、文件服务器、一个或多个应用程序的集合或组合每个活动可以由多个不同实例执行,或者单个程序也可能执行多个活动每个活动都能够与大数据框架提供者、数据提供者以及数据消费者交互这些活动可以并行执行,也可以按照任意的数字顺序执行,活动之间经常需要通过大数据框架提供者的消息和通信框架进展通信大数据应用提供者执行的活动和功能,特别是数据收集和数据访问活动,需要与安全和隐私角色进展交互,执行认证/授权并记录或维护数据的出处 收集活动用于处理与数据提供者的接口它可以是一般服务,如由系统协调者配置的用于接收或执行数据收集任务的文件服务器或Web服务器;也可以是特定于应用的服务,如用来从数据提供者拉数据或接收数据提供者推送数据的服务收集活动执行的任务类似于ETL的抽取〔extraction〕环节。
收集活动接收到的数据通常需要大数据框架提供者的处理框架来执行内存队列缓存或其他数据持久化服务 预处理活动执行的任务类似于ETL的转换〔transformation〕环节,包括数据验证、清洗、去除异常值、标准化、格式化或封装预处理活动也是大数据框架提供者归档存储的数据来源,这些数据的出处信息一般也要被验证并附加到数据存储中预处理活动也可能聚集来自不同的数据提供者的数据,利用元数据键来创立一个扩展的和增强的数据集 分析活动的任务是实现从数据中提取出知识这需要有特定的数据处理算法对数据进展处理,以便从数据中得出能够解决技术目标的新洞察分析活动包括对大数据系统低级别的业务逻辑进展编码〔更高级别的业务流程逻辑由系统协调者进展编码〕,它利用大数据框架提供者的处理框架来实现这些关联的逻辑,通常会涉及到在批处理或流处理组件上实现分析逻辑的软件分析活动还可以使用大数据框架提供者的消息和通信框架在应用逻辑中传递数据和控制功能 可视化活动的任务是将分析活动结果以最利于沟通和理解知识的方式展现给数据消费者可视化的功能包括生成基于文本的报告或者以图形方式渲染分析结果可视化的结果可以是静态的,存储在大数据框架提供者中供以后访问。
更多的情况下,可视化活动经常要与数据消费者、大数据分析活动以及大数据提供者的处理框架和平台进展交互,这就需要基于数据消费者设置的数据访问参数来提供交互式可视化手段可视化活动可以完全由应用程序实现,也可以使用大数据框架提供者提供的专门的可视化处理框架实现访问活动主要集中在与数据消费者的通信和交互与数据收集活动类似,访问活动可以是由系统协调者配置的一般服务,如Web服务器或应用服务器,用于承受数据消费者请求访问活动还可以作为可视化活动、分析活动的界面来响应数据消费者的请求,并使用大数据框架提供者的处理框架和平台来检索数据,向数据消费者请求作出响应此外,访问活动还要确保为数据消费者提供描述性和管理性元数据,并把这些元数据作为数据传送给数据消费者访问活动与数据消费者的接口可以是同步或异步的,也可以使用拉或推软件机制进展数据传输 〔4〕大数据框架提供者 大数据框架提供者角色为大数据应用提供者在创立特定的大数据应用系统时提供一般资源和服务能力大数据框架提供者的角色扮演者包括数据中心、云提供商、自建服务器集群等大数据框架提供者执行的活动和功能包括提供根基设施〔物理资源、虚拟资源〕、数据平台〔文件存储、索引存储〕、处理框架〔批处理、交互、流处理〕、消息和通信框架、资源管理等。
根基设施为其他角色执行活动提供存放和运行大数据系统所需要的资源通常情况下,这些资源是物理资源的某种组合,用来支持相似的虚拟资源资源一般可以分为网络、计算、存储和环境网络资源负责数据在根基设施组件之间的传送;计算资源包括物理处理器和内存,负责执行和保持大数据系统其他组件的软件;存储资源为大数据系统提供数据持久化能力;环境资源是在考虑建设大数据系统时需要的实体工厂资源,如供电、制冷等 数据平台通过相关的应用编程接口〔API〕或其他方式,提供数据的逻辑组织和分发服务它也可能提供数据注册、元数据以及语义数据描述等服务逻辑数据组织的范围涵盖从简单的分隔符平面文件到完全分布式的关系存储或列存储数据访问方式可以是文件存取API或查询语言〔如SQL〕通常情况下,实现的大数据系统既能支持任何 根本的文件系统存储,也支持内存存储、索引文件存储等方式 处理框架提供必要的根基软件以支持实现的应用能够处理具有4V特征的大数据处理框架定义了数据的计算和处理是若何组织的大数据应用依赖于各种平台和技术,以应对可扩展的数据处理和分析的挑战处理框架一般可以分为批处理〔batch〕、流处理〔streaming〕和交互式〔interactive〕三种类型。
消息和通信框架为可水平伸缩的集群的结点之间提供可靠队列、传输、数据接收等功能它通常有2种实现模式,即点对点〔point-to-point〕模式和存储-转发〔store-and-forw。












