随着大数据应用的不断深入,越来越多的企业认识到“数据是企业的核心资产”,可是如何利用好数据却面临诸多挑战:
- 如何轻松快速地收集多种类型的数据?
- 如何低成本的解决海量数据治理和存储?
- 如何便捷的分析所有数据,从数据中发掘更多价值?
当前数据湖的提出和实践为企业提供了一种思路,下面我们就来谈谈数据湖,以及SAP在数据湖上的实现。
什么是数据湖?
数据湖(Data Lake)是随着大数据的兴起提出的一个概念,主要是为了解决大量数据的廉价存储和复杂分析而出现的统一数据管理平台,能够把不同种类的数据汇聚到一起,不需要预定义模式就能对数据进行全文检索、实时分析和机器学习等数据探索操作,其本质上是一套先进的企业数据架构。数据湖的启用能够使用户以不同方式协同快速处理和分析数据,从而做出更好、更快的决策。
从数据湖与数据仓库关系来看,既有联系又有显著区别,数据仓库是一个为分析而优化的数据库,主要针对业务系统产生的关系数据,以SQL操作为主,需要事先定义数据结构和模式,存储的数据经过了清理、丰富和转换,是可信任的“单一信息源”,结果通常用于常规报表和分析。而数据湖有所不同,它可以存储来自业务系统的关系数据,也存储来自移动应用、设备和社交媒体的非关系数据,通常不需要定义数据结构或模式,操作人员可以对数据使用不同的方法,如全文搜索、实时分析和机器学习等,来获得数据驱动的见解。因此数据仓库和数据湖对于企业来说是相辅相成的,采用不同的方式发掘数据的核心价值,共同为企业的业务决策提供支持。
数据湖的趋势和作用
数据湖的发展,是与数据仓库、大数据技术、人工智能技术和云计算技术不断继承和融合的过程,特别是在云平台上构建数据湖被越来越多的企业所认可,成为数据湖一个重要的发展方向。云计算采用虚拟化、多租户等技术满足业务对服务器、网络、存储等基础资源的最大化利用,降低企业对IT基础设施的成本,为企业带来了巨大的经济性;同时云计算技术实现了主机、存储等资源快速申请、使用,则同样为企业带来了更多的管理便捷性。利用云化技术,将数据湖部署在云上,把存储资源与计算资源独立开来,实现计算和数据各自独立扩展,弹性伸缩,因此,云平台是数据湖当前的理想工作负载,有助于组织降低成本、提高性能并更轻松地访问生成洞察的数据。
数据湖结合先进的数据科学技术和云计算的优势,可以帮助企业构建更多优化后的运营模型,为企业提供预测分析、推荐模型等能力,其作用可以从以下方面得到体现:
- 从更广泛的角度实现数据治理与数据谱系。
- 通过应用机器学习与人工智能技术实现数据探索。
- 有效支持预测分析,如客户画像、设备全息等。
- 企业信息全方位追踪与一致性保障。
- 根据对历史数据的挖掘生成新的数据维度。
- 通过集中式企业大数据中心,可以实现数据传输优化的广泛数据服务。SAP HANA Cloud
SAP在2010年发布了HANA内存计算平台,提供了多种计算引擎,数据无论是存储还是计算都在内存中完成。在2020年发布了HANA Cloud云平台,是HANA 内存计算技术的云原生实现,扩展了HANA内存计算平台的能力,逻辑结构如下:
SAP HANA Cloud 支持混合负载(HTAP)和数据分析(OLAP)、事务处理(OLTP)等,主要组件包括:
1、SAP HANA
- 采用内存计算技术提升运行速度;采用列存储方式减少数据容量
- 通过智能的多模型处理(机器学习、图、空间和文档等)处理和存储业务数据
- 无需调优即可执行实时分析和高性能事务
2、SAP Adaptive Server Enterprise
- 为SAPASE 本地部署模式的客户提供高度兼容的云架构方案
- 为SAP HANA 用户提供高速数据获取支持
- 使用SAPHANACloud 的多种功能扩展原有的SAP ASE系统
3、Data lake
- 支持现有SAPIQ 应用程序和CSV/ORC/ PARQUET数据文件
- 可以将IQ本地部署作为托管服务迁移到公共云经济高效地采集、存储和查询海量数据
4、SAP Replication Server
- 在SAP ASE 之间提供灵活、高性能的数据实时复制
- 基于双向日志的高效复制技术
- 维护跨数据库的数据事务一致性
SAP HANA Cloud, Data lake
Data lake是SAP HANA Cloud的重要组成部分中,与HANA内存计算技术相辅相成,构建了数据存储和处理的分层架构,如下图所示:
在数据的金字塔结构中,上面的两层(工作内存层和持久内存层)通常是最有价值的数据,需要立即或经常访问,顶级数据存储在内存中,这是访问数据的最快方式,但成本也比其他层更昂贵,次级数据存储在“本机存储扩展”中,这是访问数据的次佳方式,相比内存存储成本略低。中间是数据湖层,主要存储很少被修改的大量数据,在速度和容量上介于内存存储和原始存储之间。最底部为原始数据,采用文件存储系统,保存不经常访问的数据,虽然性能略差,但是容量最大,成本最低。
构建适合的数据湖层有助于在合理的生命周期内管理数据:“关键数据实时可用,紧急数据近乎实时可用,重要但较旧的数据尽快可用”。在选择适合的数据湖解决方案之前,需要考虑几个因素:
- 易于部署:提供自动部署和操作,以降低使用复杂程度。
- 可扩展性:随着企业的发展,生成的数据量也越来越大,复杂性也越来越高,要考虑系统可以根据企业的规模进行扩展,包括数据量、用户数量或工作负载的复杂性等方面。
- 速度:访问数据的速度越快,使用数据的人就越高效。
符合以上条件的HANA Cloud,Data lake是SAP提供的云端数据湖服务,逻辑架构如下图:
在部署和使用方式上, SAP HANA Cloud, Data lake支持两种方式:
- 独立方式:不依赖SAP HANA Cloud 数据库服务配置的 SAP HANA Cloud 数据湖,它不会自动连接到任何您可能拥有的 SAP HANA Cloud 数据库实例,可以使用 DBISQL、isql、SAP HANA Database Explorer 或任何受支持的数据湖客户端访问独立数据湖中的数据。
- 托管方式:是由 SAP HANA Cloud 数据库实例管理的 SAP HANA Cloud 数据湖,数据库和数据湖之间的连接是自动创建的,可以通过 SAP HANA Database Explorer使用数据湖数据,也可以使用DBISQL、isql等工具访问托管数据湖。
在数据存储上,支持关系模式(IQ模式)和非关系模式(file模式)。IQ模式是通过高效的磁盘优化关系存储海量数据,数据价值密度较高,采用SQL方式对关系数据进行高性能分析;file模式则提供对结构化数据、半结构化和非结构化数据的托管访问,这些数据以文件形式(CSV、ORC、PARQUET)存储,数据价值密度较低,可以采用Rest API或者通过SQL on File方式访问数据。
SAP HANA Cloud, Data lake IQ
对于大多数企业来说,业务数据的积累和对业务分析的支撑主要是依靠关系数据,因此对关系数据的支持仍然是Data lake的重点,Data lake IQ就是基于著名的SAP IQ云化的组件,用于对企业的海量关系数据进行高性能分析,延续了SAP IQ的主要特点:
- 成熟稳定的列式架构,实现最佳数据压缩和更快的分析处理
- 以更经济的成本存储并查询PB级别数据(分析应用的总体拥有成本最低)
- 最适合查询海量数据,能够针对使用模式进行效能分析
- 高速数据加载和导出能力
- 支持HANA体系的数据分级存储
结合云端构建的优势,Data lake IQ还具有以下独特之处:
- 通过 SAP HANA Cloud 自动配置和管理,简化管理
- 高度优化的智能数据访问连接(SDA)
- 通过单一访问层,可以同时访问数据湖中存储的数据和内存中存储的数据
- 独立于 HANA Cloud数据库的弹性扩展设置
- 可以访问云服务提供商云存储(例如AWS S3、Azure Blob等)
- 简单的计量方式:计算资源(vCPU)、存储资源(TB)和网络资源
SAP HANA Cloud, Data lake file
在非结构化海量数据的处理上,Hadoop体系具有良好的成本/效益优势,SAP HANA Cloud, Data lake file结合了Hadoop存储技术,将数据保存为CSV、ORC和PARQUET等文件格式,通过低成本的云存储和重要数据压缩相结合等方法来提高存储效率,对外提供直接访问的REST API接口,还结合Data lake IQ,通过SQL on File技术提供SQL支持。
HANA Cloud,Data lake file包括两个组件:
- 托管对象存储:支持存储任何结构化、半结构化和非结构化数据,可用作外部来源数据的存储区域,满足数据导入/导出的要求,支持智能数据分布(例如数据分层),还提供SAP HANA Cloud 诊断和跟踪文件、备份、审计日志等的内部使用情况支持。
- 存储网关:主要管理文件版本、权限等,提供跨 hyperscaler (WebHDFS) 的一致 API 和文件命名,并且支持联合来自外部对象存储的文件。
通过Data lake file组件,可以满足企业的以下需求:
- 允许对具有未知值的关系数据进行较低的总体拥有成本分析:在将数据上移到 IQ、NSE 和 HANA DB 之前对其进行预发掘和过滤,或者出于监管目的必须保留且很少被查询的数据。
- 操作其他工具使用的数据文件,如Hive、Spark等具有特定格式(ORC、PARQUET)的文件,或者存储在其他对象存储中(其他位置)的数据,不需要对这些数据文件进行重构。
- 通过SQL on File技术与 HANA Cloud, Data lake IQ 紧密集成,采用SQL同时操作IQ 表和文件表:可以将 IQ 表与文件表连接,可以使用创建外部表/更改数据源的 DDL,还可以在执行查询时候可以下推可由文件服务评估的本地谓词,在连接优化之前完全执行扫描,从而加速全文检索等操作。
总结与建议
数据湖对一个企业的数字化转型和可持续发展起着至关重要的作用。构建开放、灵活、可扩展的企业级统一数据管理和分析平台,将企业内外部数据随需关联,打破了数据的系统界限。
利用数据湖智能分析、数据可视化等技术,实现了数据共享、日常报表自动生成、快速和智能分析,满足企业各级数据分析应用需求。
通过数据湖深度挖掘数据价值,助力企业数字化转型落地。实现了数据的目录、模型、标准、认责、安全、可视化、共享等管理,实现数据集中存储、处理、分类与管理,实现报表生成自动化、数据分析敏捷化、数据挖掘可视化,实现数据质量评估、落地管理流程。
SAP构建的 HANA Cloud, Data lake可以有效的支撑企业的业务需求,通过关系数据(IQ)和非关系数据(file)的处理,可以覆盖企业的全业务范围,提供高质量的数据湖服务。
作者介绍
徐正君 SAP 创新工场, 资深系统架构师
徐正君具有二十多年的IT行业经验,就职于 SAP已经十年以上,曾在中国网通、清华同方、东软集团等多家大型企业担任技术主管,项目经理,产品总监等职位。主要关注“数据库、大数据和云计算”方向,主持和深度参与过多个大中型电信、电力和政府的项目,为中国移动、国家电网、中国石化、三一重工、华为等数十个企业提供服务和支持,在项目管理、产品管理和技术支持具有丰富的经验,擅长操作系统、数据仓库、数据管理、数据分析等基础技术领域,著有《Sybase IQ 实战指南》。