大数据架构与模式(四·上)
了解用于大数据解决方案的原子模式和复合模式
摘要:本文中介绍的模式有助于定义大数据解决方案的参数。本文将介绍最常见的和经常发生的大数据问题以及它们的解决方案。原子模式描述了使用、处理、访问和存储大数据的典型方法。复合模式由原子模式组成,并根据大数据解决方案的范围进行分类。由于每个复合模式都有若干个维度,所以每个模式都有许多变化。复合模式使得业务和技术用户可以应用一个结构化方法为大数据问题建立范围,并定义高级的解决方案。
【CDA经管之家】
点击进入『21世纪大数据人才汇聚领域』
点击进入『21世纪大数据高薪就业领地』
简介
本系列的 第 3 部分 介绍了大数据解决方案的逻辑层。这些层定义了各种组件,并对它们进行分类,这些组件必须处理某个给定业务用例的功能性和非功能性需求。本文基于层和组件的概念,介绍了解决方案中所用的典型原子模式和复合模式。通过将所提出的解决方案映射到此处提供的模式,让用户了解需要如何设计组件,以及从功能角度考虑,应该将它们放置在何处。模式有助于定义大数据解决方案的架构。利用原子模式和复合模式可以帮助进一步完善大数据解决方案的每个组件的角色和责任。
本文介绍原子模式和复合模式。本系列的最后一篇文章将介绍解决方案模式。
图 1. 模式的类别
原子模式
对于大数据上下文中经常出现的问题,原子模式 有助于识别数据如何是被使用、处理、存储和访问的。它们还有助于识别所需的组件。访问、存储和处理来自不同数据源的多种数据需要不同的方法。每种模式都用于满足特定的需求:例如,可视化、历史数据分析、社交媒体数据和非结构化数据的存储。可以将多种原子模式结合使用,组成一个复合模式。这些原子模式没有进行分层或排序。例如,可视化模式可以与社交媒体的数据访问模式直接交互,可视化模式还可以与高级分析处理模式进行交互。
图 2. 用于数据使用、处理、数据访问和存储的原子模式的示例
数据使用模式
这种类型的模式处理使用数据分析结果的各种方式。本节包括的数据使用模式可以满足几个需求。
可视化模式
可视化数据的传统方式以图表、仪表板和摘要报告为基础。这些传统的方法并不总是用来可视化数据的最佳方式。
大数据可视化的典型需求(包括新出现的需求)如下所示:
执行流数据的实时分析和显示
基于上下文,以交互方式挖掘数据
执行高级搜索,并获得建议
并行可视化信息
获得先进的硬件,支持未来的可视化需求
正在进行研究,以确定人类和机器如何使用大数据洞察。这些挑战包括所涉及的数据量,并且需要将数据与上下文相关联。必须在适当的上下文中显示洞察。
可视化数据的目的是为了更容易、更直观地使用数据,因此报告和仪表板可能提供全高清的观看效果和 3-D 互动视频,并且可以为用户提供使用应用程序控制业务活动和结果的能力。
即席发现模式
创建满足所有业务需求的标准报告往往是不可行的,因为企业的业务数据查询会有不同的需求。用户在查找特定信息时,可能需要获得根据问题的上下文执行即席查询的能力。
即席分析可以帮助数据科学家和关键业务用户了解业务数据的行为。即席处理中涉及的复杂性来自多种因素:
多个数据源可用于相同的域。
单一的查询可以有多个结果。
输出可以是静态的,并具有多种格式(视频、音频、图形和文本)。
输出可以是动态和交互式的。
加强传统的数据存储
在大数据的初步探索中,许多企业选择使用现有的分析平台来降低成本,并依赖于现有的技能。加强现有的数据存储有助于拓宽可用于现有分析的数据的范围,包括驻留在组织边界内外的数据,比如社交媒体数据,它可以丰富主数据。通过拓宽数据范围,使之包含现有存储中的新事实表、维度和主数据,并从社交媒体获取客户数据,组织可以获得更深入的客户洞察。
但要牢记的是,新的数据集通常比较大,而现有的提取、转换和加载工具可能不足以处理它。您可能需要使用具有大规模并行处理能力的高级工具来解决数据的数量、多样性、真实性和速度特征。
通知模式
大数据洞察使人类、企业和机器可以通过使用事件通知而立即采取行动。通知平台必须能够处理及时发送出去的预计数量的通知。这些通知与大量邮件或群发短信不同,因为内容一般是特定于使用者的。例如,推荐引擎可以提供有关世界各地的庞大客户群的洞察,而且可以将通知发送给这样的客户。
启动一个自动响应模式
从大数据获得的业务洞察,可用于触发或启动其他业务流程或事务。
处理模式
无论数据是处于静止状态还是在运动中,都可以处理大数据。具体情况取决于分析的复杂性,有可能不需要对数据进行实时处理。这种模式解决了对大数据进行实时、近实时或批量处理的方式。
以下高级的大数据处理类别适用于大多数分析。这些类别通常也适用于基于 RDBMS 的传统系统。惟一的区别是庞大规模的数据、多样性和速度。在处理大数据时,要使用机器学习、复杂事件处理、事件流处理、决策管理和统计模型管理等技术。
历史数据分析模式
传统的历史数据分析仅限于预定义的数据时间段,这通常取决于数据保留策略。由于处理和存储的限制,超出此时间段的数据通常会被归档或清除。基于 Hadoop 的系统和其他等效的系统可以克服这些限制,因为它们具有丰富的存储以及分布式大规模并行处理能力。运营、业务和数据仓库的数据被移动到大数据存储,您通过使用大数据平台功能对它们进行处理。
历史分析包括分析给定时间段、季节组合和产品的历史趋势,并与最新的可用数据进行比较。为了能够存储和处理如此庞大的数据,您可以使用 HDFS、NoSQL、SPSS® 和 InfoSphere® BigInsights™。
高级分析模式
大数据提供了很多实现创意洞察的机会。不同的数据集可以在多种上下文中存在关联。发现这些关系需要创新的复杂算法和技术。
高级分析包括预测、决策、推理过程、模拟、上下文信息标识和实体解析。高级分析的应用包括生物统计数据分析(例如,DNA 分析)、空间分析、基于位置的分析、科学分析、研究,等等。高级分析要求大量的计算来管理大量的数据。
数据科学家可以指导您识别合适的技术、算法和数据集,以及在给定上下文中解决问题所需的数据源。比如 SPSS、InfoSphere Streams 和 InfoSphere BigInsights 等工具提供了这类功能。这些工具访问存储在大数据存储系统(比如 BigTable、HBase,等等)中的非结构化数据和结构化数据(例如,JSON 数据)。
预处理原始数据模式
大数据解决方案主要由基于 MapReduce 的 Hadoop 系统和技术组成,MapReduce 是开箱即用的分布式存储和处理解决方案。然而,从非结构化数据提取数据(例如,图像、音频、视频、二进制提要,甚至是文本)是一项复杂的任务,需要具有机器学习能力并掌握自然语言处理等技术。另一个主要挑战是如何验证这些技术和算法的输出的准确度和正确性。
要对任何数据执行分析,数据都必须是某种结构化格式。从多个数据源访问的非结构化数据可以按原样存储,然后被转化成结构化数据(例如 JSON),并被再次存储到大数据存储系统中。非结构化文本可以转换成半结构化或结构化数据。同样,图像、音频和视频数据需要转换成可用于分析的格式。此外,使用预测和统计算法的高级分析的准确性和正确性取决于用来训练其模型的数据和算法的数量。
下面的列表显示了将非结构化数据转换成结构化数据所需的算法和活动:
文档和文本分类
特征提取
图像和文本分割
关联特征、变量和时间,然后提取包含时间的值
输出的准确度检查使用了混淆矩阵(confusion matrix)等技术和其他手动活动
数据科学家可以帮助用户选择合适的技术和算法。
即席分析模式
处理大数据的即席查询所带来的挑战不同于对结构化数据执行即席查询时所面临的挑战,由于数据源和数据格式不是固定的,所以需要使用不同的机制来检索和处理数据。
虽然大数据供应商可以处理简单的即席查询,但在大多数情况下,查询是复杂的,因为必须在运行时动态地发现数据、算法、格式和实体解析。所以需要利用数据科学家和业务用户的专业知识来定义下列任务所需的分析:
识别并发现计算和算法
识别并发现数据源
定义所需的可以由计算使用的格式
对数据执行并行计算
访问模式
在大数据解决方案中,有许多数据源,还有很多访问数据的方式,本节将介绍最常见的几种。
Web 和社交媒体访问模式
Internet 是提供许多目前可以获得的洞察的数据源。在几乎所有分析中,都会用到 Web 和社交媒体,但获得这种数据需要不同的访问机制。
在所有数据源中,因为 Web 和社交媒体的多样性、速度和数量,所以 Web 和社交媒体是最为复杂的。网站大约有 40-50 个类别,每一个类别都需要使用不同的方式来访问数据。本节将列出这些类别,并介绍一些访问机制。从大数据的角度讲,高级的类别是商业站点、社交媒体站点,以及具有特定和通用组件的站点。有关的访问机制见图 3。如果需要的话,在完成预处理后,可将所访问的数据存储在数据存储中。
图 3. Web 和社交媒体访问
需要执行以下步骤来访问 Web 媒体信息。
图 4. 大数据访问步骤
非结构化数据存储中的 Web 媒体访问
步骤 A-1. 爬网程序读取原始数据。
步骤 A-2. 数据被存储在非结构化存储中。
Web 媒体访问为结构化存储预处理数据
步骤 B-1. 爬网程序读取原始数据。
步骤 B-2. 对数据进行预处理。
步骤 B-3. 数据被存储在结构化存储中。
Web 媒体访问预处理非结构化数据
步骤 C-1. 在极少数情况下,来自供应商的数据可以是非结构化数据。
步骤 C-2. 对数据进行预处理。
步骤 C-3. 数据被存储在结构化存储中。
非结构化或结构化数据的 Web 媒体访问
步骤 D-1. 数据供应商提供结构化或非结构化数据。
步骤 D-2. 数据被存储在结构化或非结构化存储中。
Web 媒体访问预处理非结构化数据
步骤 E-1. 不能使用在存储时未经过预处理的非结构化数据,除非它是结构化格式的数据。
步骤 E-2. 对数据进行预处理。
步骤 E-3. 经过预处理的结构化数据被存储在结构化存储中。
如图所示,数据可以直接存储在存储器中,或者可以对它们进行预处理,并将它们转换成一个中间格式或标准格式,然后再存储它们。
在可以分析数据之前,数据格式必须可用于实体解析或用于查询所需数据。这种经过预处理的数据可以存储在一个存储系统中。
虽然预处理通常被认为是微不足道的,但这项处理可能非常复杂和耗时。
设备生成的数据模式
设备生成的内容包括来自传感器的数据数据是从天气信息、电气仪表和污染数据等数据来源检测到的,并且由传感器捕获。这些数据可以是照片、视频、文本和其他二进制格式。