大数据用于描述这样的数据组,其规模超出了日常软件在可容忍期限内获取、管理和加工数据的能力。一些网络技术领先的公司持续地投资于昂贵的大数据技术,成效显著。当今世界,大数据无处不在,它影响到了我们的工作、生活和学习,并将继续施加更大的影响。
大数据解决方案的逻辑层可以帮助定义和分类各个必要的组件,大数据解决方案需要使用这些组件来满足给定业务案例的功能性和非功能性需求。这些逻辑层列出了大数据解决方案的关键组件,包括从各种数据源获取数据的位置,以及向需要洞察的流程、设备和人员提供业务洞察所需的分析。
概述
这个 “大数据架构和模式” 系列的 第 2 部分 介绍了一种评估大数据解决方案可行性的基于维度的方法。如果您已经使用上一篇文章中的问题和提示分析了自己的情况,并且已经决定开始构建新的(或更新现有的)大数据解决方案,那么下一步就是识别定义项目的大数据解决方案所需的组件。
大数据解决方案的逻辑层
逻辑层提供了一种组织您的组件的方式。这些层提供了一种方法来组织执行特定功能的组件。这些层只是逻辑层;这并不意味着支持每层的功能在独立的机器或独立的进程上运行。大数据解决方案通常由以下逻辑层组成:
大数据来源
早在1980年,著名未来学家托夫勒在其所著的《第三次浪潮》中就热情地将“大数据”称颂为“第三次浪潮的华彩乐章”。2008年9月《自然》杂志推出了名为“大数据”的封面专栏。从2009年开始“大数据”才成为互联网技术行业中的热门词汇。
到了2011年6月,麦肯锡公司看到了各种网络平台记录的个人海量信息具备潜在的商业价值,于是投入大量人力物力进行调研,并发布了关于“大数据”的报告,该报告对“大数据”的影响、关键技术和应用领域等都进行了详尽的分析。麦肯锡的报告得到了金融界的高度重视,而后逐渐受到了各行各业关注。
数据改动 (massaging) 和存储层
分析层
使用层
大数据来源:考虑来自所有渠道的,所有可用于分析的数据。要求组织中的数据科学家阐明执行您需要的分析类型所需的数据。数据的格式和起源各不相同:
格式— 结构化、半结构化或非结构化。
速度和数据量— 数据到达的速度和传送它的速率因数据源不同而不同。
收集点— 收集数据的位置,直接或通过数据提供程序,实时或以批量模式收集数据。数据可能来自某个主要来源,比如天气条件,也有可能来自一个辅助来源,比如媒体赞助的天气频道。
数据源的位置— 数据源可能位于企业内或外部。识别您具有有限访问权的数据,因为对数据的访问会影响可用于分析的数据范围。
数据改动和存储层:此层负责从数据源获取数据,并在必要时,将它转换为适合数据分析方式的格式。例如,可能需要转换一幅图,才能将它存储在 Hadoop Distributed File System (HDFS) 存储或关系数据库管理系统 (RDBMS) 仓库中,以供进一步处理。合规性制度和治理策略要求为不同的数据类型提供合适的存储。
分析层:分析层读取数据改动和存储层整理 (digest) 的数据。在某些情况下,分析层直接从数据源访问数据。设计分析层需要认真地进行事先筹划和规划。必须制定如何管理以下任务的决策:
生成想要的分析
从数据中获取洞察
找到所需的实体
定位可提供这些实体的数据的数据源
理解执行分析需要哪些算法和工具。
使用层:此层使用了分析层所提供的输出。使用者可以是可视化应用程序、人类、业务流程或服务。可视化分析层的结果可能具有挑战。有时,看看类似市场中的竞争对手是如何做的会有所帮助。
采用基于模式的方法可以帮助业务团队和技术团队在解决方案的首要目标上达成一致意见。技术团队可以使用模式定义架构性原则,并制定一些关键架构决策。技术团队可以将这些模式应用到架构层,并导出实现解决方案所需的组件集。通常情况下,解决方案从有限的范围开始,然后企业会变得越来越有信心,相信解决方案会带来价值。随着演变的发生,与解决方案一致的复合模式与原子模式将会得到细化。在初始阶段,可以使用模式来定义一个基于模式的架构,并映射出在该架构中如何逐步设计组件。
每一层包含多种组件类型,下面将会介绍这些类型。
#p#分页标题#e#
大数据来源
此层包含所有必要的数据源,提供了解决业务问题所需的洞察。数据是结构化、半结构化和非结构化的数据,而且来自许多来源:
企业遗留系统— 这些系统是企业应用程序,执行业务需要的分析并获取需要的洞察:
客户关系管理系统
结算操作
大型机应用程序
企业资源规划
Web 应用程序开发
Web 应用程序和其他数据来源扩充了企业拥有的数据。这些应用程序可使用自定义的协议和机制来公开数据。
数据管理系统 (DMS)— 数据管理系统存储逻辑数据、流程、策略和各种其他类型的文档:
Microsoft? Excel? 电子表格
Microsoft Word 文档
这些文档可以转换为可用于分析的结构化数据。文档数据可公开为领域实体,或者数据改动和存储层可将它转换为领域实体。
数据存储— 数据存储,是数据流在加工过程中产生的临时文件或加工过程中需要查找的信息。常用的存储介质为磁盘和磁带。存储组织方式因存储介质而异。在磁带上数据仅按顺序文件方式存取;在磁盘上则可按使用要求采用顺序存取或直接存取方式。数据存储方式与数据文件组织密切相关,其关键在于建立记录的逻辑与物理顺序间对应关系,确定存储地址,以提高数据存取速度。数据存储包含企业数据仓库、操作数据库和事务数据库。此数据通常是结构化数据,可直接使用或轻松地转换来满足需求。这些数据不一定存储在分布式文件系统中,具体依赖于所处的上下文。
存储介质
常用的存储介质为磁盘和磁带。数据存储组织方式因存储介质而异。在磁带上数据仅按顺序文件方式存取;在磁盘上则可按使用要求采用顺序存取或直接存取方式。数据存储方式与数据文件组织密切相关,其关键在于建立记录的逻辑与物理顺序间对应关系,确定存储地址,以提高数据存取速度。
智慧设备— 智慧设备能够捕获、处理和传输使用最广泛的协议和格式的信息。这方面的示例包括智能电话、仪表和医疗设备。这些设备可用于执行各种类型的分析。绝大多数智慧设备都会执行实时分析,但从智慧设备传来的信息也可批量分析。
聚合的数据提供程序— 这些提供程序拥有或获取数据,并以复杂的格式和所需的频率通过特定的过滤器公开它。每天都会产生海量的数据,它们具有不同的格式,以不同的速度生成,而且通过各种数据提供程序、传感器和现有企业提供。
其他数据源— 有许多数据来自自动化的来源:
地理信息:
地图
地区详细信息
位置详细信息
矿井详细信息
人类生成的内容:
社交媒体
电子邮件
博客
在线信息
传感器数据:
环境:天气、降雨量、湿度、光线
电气:电流、能源潜力等
导航装置
电离辐射、亚原子粒子等
靠近、存在等
位置、角度、位移、距离、速度、加速度
声音、声震动等
汽车、运输等
热量、热度、温度
光学、光、成像、见光度
化学
压力
流动、流体、速度
力、密度级别等
来自传感器供应商的其他数据
数据改动和存储层
因为传入的数据可能具有不同的特征,所以数据改动和存储层中的组件必须能够以各种频率、格式、大小和在各种通信渠道上读取数据:
数据获取— 从各种数据源获取数据,并将其发送到数据整理组件或存储在指定的位置中。此组件必须足够智能,能够选择是否和在何处存储传入的数据。它必须能够确定数据在存储前是否应改动,或者数据是否可直接发送到业务分析层。
数据整理— 负责将数据修改为需要的格式,以实现分析用途。此组件可拥有简单的转换逻辑或复杂的统计算法来转换源数据。分析引擎将会确定所需的特定的数据格式。主要的挑战是容纳非结构化数据格式,比如图像、音频、视频和其他二进制格式。
分布式数据存储— 负责存储来自数据源的数据。通常,这一层中提供了多个数据存储选项,比如分布式文件存储 (DFS)、云、结构化数据源、NoSQL 等。
分析层
这是从数据中提取业务洞察的层:
分析层实体识别— 负责识别和填充上下文实体。这是一个复杂的任务,需要高效的高性能流程。数据整理组件应为这个实体识别组件提供补充,将数据修改为需要的格式。分析引擎将需要上下文实体来执行分析。
分析引擎— 使用其他组件(具体来讲,包括实体鉴别、模型管理和分析算法)来处理和执行分析。分析引擎可具有支持并行处理的各种不同的工作流、算法和工具。
模型管理— 负责维护各种统计模型,验证和检验这些模型,通过持续培训模型来提高准确性。然后,模型管理组件会推广这些模型,它们可供实体识别或分析引擎组件使用。
使用层
这一层使用了从分析应用程序获取的业务洞察。分析的结果由组织内的各个用户和组织外部的实体(比如客户、供应商、合作伙伴和提供商)使用。此洞察可用于针对客户提供产品营销信息。例如,借助从分析中获取的洞察,公司可以使用客户偏好数据和位置感知,在客户经过通道或店铺时向他们提供个性化的营销信息。
该洞察可用于检测欺诈,实时拦截交易,并将它们与使用已存储在企业中的数据构建的视图进行关联。在欺诈性交易发生时,可以告知客户可能存在欺诈,以便及时采取更正操作。
大数据分析的五个基本方面
PredictiveAnalyticCapabilities(预测性分析能力)
数据挖掘可以让分析员更好的理解数据,而预测性分析可以让分析员根据可视化分析和数据挖掘的结果做出一些预测性的判断。
DataQualityandMasterDataManagement(数据质量和数据管理)
数据质量和数据管理是一些管理方面的最佳实践。通过标准化的流程和工具对数据进行处理可以保证一个预先定义好的高质量的分析结果。 AnalyticVisualizations(可视化分析)
不管是对数据分析专家还是普通用户,数据可视化是数据分析工具最基本的要求。可视化可以直观的展示数据,让数据自己说话,让观众听到结果。 SemanticEngines(语义引擎)
我们知道由于非结构化数据的多样性带来了数据分析的新的挑战,我们需要一系列的工具去解析,提取,分析数据。语义引擎需要被设计成能够从“文档”中智能提取信息。
DataMiningAlgorithms(数据挖掘算法)
可视化是给人看的,数据挖掘就是给机器看的。集群、分割、孤立点分析还有其他的算法让我们深入数据内部,挖掘价值。这些算法不仅要处理大数据的量,也要处理大数据的
此外,可以根据在数据改动层完成的分析来触发业务流程。可以启动自动化的步骤 — 例如,如果客户接受了一条可自动触发的营销信息,则需要创建一个新订单,如果客户报告了欺诈,那么可以触发对信用卡使用的阻止。
分析的输出也可由推荐引擎使用,该引擎可将客户与他们喜欢的产品相匹配。推荐引擎分析可用的信息,并提供个性化且实时的推荐。
使用层还为内部用户提供了理解、找到和导航企业内外的链锁信息的能力。对于内部使用者,为业务用户构建报告和仪表板的能力使得利益相关者能够制定精明的决策并设计恰当的战略。为了提高操作有效性,可以从数据中生成实时业务警告,而且可以监视操作性的关键绩效指标:
交易拦截器— 此组件可实时拦截高容量交易,将它们转换为一种容易被分析层理解的实时格式,以便在传入数据上执行实时分析。事务拦截器应能够集成并处理来自各种来源的数据,比如传感器、智能仪表、麦克风、摄像头、GPS 设备、ATM 和图像扫描仪。可以使用各种类型的适配器和 API 来连接到数据源。也可以使用各种加速器来简化开发,比如实时优化和流分析,视频分析,银行、保险、零售、电信和公共运输领域的加速器,社交媒体分析,以及情绪分析。
业务流程管理流程— 来自分析层的洞察可供业务流程执行语言 (BPEL) 流程、API 或其他业务流程使用,通过自动化上游和下游 IT 应用程序、人员和流程的功能,进一步获取业务价值。
实时监视— 可以使用从分析中得出的数据来生成实时警告。可以将警告发送给感兴趣的使用者和设备,比如智能电话和平板电脑。可以使用从分析组件生成的数据洞察,定义并监视关键绩效指标,以便确定操作有效性。实时数据可从各种来源以仪表板的形式向业务用户公开,以便监视系统的健康或度量营销活动的有效性。
报告引擎— 生成与传统商业智能报告类似的报告的能力至关重要。用户可基于从分析层中得到的洞察,创建临时报告、计划的报告或自助查询和分析。
推荐引擎— 基于来自分析层的分析结果,推荐引擎可向购物者提供实时的、相关的和个性化的推荐,提高电子商务交易中的转换率和每个订单的平均价值。该引擎实时处理可用信息并动态地响应每个用户,响应基于用户的实时活动、存储在 CRM 系统中的注册客户信息,以及非注册客户的社交概况。
可视化和发现— 数据可跨企业内外的各种联邦的数据源进行导航。数据可能具有不同的内容和格式,所有数据(结构化、半结构化和非结构化)可组合来进行可视化并提供给用户。此能力使得组织能够将其传统的企业内容(包含在企业内容管理系统和数据仓库中)与新的社交内容(例如 tweet 和博客文章)组合到单个用户界面中。
垂直层
影响逻辑层(大数据来源、数据改动和存储、分析和使用层)的所有组件的各方面都包含在垂直层中:
信息集成
大数据治理
系统管理
服务质量
信息集成
大数据应用程序从各种数据起源、提供程序和数据源获取数据,并存储在 HDFS、NoSQL 和 MongoDB 等数据存储系统中。这个垂直层可供各种组件使用(例如数据获取、数据整理、模型管理和交易拦截器),负责连接到各种数据源。集成将具有不同特征(例如协议和连接性)的数据源的信息,需要高质量的连接器和适配器。可以使用加速器连接到大多数已知和广泛使用的来源。这些加速器包括社交媒体适配器和天气数据适配器。各种组件还可以使用这一层在大数据存储中存储信息,从大数据存储中检索信息,以便处理这些信息。大多数大数据存储都提供了服务和 API 来存储和检索该信息。
大数据治理
数据治理涉及到定义指南来帮助企业制定有关数据的正确决策。大数据治理有助于处理企业内或从外部来源传入的数据的复杂性、量和种类。在将数据传入企业进行处理、存储、分析和清除或归档时,需要强有力的指南和流程来监视、构建、存储和保护数据。
除了正常的数据治理考虑因素之外,大数据治理还包含其他因素:
管理各种格式的大量数据。
持续培训和管理必要的统计模型,以便对非结构化数据和分析进行预处理。请记住,设置处理非结构化数据时的重要一步。
为外部数据设置有关其保留和使用的策略和合规性制度。
定义数据归档和清除策略。
创建如何跨各种系统复制数据的策略。
设置数据加密策略。
总结:大数据处理数据时代理念的三大转变:要全体不要抽样,要效率不要绝对精确,
要相关不要因果。具体的大数据处理方法其实有很多,但是根据长时间的实践,
笔者总结了一个基本的大数据处理流程,并且这个流程应该能够对大家理顺大数据的处理有所帮助。整个处理流程可以概括为四步,分别是采集、导入和预处理、统计和分析,以及挖掘。
采集
大数据的采集是指利用多个数据库来接收发自客户端的数据,并且用户可以通过这些数据库来进行简单的查询和处理工作。比如,电商会使用传统的关系型数据库MySQL和Oracle等来存储每一笔事务数据,除此之外,Redis和MongoDB这样的NoSQL数据库也常用于数据的采集。
在大数据的采集过程中,其主要特点和挑战是并发数高,因为同时有可能会有成千上万的用户来进行访问和操作,比如火车票售票网站和淘宝,它们并发的访问量在峰值时达到上百万,所以需要在采集端部署大量数据库才能支撑。并且如何在这些数据库之间进行负载均衡和分片的确是需要深入的思考和设计。
统计/分析
统计与分析主要利用分布式数据库,或者分布式计算集群来对存储于其内的海量数据进行普通的分析和分类汇总等,以满足大多数常见的分析需求,在这方面,
一些实时性需求会用到EMC的GreenPlum、Oracle的Exadata,以及基MySQL
的列式存储Infobright等,而一些批处理,或者基于半结构化数据的需求可以使用Hadoop。统计与分析这部分的主要特点和挑战是分析涉及的数据量大,其对系统资源,特别是I/O会有极大的占用。
导入/预处理
虽然采集端本身会有很多数据库,但是如果要对这些海量数据进行有效的分析,
还是应该将这些来自前端的数据导入到一个集中的大型分布式数据库,或者分布式存储集群,并且可以在导入基础上做一些简单的清洗和预处理工作。也有一些用户会在导入时使用来自Twitter的Storm来对数据进行流式计算,来满足部分业务的实时计算需求。导入与预处理过程的特点和挑战主要是导入的数据量大,
每秒钟的导入量经常会达到百兆,甚至千兆级别。
挖掘
与前面统计和分析过程不同的是,数据挖掘一般没有什么预先设定好的主题,主要是在现有数据上面进行基于各种算法的计算,从而起到预测的效果,从而实现一些高级别数据分析的需求。比较典型算法有用于聚类的K-Means、用于统计学习的SVM和用于分类的Naive Bayes,主要使用的工具有HadoopMahout
等。该过程的特点和挑战主要是用于挖掘的算法很复杂,并且计算涉及的数据量和计算量都很大,还有,常用数据挖掘算法都以单线程为主。
服务质量层
此层复杂定义数据质量、围绕隐私和安全性的策略、数据频率、每次抓取的数据大小和数据过滤器:
数据质量
#p#分页标题#e#
完整地识别所有必要的数据元素
以可接受的新鲜度提供数据的时间轴
依照数据准确性规则来验证数据的准确性
采用一种通用语言(数据元组满足使用简单业务语言所表达的需求)
依据数据一致性规则验证来自多个系统的数据一致性
在满足数据规范和信息架构指南基础上的技术符合性
围绕隐私和安全的策略
需要策略来保护敏感数据。从外部机构和提供程序获取的数据可能包含敏感数据(比如 Facebook 用户的联系信息或产品定价信息)。数据可以来源于不同的地区和国家,但必须进行相应的处理。必须制定有关数据屏蔽和这类数据的存储的决策。考虑以下数据访问策略:
数据可用性
数据关键性
数据真实性
数据共享和发布
数据存储和保留,包括能否存储外部数据等问题。如果能够存储数据,数据可存储多长时间?可存储何种类型的数据?
数据提供程序约束(政策、技术和地区)
社交媒体使用条款(参见 参考资料)
数据频率
提供新鲜数据的频率是多少?它是按需、连续还是离线的?
抓取的数据大小
此属性有助于定义可抓取的数据以及每次抓取后可使用的数据大小。
过滤器
标准过滤器会删除不想要的数据和数据中的干扰数据,仅留下分析所需的数据。
系统管理
系统管理是指管理企业的信息技术系统。它包括收集要求、购买设备和软件、将其分发到使用的地方、配置它、使用改善措施和服务更新维护它、设置问题处理流程,以及判断是否满足目的。系统管理通常由企业的最高信息主管全权负责。系统管理与一般管理不同,一般的管理往往只关注某个具体特定的管理对象,而系统管理从整体、联系和开放的观点出发,关注具体对象控制的同时,还考虑该对象与其他事物的关联性以及对象与环境的相互作用。执行系统管理的部门有时称管理信息系统(MIS)或简称为信息系统(IS)。系统管理对大数据至关重要,因为它涉及到跨企业集群和边界的许多系统。
对整个大数据生态系统的健康的监视包括:
管理系统日志、虚拟机、应用程序和其他设备
关联各种日志,帮助调查和监视具体情形
监视实时警告和通知
使用显示各种参数的实时仪表板
引用有关系统的报告和详细分析
设定和遵守服务水平协议
管理存储和容量
归档和管理归档检索
执行系统恢复、集群管理和网络管理
策略管理
结束语
我们描述了与大数据有关的复杂性,以及如何确定是否应实现或更新您的大数据解决方案。在本文中,我们讨论了原子模式和复合模式,并解释了一个解决方案可以由多种模式组成。给定一个特定的上下文,您可能会发现某些模式是比其他模式更合适。我们建议您采用端到端的解决方案视图,并考虑所涉及的模式,然后定义大数据解决方案的架构。
对于架构师和设计师,映射到模式可以支持对架构中各组件的责任进一步细化。对于业务用户而言,它通常有助于更好地理解大数据问题的业务范围,从而获得有价值的洞察,让解决方案满足所期望的结果。
此外,解决方案模式有助于定义最优的组件集,根据业务问题是否需要使用数据发现和探索功能、专用和可预测的分析或者可操作的分析。请记住,在实现一个解决方案时,并没有建议的原子、复合或解决方案模式的顺序或次序。在本系列的下一篇文章中,将针对此用途介绍解决方案模式。
对开发人员而言,层提供了一种对大数据解决方案必须执行的功能进行分类的途径,为组织建议必需执行这些功能所需的代码。但是,对于想要从大数据获取洞察的业务用户,考虑大数据需求和范围通常会有所帮助。原子模式解决了访问、处理、存储和使用大数据的机制,为业务用户提供了一种解决需求和范围的途径。
以上文章就是本节课的主要知识点了,更多详细内容,尽在课课家教育,还在等什么,赶紧登陆吧!我们期待您的咨询!