CIO指南:如何使用SAP HANA平台处理大数据
执行概要
本指南旨在帮助 CIO 为企业建立系统架构,充分发挥大数据的价值。本文介绍了 SAP HANA 平台的功能,以及该平台如何与 Hadoop 和相关技术集成。此外,我们还剖析了受不同技术影响的典型数据流,聚焦数据生命周期管理和数据流。文中给出的具体用例展示了大数据相关的要求和机遇,以及企业正在如何充分利用大数据。
大数据通常包含三大属性:数量、速度和种类。这些属性给传统的基于磁盘的关系型数据库带来了巨大挑战。不同类型的数据对存储功能和性能有着不同的要求,对应的成本也不同。
SAP HANA 平台提供了多种数据存储器和处理引擎。现在,联机事务处理 (OLTP) 和联机分析处理(OLAP) 应用可以基于单一系统、单个数据库轻松运行。SAP HANA 中的内存存储器适用于必须高速访问和处理的高价值数据(热数据)、经常更改的数据,以及需要 SAP HANA 平台原生功能的场景。而且,客户通常用内存存储器来处理 TB 级规模的(压缩)数据。[1]
动态分层选项基于 SAP IQ 软件技术,利用基于磁盘的列式表扩展了 SAP HANA 数据库。当企业需要较高的 OLAP 性能并与 SAP HANA 深度集成,或者当结构化查询语言 (SQL) 的处理功能足够满足性能需求时,我们推荐企业采用该选项,存储大型结构化数据集。例如,动态分层选项可以用于处理价值较低的数据(暖数据),因为这类数据对内存性能没有要求。该选项可以管理从数百 TB 到数 PB的数据量。
Hadoop 适合能够无限增长的原始数据、非结构化数据与半结构化数据,以及需要大规模横向扩展的数据处理场景。借助 Hadoop,你能够以较低的初始成本,实现灵活的横向扩展。此外,Hadoop 还适用于来自业务应用且不再需要的数据(冷数据)。若要在 Hadoop 中对结构化数据进行高性能分析,我们推荐使用 SAP HANA Vora ?
引擎。这款 SQL引擎支持用户从 Hadoop 或 Spark,对 SAP HANA中的数据访问进行优化。
对所有数据而言,SAP HANA 是数据存取、数据建模和系统管理的中心点。得益于其开放性特点,SAP HANA 平台可以利用非 SAP 技术按需进行扩展。这种灵活性让该平台成为了一项可持续性投资。通过简化系统管理和软件生命周期管理,SAP HANA 助力 CIO 简化系统架构,大幅降低拥有成本。
引言
技术可以重塑整个世界。从现在一直到 2020 年,大数据将成为影响世界的最重要的技术趋势之一。有证据证明,大数据是技术供应商创造的一种人造技术类型,一种用来引用某些新工具的便捷方式,其价值无可争辩。这一术语被广泛用于指代传统的数据处理应用无法管理的大型数据集和复杂数据集。过去五年里,我们创造的数据量超过了之前创造的数据量总和,而所有这些新数据让企业运营变得更复杂。
大量数据并不等同于大量可用的信息。高效的大数据基础架构应能将背景噪音同可以转化为切实洞察的有价值的信号区分开来。
在设计和建立一个适当的大数据系统基础架构时,企业有很多选择,但是有关如何以最佳方法释放大数据潜力和满足企业特定要求的指导信息却寥寥无几。本文档为 CIO 提供了方向,帮助他们选择适合特定大数据应用的存储和处理选项,并了解其决策的影响和结果。同时,本文档还将帮助解答一系列问题,比如哪种类型的数据应存储在内存表、动态分层和 Hadoop 中,以及应采用哪款处理引擎执行指定的任务等等。
错误的决策可能导致企业采用了过于复杂、价格过高的解决方案,而且还无法满足大数据的业务要求。举例来说,设想一下,有一款应用采用SAP HANA来存储业务数据,并且必须管理来自各种设备的其他数据。假设这些设备数据是结构化数据,预期的数据总量将达到 GB 级别,而且数据采用 SQL 处理。由于 SAP HANA 数据库可以有效地管理这些数据,采用一个需要额外的 Hadoop 集群的解决方案架构不仅会带来不必要的复杂性,还将提高运营成本。
企业在选择特定存储选项或处理引擎时会从多个维度进行评估,包括性能、数据量、成本、功能以及就绪性等。本指南旨在帮助 CIO 深入了解这些维度,为他们的企业制定正确的决策。本指南由以下几个章节组成:
“大数据时代的挑战与机遇”部分简要阐述了为什么大数据对当今企业而言既是挑战也是机遇。
“大数据的参考架构”章节介绍了大数据当前的参考架构之一:Lambda 架构。
“大数据处理平台 SAP HANA ”章节简要介绍了 SAP
HANA 平台及其提供的大数据管理选项。
“大数据的业务场景和数据流”章节介绍了典型的大数据业务场景和数据流,及其对大数据基础架构设置的影响。
“大数据用例”章节列举了两个真实用例。
“SAP HANA 平台:集开放、灵活、集成、可扩展等特点于一身” 章节总结了 SAP HANA 平台的一些重要特征,正是这些特征让 SAP HANA 成为了 一项可持续性投资。
大数据时代的挑战与机遇
当今数字经济时代的特点就是高度互联或者说即时连接业务网络,因此,我们有信心预见,数据量将继续高速增加。与此同时,这些数据还将分为不同类型,包括结构化数据和非结构化数据,其价值也高低不等。
过去十年,谷歌、Facebook 和 Netflix 等企业率先开始收集消费者日常活动产生的海量数据,并将这些数据转化为收入。这些企业将收集的数据视为战略资产,他们的每个决策都是由数据驱动,就像他们销售的每款产品一样。这种方式让传统企业大获裨益,他们可以轻松地看到以同样方式运用数据所带来的收益。
新的技术、数据类型和数据源以及技术使用方式不断涌现。从移动商务、云计算到社交媒体和情绪,再到机器、日志和传感器数据,数据科学正在从海量结构化和非结构化数据中挖掘价值,同时高速流动的数据正以前所未有的方式为企业提供洞察,推动决策。
数据处理无法增加数据的价值,但利用这些数据做出及时、有意义的决策,对业务产生影响,却具有巨大价值。在企业能将大数据转化为收入和战略性资产之前,现代 CIO 必须考虑几件事情。首先,企业应采用最适合的技术满足自身期望(参见下表)。
企业期望
技术、解决方案和技能
企业对大数据的期望有哪些?
? 营销分析
? 销售分析
? 运营分析
? 财务分析
? 我们应考虑哪种技术?
? 能否采用统一的平台?
? 我们将需要哪些技能组合?
上表左侧显示了与大数据有关的值得思考的常见企业期望:
新的数字渠道
企业的事务数据和分析数据与来自其他数据源的数据(比如天气数据或社交媒体数据)之间的潜在关联
创建模拟和高级数据可视化的能力,以更具吸引力的全新方式描述从数据中获取的洞察
大数据的属性
大数据最显著且可以采用技术手段衡量的属性有三个:数量、速度和种类(参见下图
)。[2]
大数据不仅数量众多,而且生成速度超越空前(速度)。试想一下,工厂车间产生的机器数据或金融市场产生的算法交易数据。数据还分为不同类型(种类),包括推特或 Facebook 上的产品评论、企业网站上的客户行为日志,以及传感器和天气数据等等。考虑到数据量的激增,需要处理和存储的数据量快速增加,以及数据种类越来越多,企业必须采用一种通用的架构模式。这种架构模式被称为 Lambda 架构,下节我们将详细讨论。
大数据的参考架构
若要将大数据作为一项战略资产,企业需要一系列技术基础,帮助其以较低的技术成本,收集、存储和处理海量数据。一开始,其中的一些技术(例如,Hadoop)主要用于批处理作业。但是最近几年,其他技术(比如,Spark)的兴起使得企业能够在同一基础架构中,并行运行批处理作业和实时数据处理。这两项功能的整合恰恰是大数据架构最重要的一项要求。
Lambda 架构则向我们诠释了如何达到这一要求。尽管 Lambda 架构有利有弊,大数据社区仍然将其视为大数据的重要参考架构。这种架构特别适合预测分析场景。在这种场景下,系统会定期从历史数据集中识别数据模式,并实时检查输入的记录是否符合这些模式。
Lambda 架构最重要的特征包括:
容错:即使出现故障,仍然能够满足要求(如果出现故障,信息不会丢失,因为系统可以从只添加的主数据集重新计算输入数据)
可扩展性:灵活应对数据增加
低延迟的读写过程:尽量缩短系统响应的延迟时间
实时结果:不论数据负载有多大,都能快速返回结果
Lambda 架构是由以下三大功能界定的:实时处理、批处理和查询处理。
下图展示了这些功能如何相互作用。此外,通过附加新数据,主数据集将持续更新(图中的“所有数据”)。为了弥补批处理的延迟,Lambda 架构定义了三个架构层:批处理层、服务层和速度层。
输入的新数据将被导入批处理层和速度层。在批处理层,输入数据将添加至主数据集,比如 Hadoop 分布式文件系统 (HDFS)。
批处理作业用于读取主数据集,并生成被称为批处理视图的预计算和预聚合结果。系统将不断重新执行潜在的长期运行批处理作业,以便在更新的版本出现后,用这些版本重写批处理视图。
然后,这些批处理视图将加载至服务层的一个只读数据存储器中,支持快速读取和随机读取。系统不会复制实时视图,这是因为系统需要临时创建视图;而且系统应采用最新的可用数据回答每次查询。因此,实时视图是实时层的一个组成部分,而且不会在查询层中复制。
在 Lambda 架构模式中,输入查询能够根据批处理视图和实时视图的综合结果,采取行动。因此,数据库通常为批处理视图编入索引,以支持即席查询,并使用一个组件来合并实时视图和批处理视图。
通过将一个不可变且只添加的主数据集保留在所有输入数据存储的位置,该架构模式可以实现容错。如果任意处理步骤发生了故障,系统可以从主数据集重新计算一切。这些不断增加的数据将存储在 HDFS 等可扩展和可靠的分布式存储系统中。HDFS 环境中的数据通常采用 MapReduce 批处理作业形式处理。
服务层支持用户在批处理视图中进行快速查询,但是这些视图仅仅包含在开始生成批处理作业之前产生的信息。为了弥补这个时间差,所有新数据将并行输入速度层。速度层将利用流处理技术(比如 Apache Storm 或 Spark Streaming) 实时处理新数据。处理结果将用于以增量方式,更新支持快速随机读写的数据库中的实时视图(例如,利用Apache Cassandra [3])。
速度层则需要粗略估算结果,因为速度层只包含当前信息而没有历史数据。正如前文所述,当执行查询操作时,实时视图和批处理视图将在服务层中合并。最近,Lambda 架构饱受争议,因为这种架构创造了一个由各种不同组件松散集成的复杂结构,而且还要求用户针对批处理层和速度层中的不同技术堆栈实施各种代码基。与此同时,用户还必须维护已经实施的功能并使其保持同步,以确保这些功能能够以从批处理层和速度层生成同样的结果。考虑到分布式系统极其复杂,这里面将涉及大量工作。
但是撇开这些批判,Lambda 架构仍然是一种有效的大数据处理技术。归根结底,关键就是要让 Lambda的要求更易于管理。
SAP HANA 可以帮助你从该平台的预集成组件(包括处理引擎和数据存储器),实施一款完整的 Lambda 架构。SAP HANA 甚至超越了 Lambda 架构,因为该平台提供了与远程数据源集成的选项,而且还支持数据集成和复制、数据转换、数据质量运营、事件流处理以及联合查询执行等。此外,SAP HANA还能提供集成式数据平台所具备的诸多优势,比如更简单的安装、管理、生命周期管理和开发流程,因为 Lambda 架构的三个层次可以在同一个系统内运行,而且所有持久数据可以在同一数据库内访问。
利用 SAP HANA 平台处理大数据
前面我们已经谈到,越来越多的软件解决方案需要具备相关功能来全面管理和处理大数据,不论这些数据是来自机器传感器还是社交媒体。大数据通常需要与企业应用创造的传统业务数据相整合。SAP HANA 是 SAP 用于统一和整合所有这些数据的战略平台。该平台特别适合集中管理所有应用产生的数据,因为这个平台具有开放性特点,而且能够在同一平台上执行事务处理和分析处理。正如本节所述,SAP HANA 中的集成功能支持 SAP HANA 与其他技术(比如 Hadoop 及其系列产品)相整合,打造最适合且最有效的大数据架构。
SAP HANA 平台包括应用服务、数据库服务和集成服务(参见下图)。鉴于数据库服务和集成服务与大数据基础架构的关系最密切,我们将首先探讨这两种服务。
数据库服务
该系统符合 ACID [4] 和 SQL 标准,因此能够可靠地处理数据库事务。用户可以通过 Java Database Connectivity (JDBC)、Open
Database Connectivity(ODBC)、JavaScript Object Notation
(JSON) 和 Open Data Protocol (OData) 获取数据库服务。最终,这意味着 SAP HANA 是一个基于标准且开放的平台,能够通过常用的应用程序编程接口 (API) 和协议建立连接。而这些优势也将 SAP HANA 更容易被企业所采纳和适应现有的基础架构。
数据库服务包含基础服务和处理功能。基础服务能够将数据转化为实时信息,无需对复杂的即席查询进行精密调整(参见下图)。由于数据存储在内存中,OLTP 和 OLAP 可以基于同一系统中的单一数据副本运行。SAP HANA 中的列式存储器可以高效地处理这两类工作。
在 OLAP 和 OLTP 的混合环境中,SAP HANA 可以处理成千上万的并行语句,包括简短的高优先级事务处理,以及需要消耗许多主机资源的极为复杂的长期分析查询。此外,一个专门的工作管理器将用于控制并行处理和处理活动的优先级,确保 SAP HANA 高效完成上述工作。
由于 SAP HANA 采用的多租户数据库能够在 SAP HANA 的单一实例中运行,因此该平台适用于云环境,且支持安全、高效的共享基础架构管理。而且,SAP HANA 对租户数据库之间的数据、资源和用户进行了严格分离。你可以将多个数据库视为一个整体进行管理。此外,SAP HANA 还能为每个租户数据库灵活分配内存或 CPU。
凭借先进的压缩功能,SAP HANA 可以支持高达数 TB 的横向扩展部署,且不受内存大小的限制。
假设数据压缩系数为 7,而且近 50% 的内存用于查询处理,一个 3 TB 的单节点系统就能存储一个 10 TB 的未压缩数据库。你还可以看到一些内存更大的扩展系统,某些高效的扩展系统甚至还能存储高达数百 TB 的未压缩数据库。SAP HANA 经过认证的最大横向扩展硬件配置含 94 个集群节点,每个节点拥有 3 TB 内存。[5] 这项经过认证的极限规模表明,从技术的角度来看,SAP HANA 能够将大数据存储在内存中,尽管在实践中这一功能并不常用。
此外,暖数据可以按列存储到磁盘,而且数据访问过程完全透明。这是一个动态分层选项,该选项能够采用基于磁盘的列式存储器(也称为扩展型存储器)扩展 SAP HANA。动态分层选项在扩展型存储服务器中运行,相当于将 SAP IQ 集成到 SAP HANA 中。这种扩展型存储服务器能够管理多达数 PB 数据,而且经过了优化,可以基于超大表格快速执行复杂的分析查询。
数据库服务的处理功能(参见上图)支持企业利用同一系统中几乎所有的数据属性运行应用。这些功能包括:
通过总结、分类和调查文本内容,分析情感
搜索所有结构化和非结构化数据
操作并分析网络关系和图表,确保其持久性,但无需复制数据
提供内置业务规则和功能,加快应用开发
针对当前数据运行预打包的预测算法,并通过集成 R 服务器等方式,提供开放的预测功能和机器学习功能
制定交互式计划,无需将数据迁移至应用服务器
整理本地生成的数据和导入数据,而不必进行后处理
特别是在物联网环境中,SAP HANA 可以简化序列数据的处理流程,这些序列数据主要由按预定义的时间间隔收集的连续性事件组成。
集成服务
集成服务能够处理来自任何数据源的大数据,并利用这些数据提供完整的业务视图。从这点来看,集成服务具有重要的战略性作用(参见下图)。
借助 SAP HANA 的集成服务,用户可以访问来自不同数据源的信息。这类服务支持实时复制和移动几乎所有类型的数据:
智能数据访问 (SDA) 支持远程查询执行,也称为数据虚拟化。通过在 SAP HANA 平台中执行查询,用户可以利用虚拟表访问远程系统中的数据。
智能数据集成 (SDI) 可以用于从各种远程数据源提供批处理数据和实时数据。除了支持附加类型的数据源以外,SDI 还包含一款面向客户和合作伙伴的适配器软件开发工具包 (SDK)。SDI 采用了 SDA 的部分功能,比如,使用远程数据源系统和虚拟表的概念。而且,SDI 还接通了 SDA 的联合框架,执行远程查询。
智能数据流 (SDS) 支持用户捕获和分析实时数据流,并将其导向适当的存储器或仪表盘。这项服务还包括一个“流式工具 (Streaming Lite)”部署选项,这个工具可以在边缘区域的小型设备上运行,比如基于应用响应测量 (ARM) 的 Linux 操作系统。该工具还可以捕获和预处理来自传感器和机器的数据,并将结果发送至一个中央核心或基于云的 SDS。
远程数据同步可以用于支持嵌入的 SAP? SQL Anywhere? 解决方案和设备上运行的 UltraLite 数据库的双向数据同步。这个功能特别适合高延迟性网络或间断性网络中的数据同步。
Hadoop 集成包含从 SAP HANA 到 Hadoop 数据的多个访问点(通过 Spark、Hive、HDFS 和 MapReduce 访问 Hadoop 数据)。而且,SAP HANA Vora 是一个列式 SQL 内存引擎,该引擎利用一个基于 Hadoop 的本地 SAP 查询处理引擎,与 SAP HANA 平台形成互补。这个引擎的设计宗旨就是在大型分布式集群中,对大数据的数量执行高性能查询。此外,SAP HANA Vora 还集成在 Spark 计算框架中。
在数据库服务的共同作用下,集成服务可以帮助 SAP HANA 平台高效处理大数据,而不受大数据三项属性(数量、速度和种类)的影响。不仅如此,这项服务还提供开放性环境,能够与几乎所有技术互联,并将最重要的工具和工具包紧密集成到 SAP HANA 平台环境。
应用服务
除非利用应用或业务流程将大数据洞察转化为行动,否则大数据的价值十分有限。你甚至可以通过完善现有应用或开发新应用,创造新业务流程。通过帮助各种应用创造新数据或利用存储在平台中的现有数据,SAP HANA 的应用服务支持大数据管理。而且,在构建大数据应用时,这类服务可以基于同一平台运行应用,简化架构。
借助 SAP Fiori? 用户体验 (UX) 技术,应用服务能够在任何设备上提供一流的用户体验。此外,这类服务还支持开放开发标准,比如面向 HTML5、JSON 和 JavaScript 的开发标准,同时内置相关工具,以支持应用的开发、版本控制、绑定、移动和安装等(参见下图)。
SAP HANA 平台包含的各项服务能够帮助你应对大数据相关的挑战和要求。数据库基础服务能够支持你处理来自任何数据源的结构化(OLTP 和 OLAP)和非结构化数据,并提供多种存储选项,支持你基于同一平台高效处理数据。处理功能可以简化几乎所有类型的数据处理,支持情感分析、预测分析以及其他操作。集成服务可以帮助企业与几乎所有数据源实现互联,并满足 Lambda 以及其他与大数据处理有关的架构准则的要求。最后,应用服务为所有基于 SAP HANA 运行的应用提供了一流的感官,并帮助你基于同一平台运行各种应用,进而简化系统架构。
大数据的业务场景和数据流
在介绍了 SAP HANA 平台的各个要素之后,我们现在来分析一下这些要素如何相互作用,以及他们如何帮助企业以最佳方式满足大数据需求。
本节,我们将探讨典型的大数据场景和相关的数据流。这将有助于你更深入地了解不同存储和数据处理选项的特征。我们将重点讨论两类场景:
如何存储和处理传入的外部数据
如何处理企业应用数据的生命周期(以及相关的不同存储层之间的老化数据移动)
如前面章节所述,SAP HANA 平台包含基于内存的数据存储器和基于磁盘的数据存储器,支持关系型数据、文本数据、空间数据、序列数据和图表结构化数据,并提供了 SQL、SQLScript、计算视图、商务计算资源库以及预测分析等多种不同的处理选项。从数据流的角度来看,SAP HANA 包含几种典型的数据流模式,下图为部分示例。
A
利用 SAP HANA? 智能数据流选项,企业能够实时筛选、分析、清理和预聚合传入的原始数据流。这种预处理机制既可以用来纠正传感器数据流中的异常值和缺失值,也可以用来发现预示警戒情况的模式。
B
智能数据流可以产生压缩的预处理高价值数据,这些数据存储在内存表中(实时视图),用于进行实时分析或整合基于 SAP HANA 的企业应用所产生的数据。智能数据流能够处理大量快速传入的不同类型的数据。步骤 A 和 B 对应Lambda 架构中的速度层。
C
同时,传入的原始数据将附加到一个集合了所有数据的庞大存储器 (C1) 中。如此大规模增长的数据存储空间通常被称为数据湖。通过这种方式收集的数据可用于后续的分析和信息提取用流程,期间可能会用到包括历史数据在内的完整数据集。HDFS 是一种容错、可扩展且成本相对较低的数据存储器,因此,对于存储这种不断增长的传入原始数据集,HDFS 是一个恰当的选择。当数据存储到 HDFS 之后,Hadoop 系列产品中的各种数据技术还可以对这些数据进行进一步的处理。此外,你也利用SAP
HANA Vora 查询和分析这些数据。但是,应当指出的是,原始数据不一定在所有情况下都要存储在 HDFS 中。如果原始数据为结构化数据,且 SQL 足以处理这些数据,则原始数据也可以存储在动态分层扩展型存储器 (C2) 中。
D
在 SAP HANA 平台环境中,智能数据流是首选。这是因为智能数据流具备某些独特的处理功能,并且能够利用强大的开发和管理工具,以及与SAP HANA 平台集成,降低开发和运营成本。但是如果无需实时处理传入的数据,原始数据可以直接存储在 HDFS 中。企业可以用 Kafka和 Flume 等数据收集技术代替智能数据流,管理数据路径。
E
原始数据在 Hadoop 中以批量作业的形式进行预处理,比如执行信息提取、转换、筛选、数据清理、预汇总或多媒体内容分析等。SAP HANA 也能执行相应的 MapReduce 作业。但是,根据选定的设置,这类批处理作业(Lambda 架构的批处理层)可以超越 SAP HANA 的控制范围,在 Hadoop 集群中执行。这点可以使用 Hadoop 系列产品中的处理引擎实现。预处理的结果将再次存储在 HDFS 中,并可以通过SAP HANA 访问(见步骤 F)。
F
结构化数据可以直接从 HDFS 读取到 SAP HANA。支持智能数据访问的虚拟表可用于对SAP HANA Vora、Spark SQL 或 Hive 中的数据执行联合查询。如果需要进行应用特定的处理,但又无法在 Hadoop 上通过 SQL 实现,这时就可以使用触发 MapReduce 作业的虚拟用户自定义函数[6] (vUDF)。每当调用 vUDF 时,将Hadoop 集群中将执行 MapReduce 作业,并将结果返回到 SAP HANA。考虑到这种方式的运行速度较慢,倘若基础数据不常变更,为了提高性能,结果也可以缓存到 Hadoop 上。
G
在 Hadoop 中通过批处理、vUDF 和联合查询等预处理操作产生的高价值数据可以存储在SAP HANA 的内存表中,用于不同用途,比如支持低延迟访问;利用数据库的本地引擎执行高效的数据处理;与 SAP HANA 中的其他数据有效整合等。SAP HANA 可以利用 vUDF 调用和远程查询,提取以这种方式衍生的高价值数据,或者通过 JDBC 连接,这些数据也可以从 Hadoop 推送到 SAP HANA。在 SAP HANA内存表中存储这些衍生的高价值数据有一个好处:实现低延迟的数据访问。但是,根据不同的使用案例,你可能还需要实施某种数据刷新机制。另一种替代方案是,不把结果保存在表中,而是在每次应用访问数据时执行远程查询或 vUDF。具体采用哪种方式取决于你的数据访问频率、期望的数据新鲜度以及可容忍的访问延迟。因此,你应当根据具体的使用案例作出选择。
H
数据发现工具可以利用智能数据访问,通过 SAP HANA 使用来自 SAP HANA Vora 的数据 (H1)。你也可以通过 Spark SQL 让这类工具与 SAP HANA Vora 互联,独立于 SAP HANA 数据库服务器之外发现和可视化数据 (H2)。这样,SAP? BusinessObjects ? Lumira 软件等工具就能和 SAP HANA Vora 一同发挥作用,在 Hadoop 中分析和可视化数据。但是,使用 SAP HANA 的一个决定性优势在于,SAP HANA 面向 Spark SQL 的适配器可以帮助数据分析师整合 SAP HANA Vora 中的数据和 SAP HANA 数据库中的业务数据。借助基于 SAP HANA 的数据可视化功能,任何受到 SAP HANA 支持的应用或工具都会自动受到 SAP HANA Vora 的支持,因为它们采用的是现有的界面和连接。
I
基于 SAP HANA 的业务应用可能也会产生数据。起初,这些数据因为具有很高的价值而存储在内存表中,在这里,数据可以实现低延迟访问。一段时间之后,这些数据的相关性可能会降低,它们要么被移动到扩展型存储器(动态分层)基于磁盘的表中,要么被迁移到 HDFS 中。在动态分层中,这些数据可以继续使用 SAP HANA 中的工具进行管理,支持高效查询,且依然能够选择性地更新。相反,迁移到 HDFS 中的数据无法再进行更改,但是,必要时,基于 SAP HANA 数据库运行的应用仍然能够通过虚拟表查询这些数据。
J
基于 SAP HANA 平台的数据仓储包括 SAP Business Warehouse(业务仓库应用)和 SAP HANA 中的原生建模工具。这类数据仓储不仅能够通过 SAP HANA 平台轻松使用大数据,还能简化仓储流程,让仓储流程变得更灵活、更加虚拟化和更全面。尤其在由许多系统和数据源组成的架构中,中央数据仓库可以帮助企业将存储在 SAP HANA 平台中的大数据和集中的企业数据相整合,获得全新洞察。使用 SAP
HANA 的数据仓储可以基于可靠、协调的数据打造单一的中央平台,提供单一的真实信息源。
我们曾讲到,原始的外部数据可能来自各种不同的数据源,包括传感器和机器、社交媒体内容、电子邮件、Web 内容、Web 日志、安全日志、文本文档、多媒体文件等。数据可能在 Hadoop 中收集、分析和聚合,然后提取的高价值(热)数据将被移动到 SAP
HANA 中的内存表中。下图描绘了这一过程,你可以看到从右至左蓝色箭头变成了红色。
此外,该图还展示了反向(从左至右)的典型数据流。在本场景中,高价值 (OLTP) 数据由 SAP 业务应用产生,并存储在 SAP HANA 数据库的内存表中(红色箭头)。在这些内存表中,高价值数据可以通过 SAP BusinessObjects Lumira 等分析工具实现低延迟访问。但是,不是所有的数据都具有相同的业务价值,也不是所有的数据都必须永远保存在内存中。
除了业务价值,数据还可以按数量、访问模式和性能要求分类。根据所有这些特征,不同类型的数据可以存储带有不同存储容量、性能和成本的数据存储器中。随着时间的推移,数据的价值逐渐降低,也就是说,这些数据逐渐变为冷数据,然后它们数据将被转移到延迟更高、容量更大且成本更低的不同存储层。图中,这一过程表现为红色箭头渐变成蓝色。
当考虑数据的维度值、容量和处理性能时,你会发现明显的差异。SAP HANA 中的内存存储机制拥有最佳处理性能,因此被用来存储高价值数据,而这些高价值数据的特点就是数据容量相对较低,尽管可以达到更高的容量,但是最多不过数 TB。更多的温数据和原始数据与内存存储无关,但是可以通过动态分层(适用于温数据)或 Hadoop(适用于冷业务数据、原始数据或具有未知价值的数据)得到最有效的管理。下图给出了这些技术在数据价值、处理性能和容量等三个方面的定性比较结果。
如我们所见,处理不同类型的数据有多种不同的选择。不管数据在不同的存储层中具有怎样的特征,SAP HANA 都能利用不同的处理引擎进行数据处理,正因为如此,SAP HANA 才能够充当统一的数据平台。
大数据用例
前面章节中的数据流场景介绍了大数据处理的基本原理,真实的大数据使用案例将展示具体的应用领域。每天都有新应用推出。成功的大数据使用案例已经渗透到众多领域,此处仅列举了其中的一部分:
预测消费者行为
提高安全性
掌控绩效
重新定义运营效率
管理预测性维护
预防欺诈
完善医疗研究和服务,挽救生命
打造个性化的实时促销活动
预防运动损伤
增强粉丝体验
我们将单独列举企业利用 SAP 技术的两个例子。然而,由于 SAP HANA 平台具有开放性,企业可以根据需要将 Hadoop 等其他组件以及 Hadoop 系列产品提供的技术整合到架构中。在任何情况下,当为企业设计大数据系统架构时,你都应该想方设法地简化IT 基础架构。以 SAP HANA 平台为中心构建大数据架构是你实施架构简化的一个良好开端。
预测性维护与服务用例
此用例介绍了企业如何从机器、资产和设备数据中获取有意义的洞察,从而做出更明智的实时决策和预测,并提高运营绩效。通常来说,工业 4.0 带来的全新业务模式要求企业完善资产维护流程,以最低的成本尽可能提高机器可用性。企业还必须削减零部件库存,尽量减少维护和保养流程消耗的材料数量。这就要求企业利用预测分析和算法来预测设备健康状况。
本用例中的架构设置应支持实时运营、分析和行动。同时,每天的大量事件必须与企业数据关联起来。在 SAP Predictive Maintenance and Service 解决方案的支持下,SAP HANA 平台可以满足与此用例相关的所有要求(参见下图)。
注释:金色方框表示特别重要的组件。
借助 SAP Predictive
Maintenance and Service,设备制造商和机械及资产运营商可以远程监控机器的健康状况,预测机器故障,并主动维护资产。该款解决方案既包含标准的云版本,也可以作为技术基础和定制开发项目的可重复定制解决方案进行交付,且两种选项都以 SAP HANA 为基础。
利用来自任何系统的大量数据为了满足此用例的要求,你的基础架构必须能够使用来自任何系统(SAP系统或非 SAP 系统)的数据,而且不受数据类型(业务数据或传感器数据)的限制。SAP Data Services 软件正好能满足这一要求。此外,你的基础架构应能够做到每秒读取 100-200 万条记录,并且只保留你关注的记录。SAP Event Stream
Processor 可以实现这一功能。通过集成 Hadoop,SAP
HANA 平台能够与多达数 TB 甚至是数 PB 的后端数据建立连接。
处理海量数据
预测性维护是防止资产故障的一个重要步骤。为此,企业必须对传感器数据、业务数据、环境数据、情感数据以及其他数据进行分析,发现其中的关联、模式、规则、异常值和根本原因,并做出预测。借助这一数据挖掘流程,企业可以采取相关措施,比如创建通知,修改维护时间表,预先部署零部件,调整维修计划,变更产品规格等等。SAP HANA 平台的查询引擎和规则引擎可以支持你在短短几秒内,针对从众多数据源整合的海量记录进行即席查询。该平台的 SQL、SQLScript 和 JavaScript 功能能帮助你充分利用需要多次查询的快速程序。你可以基于预测分析库的内置精密算法,执行复杂分析;利用规则引擎定义和触发业务规则。此外,你还可以利用计划引擎,扩展计划场景。文本分析(搜索和关联)对你而言将不再是问题,因为文本分析引擎能够支持你将文本作为另一个查询领域。同样,SAP HANA 平台提供的地理空间分析功能能帮助你对地理空间数据进行全面分析。在这些引擎的帮助下,你可以找出故障原因(根本原因),检测偏差,并根据传感器数据和故障信息创建预测模型。
开放式连接
SAP HANA 采用开放式连接。当你需要连接统计分析系统 (SAS) 应用时,该平台能够支持你快速重复使用你的 SAS 模型。而且,你还可以深入挖掘统计数据,甚至是利用 SAP BusinessObjects Predictive Analytics 软件,让系统给出最佳建议。由于 SAP HANA 能够处理 R 程序,如果企业将该平台连接到 R 服务器,以利用数据挖掘算法来预测库存和优化劳动力,此时你就可以重复使用你的 R 模型。通过集成 Hadoop 系统,你还可以灵活扩展,实现处理和存储海量数据的要求。你也可以使用 Hadoop 归档历史数据或进行离线批处理。
本用例要求快速关联数据并采取行动,以预测运营需求和意外故障,并自动运行触发器。在这种系统配置中,灵活的预测算法和工具将技术数据与业务数据整合于一体。机器到机器的通信方式则有助于监控活动和存储数据,以便实时生成报表。此外,要想获得有意义的可视化内容(比如 SAP Lumira可以提供的内容),先进的商务智能工具也是必不可少的。
需求信号管理用例
需求信号管理是消费品企业的普遍需求。他们希望在能够实现最高业务增长的零售商和消费者市场大展拳脚。为此,他们必须获得一个一致且全面的全球市场视图,了解各个市场的独特需求。通常来说,这些企业会使用各大机构提供的整合数据来了解需求和品牌认知情况,这样他们就能专注于真正值得关注的领域。但是,如果不能实现自动化,那么整合和协调来自各种数据源(内外部数据源)的数据就会成为一项非常耗时且极易出错的手动流程。基于 SAP HANA 的 SAP Demand Signal Management 应用能够解决数据协调和自动化给营销、供应链和销售等领域带来的最常见挑战。在 SAP Demand Signal Management 的帮助下,SAP HANA 平台进一步完善,将天气数据或社交媒体数据等数据源也纳入其中。这款应用可以充当多种用例的中央平台,比如消费品行业和其他行业内的促销优化、情感分析、需求预测以及品牌认知等。下图展示了一个典型的需求信号管理架构。借助SAP HANA 平台,你可以脱机和实时处理数量庞大、种类繁多且速度超快的数据。这些数据可以根据具体要求,存储在内存、动态分层选项或 Hadoop 中。
注释:金色方框表示特别重要的组件。
举例来说,当来自外部数据源的数据数量特别大,并且速度极快时(销售点数据就是这种情况),这些数据将采用 Hadoop 存储。
对于零售行业的客户行为分析,如果采用类似架构,你就可以基于一个预测模型将多个数据源整合至 SAP HANA 中一个中央数据存储器,该模型可以根据客户回头率和流失率等指标来确定评分。最终得出的评分可以作为客户互动情报,用于选择营销活动目标受众。这样做的目的是通过定位正确的目标受众,提高营销活动的投资回报率。反过来,这种营销优化方法不仅有望提高企业收入和利润,还有助于在各种渠道提供个性化的消费者体验。此外,SAP HANA 中经过高度优化的分析引擎利用各种技术减少了搜索次数,并采用目前可用的最佳科学算法,因而能够处理海量数据。
总之,通过部署 SAP HANA 平台,企业可以获得比竞争对手更明显的竞争优势。同时,在 SAP HANA 的支持下,SAP Demand Signal Management 为企业提供了一个中央平台来监控聚合的市场数据,而这项功能反过来又能帮助企业更深入地了解客户需求,并且专注于适当的市场,进而降低成本,提高收入。
SAP HANA 平台:
集开放、灵活、集成、可扩展等特点于一身
统一的数据平台
SAP HANA 是 SAP 的战略性平台,用于统一和整合关系型数据、文本数据、空间数据、序列数据和图形结构化数据。该平台提供了各种数据处理选项,比如 SQL、SQLScript、计算视图以及业务计算库和预测分析库等。正如前文所述,SAP HANA 平台由基于内存的存储器和基于磁盘的数据存储器(动态分层选项)组成。为此,该平台提供了多个与远程数据源集成的选项,支持数据集成、数据转换、数据质量操作、复杂事件处理以及联合查询执行。此外,该平台还提供了大量功能供你选择,帮助你基于单一平台管理大数据极富挑战性的各项特征。
SAP HANA Vora 则强调了 SAP HANA 平台的“统一”特征。这款内存查询处理器是作为 Apache Spark 的扩展组件构建的,而且是一个有效的内存查询引擎,能够围绕业务流程对数据进行更深入的分析。尽管 SAP HANA Vora 可以独立于 SAP HANA 使用,但是企业仍然可以将该处理器作于一个桥梁,连接 SAP HANA 中定期更新和访问的数据与存储在 Hadoop 数据池中的海量历史数据,进而从中获益。
对于所有数据,SAP HANA 将充当数据存取、数据建模和系统管理的中心点。将所有数据集中在单一平台对应用开发者而言是一个巨大优势,这是因为他们可以采用统一方式访问 SAP HANA 和外部数据源中的数据,比如通过 SAP SQL、SQLScript 以及计算视图访问。SAP HANA 中的内置引擎和业务功能可以加快应用开发流程。此外,将所有数据集中在单一平台还有助于实现实时业务价值分析。
SAP HANA 平台能够帮助你的企业满足数字经济时代的需求,在这个新时代,每家企业都将成为技术型企业。各行各业的所有企业都面临一个重要挑战,那就是在实时追踪业绩的同时促进创新。不用于传统的数据库,SAP HANA 做好准备,应对这一挑战,因为该平台能够消除数据孤岛,并提供一个单一平台用于存储事务数据、运营数据、仓储数据、机器数据、事件数据和非结构化数据。这个单一平台就是一个基于单一数据副本运行的实时系统,能够支持用户同时执行任何类型的业务工作。
开放与灵活
你可以利用 SAP HANA 平台的组件(包括处理引擎和数据存储器)构建一个完整的 Lambda 架构。此外,由于 SAP HANA 是开放式的,能够与其他技术集成,因此该平台可以帮助你超越 Lambda 架构,通过整合各个不同组件,涵盖其他参考架构原则。这让 SAP HANA 平台变得非常灵活,最终成为一项可持续性投资。
SAP HANA 还具有强大且灵活的搜索功能,能够支持用户搜索结构化和非结构化数据。该平台还可以通过总结、分类和调查文本内容实现情感分析;操作和分析网络关系及图表,确保其持久性,而无需复制数据。
SAP HANA 采用针对当前数据运行的预打包先进算法,并通过集成 R 服务器等方式,提供开放的预测功能和机器学习功能,进而实现预测分析。该平台还可以实现交互式计划,而无需将数据迁移至应用服务器。此外,SAP HANA 支持用户对本地生成的数据和导入数据进行清理,无需后处理。
Hadoop 适合能够无限增长的数据、结构化数据和原始数据以及需要大规模横向扩展的数据处理场景。借助 Hadoop,你可以灵活地横向扩展架构。SAP HANA Vora 是在 Hadoop 和 Spark 中支持高效数据分析的一款推荐 SQL 引擎,该引擎与 SAP HANA 形成了良好互补。为了实现高性能,SAP HANA Vora 采用了先进的算法和数据结构,并及时将查询计划编译为机器可执行的二进制代码。将SAP HANA Vora 集成至 Spark 执行框架中有利于用户重复使用各种 Spark 功能,比如 Spark API 以及 Spark 与 Hadoop YARN 等集群管理器集成的功能。[7] 集成后,Spark 程序和 Spark SQL 查询就可以利用 SAP HANA Vora 访问数据,并将该引擎与其他 Spark 数据源和数据处理模块相整合。正如前文所述,尽管 SAP HANA Vora 可以独立于 SAP HANA 平台使用,但是最理想的做法就是把该引擎集成至 SAP HANA 平台,帮助确保高效的数据处理。
简化与安全
将 SAP HANA 作为一个处理所有数据的统一平台有助于简化系统管理和软件生命周期管理,从而帮助你降低拥有成本。通过在虚拟化的环境中运行 SAP HANA,你可以在降低 IT 成本的同时,获得高效性和灵活性。SAP HANA 的企业级高可用性和灾难恢复功能的设计宗旨是为了确保即使发生故障,系统也能持续运营。
SAP HANA 提供了一系列功能丰富的工具,比如SAP
HANA 工作室、SAP HANA 主控室、SAP DB
Control Center 系统控制台、SAP Solution Manager以及 SAP Landscape Virtualization Management 软件,用于监控系统的运行情况,并高效管理数据基础架构。你还可以简化整个 SAP HANA 平台环境的安装、配置和更新流程,采用另一套丰富的工具帮助你简化部署和维护流程,同时降低成本,进而更有效地管理平台生命周期。
[1]. 在 SAP HANA 中,数据经过压缩后数量达到 TB 数量级。因此,这一数量实际上等同于传统系统中更大的数据量。
[2]. 除上述三点外,“价值”和“准确性”也是大数据的重要属性。价值是指数据能够为企业提供的投资回报率。投资回报率与数据产生的潜在收益和存储媒介的成本有关。准确性是指企业能够信任用于制定决策的数据,最终所有数据都必须确保准确性。
[3]. Apache Cassandra 是一个开源分布式数据库管理系统,该系统最初是由 Facebook 开发,用于支持其收件箱搜索功能。如需了解详细信息,请访问 DATASTAX 网站,查看“关于 ApacheCassandra”部分。
[4]. 原子性、一致性、隔离性和持久性。
[5]. 如需了解 SAP HANA 经过认证的硬件目录,请访问http://global.sap.com/community/ebook/2014-09-02-hana-hardware/enEN/index.html。
[6]. 要想利用 SAP HANA 交付和运行 MapReduce 作业,开发人员需要定义表值虚拟用户自定义函数 (vUDF)。SAP HANA 应用可以在表或视图等 SQL 查询的 FROM 子句中调用 vUDF。vUDF与 MapReduce Java 程序有关,其中 MapReduce Java 程序与函数定义一起作为 SAP HANA 数据库内容进行传输。
[7]. YARN = 另一种资源协调者 (Yet
Another Resource Negotiator)。