今年是 SAP HANA 发布十周年。随着 SAP HANA 的诞生,SAP 成为了世界领先的内存计算数据库厂商。SAP HANA 也是 SAP 历史上成长最快的产品,全球业已超过32,000个客户。谨以此文回顾 SAP HANA 的十年持续创新之路。
01 PART Hasso 的新架构
Vishal Sikka(史维学)博士曾于2002年到2014年就职于 SAP,曾任 CTO 一职。他在后来的博客文章中回忆说,HANA 开发项目于2009年秋天开始,但是内存数据库的研究早在几年前就开始了。最初的研究从1998年就由 SAP 创始人 Hasso Plattner 资助的 HPI (Hasso Plattner Institute 即哈索·普拉特纳研究所) 进行,同时与斯坦福的设计思维学院 (D.School) 紧密合作。Hasso 本人非常积极地参与到这个内存数据库项目,并且于2009年的 SIGMOD (数据管理国际会议) 学术会议上发表了 A Common Database Approach for OLTP and OLAP Using an In-Memory Column Database(使用内存列式数据库的 OLTP 和 OLAP 通用数据库方法)这篇论文。
SAP 创始人 Hasso Plattner 鼓励我进行了一项被称为 HANA 的实验,用于 Hasso 新的架构,我们的团队与 HPI(哈索·普拉特纳研究所)和斯坦福大学一起展示了如何实现全新的应用程序架构 ,它以一种在财务应用程序中从未有过的方式,实现对每笔交易的实时复杂的分析和聚合。
——《永恒的软件》作者: Vishal Sikka
在 OpenSAP 的教程《An Introduction to SAP HANA》中, Vishal Sikka 博士介绍了 HANA 的历史,并提到了一些 HANA 的构建元素,其中包括:
- P * TIME 的内存行式存储数据库:2005年,SAP 从 Sang Kyun Cha (车相均)教授手中收购了国立首尔大学成立的初创韩国公司 Transact in Memory
- Text Retrieval & Information Extraction (文本检索和信息提取,TREX):在该技术用于 HANA 之前,TREX 首先被应用于 SAP 的商业智能加速器/数据仓库加速器 (BIA / BWA)。当然,有很多人参与了这些产品,但是如果我们不得不说一个名字的话,那就是 Franz Faerber,在 HANA 之后,他还曾负责过 SAP 的大数据产品研发。
openSAP 课程 – SAP HANA 介绍
02 PART 高性能分析套件
在早期,我们发现在代码、发布说明和市场营销资料中,我们使用了不同的名称。例如:IMCE 或者是 IMDB 指代内存计算引擎,HDB 指代混合数据库(行、列和对象存储)。NewDB 作为开发代号,当然还有高性能分析设备(High Performance Analytic Appliance) 。设备(Appliance) 这个概念对于 SAP 来说倒不算全新,于 2005 年发布的 BIA/BWA,也是一种设备,最初被称为 HPA (高性能分析,High Performance Analytics) 。设备化发布软件对于 SAP 合作伙伴的硬件进行优化,这为快速创新提供了非常稳定的硬件环境。
我们以创纪录的方式构建了HANA,她最终在 2010 年 12 月 1日向客户发布,并于 2011 年 6 月 20 日正式发布(GA)。
——《软件与增强人类潜力:在 TechEd 前夕的一些思考》作者: Vishal Sikka
编程模式的转变
在最初的两年中,SAP HANA 迅速从数据设备演变为平台。SAP HANA Extended Application Services(XS)为 HANA 增加了应用服务器、代码库、开发环境、SQLScript、SAPUI5 SDK 与其它一些支持原生应用开发的工具,使 HANA 支持 Web 应用。很快代码接近于数据(Code-to-Data)与利用 CDS (核心数据服务,Core Data Services) 的代码下沉(Code Pushdown)这样的编程模式转变就被引入,用于加速计算性能。
代码接近于数据 (Code-to-Data) 与代码下沉 (Code Pushdown)
实时数据平台
SAP HANA 是实时数据平台(RTDP) 的一部分。RTDP 包括用于数据虚拟表访问的 Smart Data Access (智能数据访问,SDA) ,这个特性也在最近发布的 SAP HANA Cloud 中用于数据湖连接。其它的一些智能特性也相继被引入,比如说有些来自于 Sybase 并购,像是基于 ESP (事件流处理,Event Streaming Processing) 的 Smart Data Streaming(智能数据流),其可以用于物联网数据连接;基于 IQ 的 Dynamic Tiering(动态分层)用于数据分层;基于 SQL Anywhere 的远端数据同步。同时还有 Smart Data Integration (智能数据集成,SDI) 与 Smart Data Quality(智能数据质量,SDQ)等 ETL 相关特性。
初创企业激励计划 (Startup Focus)
为了推广 HANA 技术开发应用,SAP 向其合作伙伴与开发者社区采取了不同的活动。如 2012 年开始初创企业激励计划 (Startup Focus,现在已经是 SAP PartnerEdge 的一部分),初创企业论坛、SAP 大数据巴士、SAP HANA 创业激励计划。值得一提的是,这些活动在中国也都有所开展。
SAP HANA 学院
SAP HANA 学院自 2012 年开始,向开发者提供免费的视频培训。其第一年就收获了 10 万次观看,并且目前已经有超过 6 万人订阅,总计 1,000 万人次观看。
SAP 中国研究院团队的参与
SAP HANA 研发是全球合作的产物,研发团队遍布于十余个国家。特别值得一提的是,SAP 中国研究院团队,在最初期就参与到 HANA 的研发,负责 SAP HANA BFL (商务函数库,Business Function Library) 、SAP HANA PAL (预测分析库,Predictive Analysis Library) 与 SAP HANA R-Integration (R语言集成) 的部分,也就是 HANA 中的机器学习。这些功能于 2011 年即开始在 HANA 内发布,在那时,甚至机器学习这个概念还远不如现在这么流行。时至今日,SAP 中国研究院仍有近两百人参与到 HANA 的研发工作中来,同时有相应的 HANA 支持团队与实施团队服务于客户。
03 PART 基于 SAP HANA 构建
几乎在 SAP HANA 推出之后的同时,就已经有应用可以利用到内存计算,比如说 SAP APO (高级计划优化器,Advanced Planning & Optimization)。但是对于大型应用的迁移,自然还是需要一些时间。基于 HANA 的 SAP 数据仓库 (Business Warehouse) 于 2012 年发布,一年后基于 HANA 的 SAP Business Suite 也成功发布。
在此之后,应用程序将不单单是简单运行在 SAP HANA 之上,而将针对 SAP HANA 进行开发与优化(并且不能在其他任何数据库平台上运行)。这次 BW 与 BS 的发布顺序恰恰相反,2015 年 S/4HANA 发布,而 SAP BW/4HANA 则是在 2016 年。这些应用充分利用 HANA 的优势,消除聚合表,对于数据进行自动压缩等,极大提升了运行效率。
对于 2010 年代初并购的云 SaaS 解决方案,则需要更长的时间进行迁移,不过至今为止,所有 SAP 软件都已经在 SAP HANA 上运行。迁移到 SAP HANA 之后,SAP SuccessFactors 解决方案能够支撑高达到每天 10 亿次事务的峰值。SAP Customer Experience 解决方案导入数据的速度快了 65 倍。利用 HANA 的数据压缩特性,SAP Sales Cloud 的数据压缩率高达 10倍。SAP Ariba 通过 HANA 迁移,将其云健康指数 (Cloud Health Index,计算与页面响应时间相关) 提高了18个百分点。
04 PART 创新、加速与简化
在2014年,随着5周年发行版 SPS10(2015年6月)的推出,HANA 开始定位于「服务于所有应用程序的平台」。
利用容器概念支持云
2014年,云环境的支持首次被提出,SPS 09引入了多租户数据库容器(MDC)系统,后称租户数据库。不过 HDI (HANA部署基础架构,HANA Deployment Infrastructure) 中所用的容器与 Dockers 或者 Kubernetes 中使用的容器,两者是类似的概念,但是采用的是不同的技术。
SAP HANA XS Advanced
对于特定于 SAP HANA 平台的应用程序原生开发,2015年 SAP 向该平台(SPS 11)添加了一个新的应用程序服务器环境,称为 XS Advanced(XSA)。
现在,最初的XS实现被标记为经典版本,但是除了名称和部分功能(如支持 Java 和 JavaScript)之外,两者环境几乎没有共同之处。XSA 将 Cloud Foundry 技术与 HANA 数据库开发相结合,并为所有原生 HANA 应用程序提供支持。您可以将其视为「CF / 4HANA」。SAP 是开源 Cloud Foundry 的早期赞助商与主要贡献者,该技术是 SAP Cloud Platform(云平台)的核心。
SAP Cloud Platform(云平台)架构
SAP HANA, Express Edition
SAP HANA 速成版是开发人员社区中备受期待的版本,它为用户提供了免费的下载,可以进行相应的学习与试用。
05 PART SAP HANA 2.0 – 下一代平台
数字化转型
SAP HANA 遵循6个月发布一个 SPS(服务包堆栈,Support Package Stacks)版本的做法,并且中间以 Revision(修订版)的形式进行安全与修复更新。
SAP HANA 2.0 SPS 00于2016年11月在 TechEd 2016上发布。与之前的SAP HANA 1.0 SPS12类似,同样是遵循了6个月的发布周期。不过它是一个重要的发布版本,成为2.0,定位于「下一代数字化转型平台」。
企业的第一要务就是实现数字化转型。IT 系统需要快速适应以迅雷之势兴起的各种技术和业务模式,SAP HANA 平台可以替换复杂的系统和孤立的应用,推动企业转型。该平台能够支持各种现代化应用,帮助客户重构业务流程,始终利用最新的数据交付实时洞察。
除了上文已经提及的租户(Tenant)数据库、XSA 等功能外,SAP HANA 2.0引入了大量的创新。例如基于网页的 SAP HANA Cockpit 与 SAP Web IDE 代替了原有的基于 Eclipse 的 SAP HANA Studio,用于系统监控运维与 SQL 开发。
SAP HANA Cockpit
此外,还有很多新的特性被引入,比如说数据、日志与备份的加密、与 Intel 合作的对于持久化内存(PMEM)的支持、用于温数据储存的 Native Storage Extensions (原生储存扩展,NSE)以及快速重启以及性能上的一些改进。另外 HANA 也开始支持 Active/Active(双活)系统复制,并且具备更好的高可用与灾备能力。
持续创新的坚实基础
最新版本的 SAP HANA 平台版本于2020年6月发布,是2.0 SPS05。它被称为「持续创新的坚实基础」。在最新版本中,对于云的支持被提升到了更高的优先级。特别是,对于混合云的支持也被引入进来。例如,用户可以直接将按需部署的 HANA 系统备份与公有云集成,此外,对于混合云的数据复制和分布式处理也得以支持。NSE 开始支持 Scale Out(横向扩展)系统,对于空间数据、图与机器学习、预测分析等功能也进行了进一步增强。
《SAP HANA 2.0 – 简介》
无论您是刚刚开始了解 SAP HANA,还是开始计划2.0的迁移,无论您是开发人员还是数据库管理人员,如果您想了解 SAP HANA 2.0的更多细节,推荐您可以参考《SAP HANA 2.0 – An Introduction(SAP HANA 2.0 – 简介)》一书(英文版)。
网址:https://www.sap-press.com/sap-hana-20_4884/
06 PART 云端的 SAP HANA
SAP HANA as a Service (HaaS, SAP HANA服务)
SAP HANA 的云版本最初起源于2012年在 AWS (Amazon Web Services) 上的 SAP HANA One。在2018年4月2.0 SPS 03发布之后,SAP 发布了SAP HANA Cloud Edition(云端版),即 SAP HANA as a Service (HaaS, SAP HANA服务) 。SAP HANA 服务可以为用户提供跨多云平台的自助式云数据库服务,具备即时配置、弹性缩放、按量计费、SAP 全托管运维等优点。
在中国,2017年 SAP 也与阿里云合作推出了 HANA One。2019年11月,SAP HANA as a Service (HaaS, SAP HANA服务) 也已经与 SAP Cloud Platform(云平台)一同在阿里云上落地。
SAP HANA Cloud
从技术上讲,SAP HANA 服务运行于在云中的虚拟机上。借助 SAP HANA Cloud,新的方向得以发展:SAP HANA 现在基于 Docker 容器并且是云原生 K8S 化的。
此外,SAP HANA Cloud 可处理任何类型的数据,无论大小,结构化或非结构化。它可以支持大规模的数据存储与处理,这种情况下,数据很可能超过内存的容量。因此,它支持磁盘储存与数据湖(Data Lake)特性,并且可以与公有云的对象存储直接集成。
SAP HANA Cloud 已经于2020年3月份发布,也计划于2020年底,在中国阿里云上落地。
07 PART SAP HANA 与业务技术平台
智能企业
当我在 Hasso Plattner Institute(HPI)中,攻读博士学位,研究针对内存数据库优化的新应用程序时,在2010年,我有机会作为代表介绍了 HPI 为 SAPPHIRE 开发的最初的几个 SAP HANA 演示之一 ——催款应用程序。
——SAP HANA 革命 (The SAP HANA Revolution) by Juergen Mueller(2020)
Juergen Mueller(穆悦庚)于2018年加入 SAP 董事会,担任 CIO(首席创新官),现为 CTO(首席技术官),并于去年在 SAP TechEd 上展示了智能企业的「业务技术平台」。
SAP 业务技术平台
SAP 的业务技术平台为智慧企业战略提供智慧支持。这款集成式产品由四个技术组合构成(数据库和数据管理、商务分析、应用开发和集成、智能技术),支持用户灵活地选择 SAP 技术,进而深入了解 SAP 应用和第三方应用中的数据和流程。在此过程中,用户可以通过以业务为中心的服务来加速将数据转化为业务价值。而 HANA 与 SAP HANA Cloud,正是业务技术平台的核心构建。
此外,分析师也一致确认了 SAP 的数据库战略:2019年,SAP 连续第七年在 Gartner Analytics 数据管理解决方案魔力象限中被评为领导者,最近还被评为 Forrester Wave 数据管理领导者。
对于绝大多数客户而言,他们需要访问以了解其业务的数据,不再仅仅包含在企业的内部。数据可能来自从智能设备到社交媒体这样的不同来源。尽管企业对于数字化、以及所有这些数据带来的可能性感到非常兴奋,但他们仍在努力开发其全部潜力。即使许多企业可以访问 PB 级的数据,但大多数企业最多只能使用TB级的信息。他们经历了我们所谓的「数据沼泽」。
企业正努力管理其数据价值链并从中获取价值。这包括对数据的访问,数据的存储,数据的质量和一致性,以及如何使用和利用数据。作为回应,SAP 的使命是建立一种新的数据库和数据管理方法。目标使客户能够从可用数据中获得最大价值。为此,我们利用了 SAP HANA 的辉煌-相同的速度,相同的简单性和相同的便利性——并将其过渡到新的环境中。
传统关系型数据库曾经是企业应用的基石,曾经有人质疑,内存计算是否真的可用并且广泛应用于企业的数据资产,在那时,关系型数据湖与云端数据库也更像是个遥远的梦想。快速飞跃的十年,SAP HANA 已经成为智能企业的引擎,超过32,000个客户正从中受益,它也是 SAP 历史上成长最快的软件。回顾这十年的成就,SAP HANA 顺应企业发展与技术变革趋势,不断的进行创新,我们坚信在未来,SAP HANA 会更好更深入地帮助企业了解自身、变革其组织与工作方式,更好地迎接未来挑战。