设备生成的数据模式
设备生成的内容包括来自传感器的数据数据是从天气信息、电气仪表和污染数据等数据来源检测到的,并且由传感器捕获。这些数据可以是照片、视频、文本和其他二进制格式。
下图说明了处理机器生成的数据的典型过程。
图 5. 设备生成的数据访问
图5说明了访问来自传感器的数据的过程。由传感器捕获的数据可以发送到设备网关,设备网关会对数据执行一些初始预处理,并缓冲高速数据。机器生成的数据大多为二进制格式(音频、视频和传感器读数)或文本格式。这样的数据最初可以存储在存储系统中,也可以对它们进行预处理,然后再存储它们。对于分析来说,要求执行预处理。
事务、运营和仓库数据模式
可以存储现有的事务、运营和仓库数据,避免清除或归档数据(因为存储和处理的限制),或减少在数据被其他使用者访问时对传统存储的负载。
对于大多数企业而言,事务、运营、主数据和仓库信息都是所有分析的核心。如果用在Internet上,或者通过传感器和智能设备提供的非结构化数据以及外部数据来增强此数据,那么可以帮助组织获得准确的洞察,并执行高级分析。
使用由多个数据库厂商提供的标准连接器,事务和仓库数据可以被推入存储。预处理事务性数据要容易得多,因为数据大多是结构化的。可以使用简单的提取、转换和加载流程将事务数据移动到存储中。事务数据可以很容易地转换成JSON和CSV等格式。使用Sqoop等工具可以更容易将事务数据推入存储系统,如HBase和HDFS。
存储模式
存储模式有助于确定适当的存储各种数据的类型和格式。数据可以按原样存储,根据键值对存储,或者以预定义的格式存储。
分布式文件系统(如GFS和HDFS)都能够存储任何类型的数据。但是,高效地检索或查询数据的能力会影响性能。技术的选择很重要。
分布式非结构化数据的存储模式
大部分大数据是非结构化数据,而且可以通过不同的方式针对不同的上下文提取它所拥有的信息。大多数时候,非结构化数据必须按原样并以其原始格式进行存储。
这样的数据可以存储在分布式文件系统(如HDFS)和NoSQL文档存储(如MongoDB)中。这些系统提供了检索非结构化数据的有效方法。
分布式结构化数据的存储模式
结构化数据包括从数据源到达的已经是结构化格式的数据,以及经过预处理,被转换为JSON数据等格式的非结构化数据。必须存储已经过转换的数据,避免从原始数据到结构化数据的频繁数据转换。
可以使用Google的BigTable等技术来存储结构化数据。BigTable是一个大规模容错式自我管理系统,包括TB级的内存和PB级的存储。
hadoop中的HBase可媲美BigTable。它使用了HDFS作为底层存储。
传统数据存储的存储模式
对于存储大数据而言,传统的数据存储并不是最佳选择,但在企业执行初步数据探索的情况下,企业可能会选择使用现有的数据仓库、RDBMS系统和其他内容存储。这些现有的存??储系统可用来存储使用大数据平台消化和过滤的数据。不要认为传统的数据存储系统适用于大数据。
云存储的存储模式
许多云计算基础架构供应商都有分布式结构化、非结构化的存储能力。从传统的配置、维护、系统管理、编程和建模角度讲,大数据技术有点不同。此外,实现大数据解决方案所需的技能既罕见又昂贵。探索大数据技术的企业可以使用云解决方案来提供大数据的存储、维护和系统管理。
要存储的数据往往是敏感数据,这些数据包括医疗记录和生物特征数据。您需要考虑数据安全性、数据共享、数据治理,以及有关数据的其他政策,在考虑将云作为大数据存储库的时候尤其如此。传输大量数据的能力也是云存储的另一个重要考虑因素。
复合模式
原子模式侧重于提供执行各项功能所需的能力。但是,复合模式是基于端到端的解决方案进行分类的。每个复合模式都要考虑一个或多个维度。在将复合模式应用到每个模式时,会有许多变化。可以将复合模式映射到一个或多个原子模式,以解决某个给定的业务问题。本文所述的复合模式列表是基于经常发生的典型业务问题,但这不是复合模式的完整列表。
存储和探索模式
如果业务问题需要存储大量新数据和现有数据,而且先前由于缺乏足够的存储和分析能力而一直未使用这些数据,那么这种模式就非常有用。该模式旨在缓解对现有数据存储的负载。所存储的数据可用于初始勘探和即席发现。用户可以推演报告,通过进一步的处理来分析数据的质量和价值。您可以使用ETL工具来预处理和净化原始数据,然后再进行任何类型的分析。
图 6. 存储和探索复合模式
图6说明了这种模式的多个维度。数据的使用目的可能只是存储它,或处理和使用它。
仅存储的示例是,数据的获取和存储只是为了将来能够满足合规性或法律的要求。在处理和使用的情况下,分析的结果可以被处理和使用。可以从最近发现的来源或从现有的数据存储访问数据。
专用和可预测的分析复合模式
使用此模式的情况是,使用多种处理技术执行分析,因此,可以用新洞察丰富现有数据,或创建可由各种用户使用的输出。该分析可以在事件发生的同时实时发生,或使用批量模式,根据收集到的数据获得洞察。作为可以分析的静态数据的示例,某电信公司可能构建客户流失模型,包括分析呼叫数据记录、社交数据和事务数据。作为分析运动数据的示例,预测某个给定事务正在经历欺诈的需求必须实时或近实时地发生。
图 7. 专用和预测分析复合模式
使用此模式的情况是,使用多种处理技术执行分析,因此,可以用新洞察丰富现有数据,或创建可由各种用户使用的输出。该分析可以在事件发生的同时实时发生,或使用批量模式,根据收集到的数据获得洞察。作为可以分析的静态数据的示例,某电信公司可能构建客户流失模型,包括分析呼叫数据记录、社交数据和事务数据。作为分析运动数据的示例,预测某个给定事务正在经历欺诈的需求必须实时或近实时地发生。
可操作的分析模式
大数据解决方案的最高级形式是,对数据集执行分析,并且基于可重复的过去的行动或行动矩阵来暗示行动。该操作可以是手动、半自动或全自动的。基础分析需要高度准确。行动是预定义的,分析的结果被映射到行动。可操作分析中所涉及的典型步骤是:
- 分析数据以获得洞察。
- 制定决策。
- 激活相应的渠道,对正确的使用者采取行动。
图 8. 可操作的分析复合模式
图 8 说明该分析可以是手动、半自动或全自动的。如图中的说明所示,它使用了原子模式。
手动操作 意味着系统基于分析的结果来提供建议操作,并由人类决定和执行操作。半自动意味着,分析建议操作,但不需要通过人类干预来启动操作,或从一组建议的操作中进行选择。全自动表示在决策之后,系统立即执行操作。例如,在设备被预测会发生故障之后,系统可以自动创建一个工作订单。
下面的矩阵显示了如何将原子模式映射到复合模式,复合模式是原子模式的组合。每个复合模式都被设计为针对具有一组特定特征的数据在特定情况下使用。矩阵显示了模式的典型组合。必须对模式进行调整,以满足特定的情况和需求。在矩阵中,按照从最简单到最复杂的顺序列出了复合模式。“storeandexplore(存储和探索)”模式是最简单的。
图 9. 复合模式对原子模式的映射
回页首
结束语
采用基于模式的方法可以帮助业务团队和技术团队在解决方案的首要目标上达成一致意见。技术团队可以使用模式定义架构性原则,并制定一些关键架构决策。技术团队可以将这些模式应用到架构层,并导出实现解决方案所需的组件集。通常情况下,解决方案从有限的范围开始,然后企业会变得越来越有信心,相信解决方案会带来价值。随着演变的发生,与解决方案一致的复合模式与原子模式将会得到细化。在初始阶段,可以使用模式来定义一个基于模式的架构,并映射出在该架构中如何逐步设计组件。
图 10. 将原子模式映射到架构层
在本系列的第2部分中,我们描述了与大数据有关的复杂性,以及如何确定是否应实现或更新您的大数据解决方案。在本文中,我们讨论了原子模式和复合模式,并解释了一个解决方案可以由多种模式组成。给定一个特定的上下文,您可能会发现某些模式是比其他模式更合适。我们建议您采用端到端的解决方案视图,并考虑所涉及的模式,然后定义大数据解决方案的架构。
对于架构师和设计师,映射到模式可以支持对架构中各组件的责任进一步细化。对于业务用户而言,它通常有助于更好地理解大数据问题的业务范围,从而获得有价值的洞察,让解决方案满足所期望的结果。
此外,解决方案模式有助于定义最优的组件集,根据业务问题是否需要使用数据发现和探索功能、专用和可预测的分析或者可操作的分析。请记住,在实现一个解决方案时,并没有建议的原子、复合或解决方案模式的顺序或次序。在本系列的下一篇文章中,将针对此用途介绍解决方案模式。
