1.3 大数据系统的技术支撑体系
1.3.1 技术支撑体系概览
大数据的核心价值是决策,但前提是必须有强大的技术支撑。纵观各种大数据解决方案,我们可以抽象出大数据系统的一般技术支撑体系。
一个完整的大数据系统是由大数据采集、大数据存储、大数据分析(或数据处理与服务)和大数据应用四个部分构成的。图1-1给出了大数据系统的技术支撑体系。
图1-1 大数据系统的技术支撑体系
总体上,大数据系统的底层首先进行大数据采集,其来源具有多样性;接着通过数据接口(如数据导入器、数据过滤、数据清洗、数据转换等)将大数据存储于大规模的分布式存储系统中;在大数据存储的基础上,进一步实现大数据分析(处理与服务),最终是大数据应用。
1.3.2 大数据系统的采集层
本层考虑的第一个问题是数据来源。必须考虑所有渠道的、所有可用于分析的数据,这就要求公司或组织中的数据分析人员阐明执行分析所需要的各种类型数据。这体现出大数据的第一个特性,即大量。
技术上包含如下组件:
(1)企业遗留系统。该系统是公司或企业当前的应用程序,它们包括了目前的主要数据。典型的应用系统有:客户关系管理系统、结算操作、大型机应用程序、企业资源规划、Web应用程序、数据管理系统(DMS)、存储了逻辑数据流程策略,以及各种其他类型的文档,如Microsoft Excel、Microsoft Word等。
(2)数据存储。数据存储包含企业数据仓库、操作数据库和事务数据库,这些数据通常是结构化数据,可直接使用或轻松地转换后来满足需求。这些数据不一定存储在分布式存储系统中,具体依赖于所处的环境。
(3)智能设备。智能设备能够捕获、处理和传输各类协议和格式的信息,这方面的例子包括智能仪表、摄像头、录音设备、医疗设备等,这些设备可用于执行各种类型的分析。绝大多数智能设备都会执行实时分析,从智能设备传送来的信息也可批量分析。
(4)数据提供程序。这些数据提供程序可拥有或获取数据,并以复杂的格式和所需的速度通过特定的过滤器公开这些数据。每天都会产生海量的数据,它们具有不同的格式,以不同的速率生成,而且可通过各种数据提供程序、传感器和现有企业提供。
(5)数据源。有许多数据来源于自动化的系统,地理信息如(地区详细信息、位置详细信息、人员详细信息、车辆详细信息),人类生成的内容(社交媒体、电子邮件、博客、微信、在线评论),传感器数据(天气、降雨量、湿度、电流、能源储能、导航装置、电离辐射、亚原子粒子、位置、角度、位移、距离、速度、加速度、振动、热量、热度、可见度、压力、流动、流体、力、密度级别等)。
上述任何一种数据来源都需要依赖特定的技术。但无论技术复杂还是简单,核心问题都是数据格式、数据类型(基本分为结构化、半结构化或非结构化三类)、数据速率、数据量、数据源的位置(可能位于企业内部或外部)、数据访问权限(访问权对数据的访问会影响可用于分析的数据范围)。
1.3.3 大数据系统的存储层
存储层负责从数据源获取数据,并在必要时将它转换为适合数据分析的格式。例如,一幅图像可能经过转换后,才能将它存储在分布式文件系统或关系数据库管理系统(RDBMS)中,以便进一步处理。注意,规范性制度和治理策略要求为不同类型的数据提供相适应的存储方式。
在技术上,因为传入的数据可能具有不同的特征,所以数据变动(或转码)和存储层中的组件必须能够以不同的速率、格式、大小在不同的通道上读取数据。
(1)数据获取。从各种数据源获取数据,并将其发送到数据整理或存储在指定的位置中。数据获取组件必须足够智能或自动化(人工方式与大数据的特性背道而驰),能够选择是否以及在何处存储传入的数据,它必须能够确定数据在存储前是否应进行变动,或者数据是否可直接发送到分析层。
(2)数据整理。负责将数据转换为需要的格式,以实现分析用途。数据整理可拥有简单的转换逻辑或复杂的统计算法来转换源数据,分析引擎将会确定所需的特定数据格式。数据整理主要的挑战是容纳非结构化数据格式,如图像、音频、视频和其他二进制格式。
(3)数据分布式存储。负责存储来自数据源的数据,通常有多种数据存储选项,如分布式文件存储系统、云存储、非传统关系型数据库集群等。
1.3.4 大数据系统的分析层
分析层是大数据系统的核心和关键,体现了大数据的价值特性。
分析层从存储层读取经过整理后的数据。注意,在某些情况下,分析层可以直接从数据源访问数据。设计分析层时需要认真地进行筹划和规划,必须确定如何管理以下任务的决策:生成想要的分析、从数据中获取洞察、找到所需的实体、定位可提供这些实体的数据源、理解执行分析需要哪些算法和工具。
技术上包含如下组件:
(1)实体识别。负责识别和填充上下文,这是一个复杂的任务,需要高效、高性能的流程管理系统的支持。数据整理应为这个实体识别提供补充,将数据转换为需要的格式。分析引擎将需要上下文来进行分析。
(2)分析引擎。使用其他组件(具体来讲,包括实体识别和模型管理)来处理和分析数据,分析引擎可以具有支持并行处理的各种不同的工作流、算法和工具。
(3)模型管理。负责维护、验证和检验各种统计模型,通过持续训练模型来提高准确性。模型管理会推广这些模型,它们可供实体识别或分析引擎使用。
1.3.5 大数据系统的应用层
应用层使用了分析层所提供的输出,使用者可以是可视化的应用程序、人工、业务流程或服务。应用层可用于检测欺诈,实时拦截交易,并将它们与使用已存储在公司或企业中的数据构建的视图进行关联,在发生欺诈性交易时,可以告知客户可能存在的欺诈,以便及时采取操作。此外,应用层还可以根据分析层的结果来触发业务流程。例如,如果客户接收了一条可自动触发的营销信息,则需要创建一个新订单,如果客户报告了欺诈,那么就可以停止使用信用卡。
分析层的输出也可被推荐引擎使用,该引擎可将客户与他们喜欢的产品相匹配。通过分析可用的信息,推荐引擎可以提供个性化且实时的推荐。
应用层还可以为内部用户提供理解、查询和定位企业内部或外部信息的能力。对于内部使用者,应用层可为用户提供构建报告和仪表板的能力,使得利益相关者能够做出精明的决策并设计恰当的战略。为了提高操作的有效性,应用层不仅可以从数据中生成实时的警告,还可以实时监视关键指标。
在技术上应用层包含如下组件:
(1)事务拦截器。事务拦截器可以集成并处理来自各种来源的数据,如传感器、智能仪表、摄像头、GPS设备和图像扫描仪等;可以使用各种类型的适配器和API来连接数据源;可以使用各种分析器和加速器来简化开发,如实时优化和流分析器,视频分析器,银行、保险、零售、电信和公共运输领域的加速器,社交媒体分析器,以及情绪分析器。
(2)实时监视。实时监视可以从分析层得到的数据生成实时的警告,并将实时的警告发送给感兴趣的使用者和设备,如智能手机和平板电脑;也可以根据分析层生成的数据洞察来定义并监视关键指标,以便确定操作的有效性。实时数据能够以仪表板的形式向用户公开,以便实时监视系统是否“健康”或度量营销活动的有效性。
(3)报告引擎。具有生成与传统商业报告类似的报告的能力是至关重要的,通过报告引擎,用户可基于分析层得到的数据来创建临时的报告、计划的报告,并可进行自主查询和分析。
(4)推荐引擎。基于分析层的结果,推荐引擎可以向用户提供实时的、相关的和个性化的推荐,从而提高电子商务交易中的转换率和每个订单的平均价值。推荐引擎可以实时处理可用信息,并动态地响应每个用户,例如响应用户的实时活动、存储在CRM系统中的注册客户信息,以及非注册客户的社交概况。
(5)可视化和发现。数据可能具有不同的内容和格式,所有的数据(如结构化、半结构化和非结构化的数据)可组合起来进行可视化并提供给决策者或任何需要的用户。此能力使得公司或组织能够将其传统的业务内容(包含在企业内部管理系统和数据仓库中)与新的社交内容(如博客)组合到单个用户的界面中。
1.3.6 大数据系统的垂直层
影响大数据系统的采集层、存储层、分析层和应用层的组件都包含在垂直层中,分别是数据集成、数据治理、服务质量和系统管理。
(1)数据集成。垂直层的数据集成可供多种组件(如数据获取、数据整理、模型管理和事务拦截器等)使用,负责连接到各种数据源。如果需要集成具有不同特征(如协议和连接性)的数据源信息,则需要高质量的连接器和适配器,可以使用加速器(如社交媒体适配器和天气数据适配器)连接到大多数的数据源。通过数据集成,可以在大数据系统中存储和检索信息。
(2)数据治理。数据治理有助于处理企业内部或外部数据的复杂性、量和种类,在将数据传入企业进行处理、存储、分析、清除和归档时,数据治理可用来监视、构建、存储和保护数据。除了正常的数据治理需要考虑的因素,数据治理需要考虑的因素还有:管理各种格式的大量数据、持续训练和管理必要的统计模型、对非结构化数据进行预处理(这是处理非结构化数据的重要一步)、设置保留和使用外部数据的策略、定义数据归档和清除的策略、创建跨系统复制数据的策略、设置数据加密的策略。
(3)服务质量。垂直层的服务质量用于定义数据质量、隐私和安全性策略、数据频率、每次抓取的数据大小,以及数据过滤器。
(4)系统管理。垂直层的系统管理对大数据系统来说是至关重要的,因为它涉及跨企业集群和边界的许多系统。对整个大数据生态系统的健康状况的监视包括:管理系统日志、虚拟机、应用程序和其他设备;关联各种日志,帮助调查和监视具体情形;监视实时警告和通知;使用显示各种参数的实时仪表板;引用有关系统的报告和详细分析;设定和遵守服务水平协议;管理存储和容量;归档和检索管理;执行系统恢复、集群管理、网络管理和策略管理。