跟我学SAP HANA:做大数据时代的领航者(txt+pdf+epub+mobi电子书下载)


发布时间:2020-08-12 09:30:54

点击下载

作者:尹东升,陈磊,周斌

出版社:清华大学出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

跟我学SAP HANA:做大数据时代的领航者

跟我学SAP HANA:做大数据时代的领航者试读:

前言

SAP HANA问世已经有两年多了,相信大家通过各种渠道或多或少都了解了一些SAP HANA的主要特点,并对其前景有充分信心。与此相对应的是,大家可能从SAP 官方网站得到大量的 SAP HANA 相关的英文知识点,但是用中文系统地涵盖SAP HANA各方面基础应用的书籍却极其罕见。编写此书的主要目的,就是把关于SAP HANA 的基础知识用最简单易懂的形式呈献给大家,使得大家能够快速入门SAP HANA这个SAP公司推出的拳头产品,加快SAP HANA在中国的普及应用。书中的所有内容,都来源于我们自身对SAP HANA的深入了解以及在工作中参与的SAP HANA相关项目的经验总结。我们将这些内容整理成一个个知识点,在为每个知识点做讲解的同时,配以章节小结和练习来帮助大家巩固和掌握这些知识点。本书适合任何想进入SAP HANA世界又不知从何开始的读者,哪怕你以前并没有数据库与 SQL基础,本书的内容也不会让你望而却步。如果你对 SAP HANA已有一些了解,本书也是很好的实施指导手册,可以清晰地告诉读者在实施时应该做什么和不应该做什么。

为了照顾不同的读者群,我们将这本书分为两部分:第一部分主要面向想了解SAP HANA基础知识的读者,在这里我们首先介绍了 SAP HANA所涉及的关于大数据、内存数据库以及内存计算相关的知识,这些基础知识是进入 SAP HANA 的敲门砖。随后我们进一步介绍 SAP HANA 的平台组成以及运用场景和系统构架,你将能从整体构架的高度来深入了解 SAP HANA 这个创新平台的组成以及特性。在第一部分的最后,你将会了解关于SAP HANA的一些实际应用案例以及SAP HANA相关实时资料的获取方式。

通过第一部分的阅读,你已经能从整体的角度对 SAP HANA 有比较详细的了解。但是如果你是偏技术性的读者或者想更加深入了解和运用SAP HANA,那么你可以通过第二部分的阅读来了解如何在 SAP HANA中管理用户和权限,如何基于内存数据库创建列存储的数据表以及进行数据导入,如何使用工具来创建 SAP HANA的数据模型,还能够在掌握这些知识点后利用 SAP HANA SQL及存储过程进行数据开发和分析。这里需要着重指出的是,在第二部分的最后几章里,我们详细描述了诸如OData、SAP HANA XS以及R语言集成这些非常实用的内容,并提供了大量的可操作性案例来帮助你理解如何基于SAP HANA这个平台来创建基于SAP HANA的原生应用,你可以亲自体验使用 SAP HANA 提供的开发工具在短短的几分钟内创建这些原生应用的轻松又令人兴奋的操作过程。

可能有读者会问,SAP HANA的服务器对于个人来讲非常昂贵,那我怎么能在阅读本书的同时完成相应的练习呢?在这里,我们贴心地为读者准备了一个章节,在这个章节中我们会告诉你怎么样申请一个基于“CloudShare”的免费的30天SAP HANA 实例,以及在这个实例免费期到期后如何操作。其实在本书的其他章节中,这样的例子比比皆是,我们在本书的编写过程中一直遵循读者至上的宗旨,尽我们最大的能力使读者能在轻松愉快的氛围内完成本书所有操作和练习工作。

最后,我们希望大家在读完本书后,可以通过本书介绍的SAP Community Network与我们进行沟通,同时把你们的问题或者本书的不足反映给我们。我们将会不定期对大家提出的典型问题进行解答,或者编写一些最新的心得体会和大家分享。尹东升 陈磊 周斌2013年11月于上海致谢

首先我们要感谢 SAP中国研究院院长李瑞成博士。李博士在得知我们写书的创意后表示了极大的赞同和支持,并亲自在本书编写的初期和我们一起从构架的高度为本书的主要目标和内容提出了指导性意见,在本书初稿完成后,他亲自审稿并对本书的内容提出了很有价值的修改意见。

另外我们还要特别感谢SAP 中国研究院首席构架师王钊。他在百忙中从头到尾仔细阅读了我们的手稿,并针对本书的技术细节和案例实现方式提出了不少建设性的意见和建议。我们从中获益匪浅,并针对这些意见和建议对本书的内容做了大量修正和改进工作。与此同时,我们要感谢我们的同事王天越,她在工作之余对于本书的文字以及排版做了大量细致的修改,并对本书中很多段落进行了补充和润色。

最后,感谢 SAP中国研究院的全球创新应用设计研发团队在案例及练习部分给予我们的大力支持。我们还要感谢部门领导对于此书的大力支持。同时感谢我们的同事们,多年来能与这些同为 SAP中国研究院的精英们共事,我们感到很开心,谢谢他们在平时工作中给予的支持与帮助,我们将与他们在研讨会或者项目合作中所积累的点点滴滴的知识也一并在书中为大家呈现。第一部分SAPHANA基础知识篇第一章认识SAPHANATM

2011年,SAP 公司将 SAP HANA作为成熟的产品和解决方案向全球进行推广,引起了数据库领域强烈轰动。时至今日,SAP HANA以其突破性的实时分析能力,在全球范围内已经给诸多客户的业务运营方式带来根本性的变革,并成为 SAP史上用户数量增长最快的产品之一。

在本章节中,我们将详细介绍关于SAP HANA这一 SAP全新平台的基础知识,包括什么是 SAP HANA, SAP HANA 能做什么。之后的章节中我们还将提到 SAP HANA的应用案例及如何得到最新的关于SAP HANA的官方资料等。第一节 SAPHANA源起

近十几年来,随着企业信息化的全面普及,越来越多的 IT系统(如 ERP系统、企业电子商务网站、HR 系统等)为满足企业的日常运营需要逐渐被应用。随之而来的问题就是,企业用来进行分析决策的数据大部分分散在这些系统中间,难以有效地采集。同时,为这些数据建立统一视图,也是一个非常繁琐而又费时的过程。这些原因导致目前绝大部分企业的决策制定都是基于过时数据之上的,而无法根据最新数据进行实时分析决策。那么,有没有一种方案能够把企业这些分散的数据快速高效地收集起来,并以之作为企业实时分析和制定决策的基础呢?

自1970年关系型数据库首次被提出,其四十多年来都是围绕着一个几乎一成不变的理念,那就是数据库的数据都是存储在硬盘上的,只有需要时系统才会把数据“抓”到内存中做运算。但是由于企业的不断发展,其存储的数据量已经从原来的 KB 级、GB 级迅速呈 TB 级增长,数据类型也不知扩大了多少倍。在这种情况下,关系型数据库能否承载这些海量的、结构异常复杂的信息环境?与此同时,硬盘的容量虽然不断扩大,但其数据传输速度却鲜有提升。当前,物理硬盘I/O瓶颈的存在使得传统数据库在处理大量数据,尤其是涉及大量数据的范围查询时,会消耗大量的时间,导致效率十分低下。那么,有没有一种办法能够彻底消除硬盘的I/O瓶颈,实现在数据处理过程中数据与处理器之间迅捷的互动呢?

当你使用Web搜索引擎搜索一个关键字时,每次按下回车键,浏览器即刻(通常是亚秒级响应)会把与搜索关键字相关的条目列出来。可能第一次出现的结果列表很模糊,但是你可以基于这些结果立即在列表内展开第二次或第三次搜索,直到找到你想要的结果。搜索引擎的快速响应,保证了你有足够的耐心去寻找结果。而在企业应用里面,这种亚秒级的查询响应非常少见,特别是一些涉及大量数据的复杂查询,终端用户往往需要等待几十分钟或者几个小时才能得到结果。由于时间过于漫长,用户可能已经没有兴趣再做进一步查询来挖掘数据更深的价值或者已经转向别的工作。特别是随着现在基于企业应用的移动终端设备大量普及,用户在这些设备上等待结果超过一分钟都是无法忍受的。那么,有没有一种平台,能够帮助企业级应用在此平台上实现如同搜索引擎一样亚秒级的用户响应呢?

假如你是企业前端工具(报表、查询工具、数据分析工具、数据挖掘工具)的开发者,你是否已经厌烦了数据抽取、数据上载、数据清理、数据集成、数据建模、数据组织,以及建立查询和信息立方体等一系列把数据从传统数据库转移到数据仓库,然后再转移到分析系统,最终到达前端工具的复杂数据操作?那么,你有没有想过如果数据库帮助你完成所有和数据运算相关的工作,你的应用只需要把数据库运算的结果数据展现出来将会怎样?不容置疑,这将大大减轻你的工作量,开发时间也会相应大幅缩短。而企业将是最大的受益者,因为开发效率的提高会节约大量的企业应用开发成本。

到目前为止,我们罗列出了一些企业常见的令人头疼的问题,总结起来为:● 如何快速高效地收集企业大量的分散在各处的运营数据来为企业的决策提供实时分析?● 如何完全消除传统硬盘的I/O瓶颈使数据处理快速进行?● 如何能让企业级应用达到和当今搜索引擎一样的亚秒级响应?● 如何能让数据库应用的开发者只考虑应用的本身,而不用在意数据层面的复杂运算?

是的,上面任何一个问题都非常棘手并且难以解决。但我们要告诉你的是, SAP HANA,这个 SAP公司在2011年发布的划时代的变革性解决方案,一举解决了上述所有的问题。不要惊讶,随着本书的深入,你会发现对于当今热门的“大数据”和“云计算”所提出的一些挑战,SAP HANA也提供了非常好的应对方案。好了,闲话不说,让我们先来认识一下SAP HANA吧。第二节 先进的平台,前所未有的体验

经常会有人问,SAP HANA 到底是什么?“它是 SAP 新发布的分析报表系统吗?”“它就是个内存数据库,对吧?”“我觉得它就是个数据仓库。”面对这些问题,我们颇觉得有点盲人摸象的感觉。也许这些提问者或多或少了解一点 SAP HANA的知识,但是由于不够全面,他们常常以点代面,以偏概全。TM

让我们首先来了解下 SAP HANA 到底是什么。SAP HANA,英文全称为SAP High-Performance Analytic Appliance,即SAP高性能分析设备,是一个由硬件(通过SAP硬件合作伙伴提供)及整合了基于硬件优化的SAP软件的模块组成的,专注于实时大数据分析和应用的先进平台。

我们知道,信息是当今企业的生命线,企业需要实时了解业务的运营状态。但遗憾的是,由于企业运营的数据量通常非常大,传统的磁盘系统无法在合理的时间内处理完成请求的数据,最终迫使企业不得不削减从运营应用程序导入分析模型的数据量,导致决策者对运营状况的了解大大滞后于采集的相应数据。通过部署 SAP HANA,企业能够把企业当前的和历史的海量数据全部放到服务器的内存中进行存储以及处理,彻底消除了传统数据库中物理硬盘 I/O 延时这一最大的性能瓶颈,通过SAP出色的内存计算技术,企业级应用可以对企业所有运营数据进行实时预测分析,并将结果迅速展现给终端用户来制定下一步决策。不仅如此,SAP HANA平台把事务数据处理(OLTP)、分析数据处理(OLAP)以及应用逻辑处理等功能集于一身。这一开创性的变革彻底消除了以往企业日常业务运行数据和决策分析数据需要分别处理的壁垒,应用开发者无需提前对原始数据进行数据建模和物化聚合,由此消除了程序开发的复杂性,这使开发者可以以更直接和清晰的方式创建基于 SAP HANA 平台的应用,实现了数据库应用的快速开发。目前来讲,企业不仅可以通过单独购买 SAP 硬件合作伙伴提供的装有预配置软件的设备在企业内部部署 SAP HANA,也可以通过SAP云服务(SAP HANA Enterprise Cloud)来帮助企业管理和运维SAP HANA系统。如此一来,企业可以以更低的总体拥有成本更快速地实现价值,同时还可以畅享由世界领先的企业应用软件供应商SAP所提供的灵活性和可靠性。

图1-1为完整的SAP HANA构架图。从图中我们可以看出SAP HANA主要由SAP BusinessObjects 数据服务组件、实时数据同步模块、SAP HANA 内存数据库、SAP HANA Studio组成。其中SAP HANA的内存数据库(SAP HANA In-Memory Database, IMDB)是其重要组成部分,包括内存数据库服务器(In-Memory Database Server)、建模工具和客户端工具(ODBO、JDBC、ODBC、SQLDBC等)。SAP 内存计算引擎(Computing Engine)是其核心,负责解析并处理对大量数据的各类操作,支持SQL和MDX语句、SAP和非SAP数据。在这个平台之上,用户可以构建数据仓库或数据集市、报表和仪表盘等,并可以通过SAP HANA平台的扩展服务来开发基于SAP HANA的新应用。图1-1

SAP HANA的主要特点有:● 软件+硬件(HP, IBM, Cisco, Dell等)的结合体● 数据管理和数据建模● 实时数据同步● SAP BusinessObjects数据服务组件不仅提供在SAP自身应用,如SAP Business Suite、SAP NetWeaver Business Warehouse,同时也支持非SAP的第三方应用的数据采集—传输—上载功能。SAP HANA的能力主要有:● 以史无前例的速度对海量非聚合数据进行实时分析● 灵活的分析模式● 多样的分析功能

好了,解释完 SAP HANA 的整体概念,接下来的小节里面将重点介绍 SAP HANA 的基本组成模块,如 SAP HANA 内存数据库、SAP 内存计算等。而在下一部分——SAP HANA 实践篇里面,会详细介绍更多的模块,例如数据同步、SAP HANA Studio和SAP HANA平台的扩展应用。

在谈到基础模块之前,我们首先要了解一个概念,这不得不从 SAP HANA出现的时代背景说起。从2011年开始,哪个词最热门,被人们谈论得最多呢?当然是“大数据”(big data),而SAP HANA则是专门针对大数据做实时分析的先进平台。第三节 大 数 据

百度每天执行超过50亿次搜索。

新浪微博有5亿注册用户,每天有4650万活跃用户并发布超过10亿条微博。

微信拥有超过3亿用户,每天传送数10亿条语音记录。

淘宝网站每天有超过数千万笔交易,单日数据产生量超过50TB(1TB=1024GB)。

你有没有想过,上面这些令人惊讶的海量数据,其实就发生在我们每天的生活中。随着计算机和智能设备的普及,我们每天所看、所想、所做的事情都有可能转化为数据被记录下来并用于分析。以互联网为例,我们每天输入的搜索内容,访问电子商务网站所做的收藏、购买等操作以及论坛发帖等行为都会被记录并用于分析。除了我们自身产生的数据,遍布全球的传感器、监控器、扫描仪等设备每天更是能产生海量的数据。从2011年开始,大数据一词越来越多地被提及,人们用它来描述和定义信息爆炸时代产生的海量数据,并命名与之相关的技术发展与创新。从分析的角度来讲,大数据具有以下特性。一、申请SCN用户

我们处于人类历史上一个数据爆炸性增长的时代,我们从没有像现在一样产生如此巨量的数据。除去本小节开头那些互联网例子,再比如一个8Mbps(兆比特每秒)的摄像头一小时能产生3.6GB数据,一个城市若安装几十万个交通和安防摄像头,每月产生的数据量将达几十PB(1PB=1024TB)。医院也是数据产生集中的地方。现在,一个病人的CT影像数据量达几十GB,而全国每年门诊人数以数十亿计,并且他们的信息需要长时间保存。总之,大数据存在于各行各业,一个大数据时代已经到来。

大数据的这一特性,导致单一数据集达到TB甚至PB级别已不罕见,进而使常规的数据抓取工具无法在允许的时间内对其进行捕获,大大提高了对其进行分析的难度。二、类型多样(Variety)

大数据中包含的数据,不仅是传统的结构化数据,还包含了大量的非结构化数据。这些数据来自企业自身的业务数据,银行、股市的交易数据,更多的是来自图片、声音、视频、传感器信号、GPS 信息等广泛存在于社交网络、物联网、电子商务之中的数据。来自IDC(国际数据公司)的研究报告指出,未来几年全球数据量将以40%的速度增长,到2020年将达到35ZB(35万亿GB),其中80%~90%为非结构化数据。

大数据的核心技术之一,就是要能够在这些复杂的数据类型中进行交叉分析,从而得到想要的结果。三、实时快速(Velocity)

正如前面讲到的,我们无时无刻不在生产数据,而且这些数据在爆炸式地增长,因此,基于这些数据的分析结果随时都可能发生变化,所以时效性对于大数据分析来说非常重要。通常我们使用的数据仓库系统和 BI 应用对于时间的要求并不太高。人们对于一个大型报表运行1~2天才能出结果已经习以为常,但是对于大数据应用而言,必须要在极短的时间内形成答案,否则这些结果可能就是过时的、无效的。例如你想在早上出发前查询上班路线的实时路况,系统一个小时以后才把结果发送过来,那这个信息对你已经没有丝毫意义。

时效性要求高这一特性是大数据区别于传统数据挖掘最显著的特征,因此实时处理也成为许多提供大数据应用服务的机构需要面对的首要挑战。

综上所述,正是大数据的这些特性,决定了既有的传统技术架构和路线已经无法在合理的时间内高效处理如此海量的、种类繁多的数据。可以说,大数据时代对人类的数据驾驭能力提出了新的挑战,也为人们获得更为深刻、全面的洞察能力提供了前所未有的空间与潜力。因此,越来越多的政府、企业等机构开始意识到数据正在成为组织最重要的资产,数据分析能力正在成为组织的核心竞争力。

大数据所能产生的价值可以总结为如下5个方面:● 先见之明:通过已经发生的、正在发生的事件或实验结果发现或预测需求,洞察变化倾向;● 英明决策:自动算法代替/支持人类的决策;● 一目了然:发现数据之间的关系;● 有的放矢:细分人群,定制行动;● 推陈出新:创新的商业模式、产品和服务。

或许,以下一些案例能帮你更快了解这些大数据的价值。比如,通过对社交媒体数据、移动数据和网络数据等大数据的分析,企业可以充分了解自己的每一位客户,并结合客户的个性化特点来给出有针对性的建议或者显示广告。在这一点上,亚马逊已然做到了极致,他们为客户推荐的产品绝不是一个巧合。亚马逊的推荐引擎完全是基于客户在过去一段时间的购买行为:客户购买过的商品、客户的购物车中所收藏的商品、客户浏览过的商品、其他用户浏览或购买的商品。亚马逊通过分析和计算,为每位客户定制了专属的个人主页,帮助公司业务保持持续增长。在医疗保健领域,“谷歌流感趋势”项目依据网民搜索内容分析全球范围内流感等病疫传播状况,与美国疾病控制和预防中心提供的报告对比,追踪疾病的精确率达到97%。社交网络为许多慢性病患者提供临床症状交流和诊治经验分享的平台,医生借此可获得通常在医院得不到的临床效果统计数据。基于对人体基因的大数据分析,可以实现对症下药的个性化治疗。

可以看出,大数据这个概念发展到今天,已经不仅仅用来形容人类自身或者机器设备创造的大量非结构化和半结构化的海量数据,而更多的是指解决问题的一种方法,即通过收集、整理生活中方方面面的数据,并对其进行分析挖掘,进而从中获得有价值信息,最终衍化出一种新的商业模式。大数据可能带来的巨大价值正渐渐被人们认可,它通过技术的创新与发展,以及对数据的全面感知、收集、分析、共享,为人们提供了一种全新的看待世界的方法。更多地基于事实与数据做出决策,这样的思维方式,可以预见,将推动一些原本习惯于靠“差不多”或主观判断运行的社会领域发生巨大变革。

同样的,对于企业来讲,在当前这个信息空前融会贯通的时代,企业的市场竞争也变得复杂而深刻,技术将变成企业制胜的突破口。利用海量、多样的数据,实现快速、准确的采集和分析,将是企业实现业务模式创新、增强竞争力和提升绩效的有效方式。而能否借助IT手段让分散在企业不同系统里的数据流动起来,从而在实时变化的复杂市场环境中快速准确地做出决策,则是构成一家企业核心竞争力的重要因素。正因为如此,SAP HANA,这个“专注于实时大数据分析和应用的先进平台”,为企业提供了革命性的解决方案,它不仅能使企业实现大数据分析速度的百倍提升,及时获得更有价值的市场洞察;还能提供更全面的数据管理,为企业在激烈的市场竞争中抢得先机。不仅如此,借助 SAP HANA 的最新的支持包(截至本书出稿时,最新的更新包为 SPS06), SAP计划为企业数据中心部署 SAP HANA提供更多支持,让数据中心实现全天候运行。此外,SAP 还将扩展与第三方备份工具的集成,旨在更好地与用户现有IT基础设施进行集成和整合,最大限度降低维护成本。此外,SAP 还将增加安全增强功能,例如通过加密保护静态数据、增强型授权等功能加强系统安全性。

通过下面这个案例介绍,你将会对 SAP HANA 如何支持企业基于大数据的分析有更加深刻的理解。在2012年 SAP全球技术研发者大会(拉斯维加斯)上,SAP执行董事会成员、技术及平台产品负责人史维学博士介绍了最新的基于PB数量级的SAP HANA 性能测试。该测试是在位于美国加利福尼亚州圣克拉拉市的英特尔数据托管中心进行的。在该中心SAP和IBM合作组建了由100台IBM服务器、100TB内存以及4000个CPU内核组成的服务器集群作为SAP HANA的硬件平台。测试的数据取样于多个SAP NetWeaver BW客户,并根据这些客户使用BW系统的实际情况,创建了由1.2万亿行、61列的销售数据(即每天330万条交易数据,连续取10年)组成的大小为1PB(1PB = 1024TB = 1 048 576GB)的原始二维资料表。该数据表能够真实地反映出目前这些取样客户的真实情况,因此测试结果非常具有代表性。由图1-2可以看出,SAP HANA平台能够每小时支持112 602次查询操作,满足大于5000个查询及分析用户同时在线和并行查询的需求。并且由柱状图可以看出,大多数复杂的商业智能查询执行时间不超过1秒钟!而这样惊人的速度是在没有任何二次索引、物化视图以及数据聚合的基础上取得的,即没有使用任何传统的数据查询加速技术。这种结果和性能在传统的、以硬盘存储为基础的数据库中是难以想象的。可以说,在这个测试平台上,只要数据被加载完毕,客户就几乎能在极短的时间内得到任何基于此 PB级别数据表的查询结果。此外,他们不必提前数天要求数据库管理员或者开发人员构建结构来加快速度,也不需要等待数据库重建索引或者缓存。SAP HANA 在提供给他们提升了百倍的数据分析速度的同时,大大简化了操作流程。

图1-2是这次性能测试的一个概览结果。图1-2

SAP HANA平台在数据分析方面之所以能表现出如此令人吃惊的性能,得益于它强大的内存计算技术。而谈到 SAP内存计算技术,则首先要了解一个数据库领域划时代的产品——SAP HANA内存数据库。第四节 SAP HANA内存数据库

在讲SAP HANA内存数据库之前,我们先打个小比方。比如身在北京的你早上起来想喝杯牛奶,于是你买了一张飞往澳大利亚的机票,首先你先要从北京飞往香港等待几个小时来转机,然后才能飞往澳大利亚。终于你经过近20小时的飞行时间到了悉尼机场,接着你还要搭乘各种交通工具从机场辗转到牧场。可惜到达时已是半夜,你不得不再等几个小时到天亮后才能迎着晨曦喝到刚挤出来的新鲜的牛奶。看到这里你肯定会摇头说,姑且不计费用,这么做简直是谋杀我的时间!我直接去厨房的冰箱拿新鲜牛奶喝要不了1分钟的时间!

其实这个虚拟的故事主要是想说明,如果把 CPU 比做你,把数据比做新鲜牛奶,正如你在虚拟的故事里花费不可思议的时间才能喝到牛奶一样,CUP在现实中的确要等待漫长的时间才能拿到所需的数据。因为服务器在处理数据请求时(例如一个查询操作), CPU 首先会从其缓存(SRAM)中找数据,缓存中找不到,再从内存(DRAM)中找,内存里没有,再从硬盘(DISK)上找。在当下的各种存储产品中,按照数据传输速度从快到慢排序依次为内存>闪存>机械硬盘>磁盘。磁盘目前主要用于数据备份,硬盘由于其低廉的价格(单位容量)以及良好的性能,一直以来是统治计算机系统存储的霸主,同时也是传统关系型数据库的主要存储设备。在企业级应用层面,分析员需要查询的绝大部分数据都储存在硬盘里面,CPU 需要经过层层中转(硬盘→硬盘缓存→内存→CPU 缓存→CPU),才能得到需要的数据。因此,服务器系统性能的指标很大一部分取决于硬盘数据传输速度的快慢。尽管人们一直以来想了很多办法提高硬盘的 I/O效率,如提高硬盘高速缓存的容量、将硬盘组成 RAID、尽量保持硬盘顺序读写等,但是与CPU和内存的速度相比,硬盘的速度仍然是计算机系统性能最大的瓶颈。在图1-3中,我们比较了当前最快的基于 SAS 的服务器硬盘(SAS/15000转)和主流内存(DDR3/2400)的速度差异。图1-3

是的,你没看错,内存与硬盘比较,传输速度提升了10倍(我们比较的是当前最先进的服务器硬盘,通常来讲,普通服务器硬盘的传输速度只有80M/S,即内存传输速度要快于普通服务器硬盘30倍),而平均 I/O延时加快了100万倍!因此,回到先前那个故事里面,CPU 从内存那里调取数据,就像你直接去厨房拿牛奶一样,而从硬盘那里调取数据,则不得不等待一段漫长的时间。根据 IDC的一项调查报告的数据显示,全球服务器平均80%的情况下处于空闲状态,这种无效的空转不仅影响IT 系统的性能,也浪费了大量的能源。究其根本原因,就是因为硬盘的低传输速率和高I/O延时导致CPU大部分时间都在等待数据从硬盘传输过来。所以,在传统数据库查询中,硬盘设备始终是制约系统性能最大的瓶颈。那么让我们设想一下,如果我们把数据全部放在内存里面,而不用访问物理硬盘来做基于大量数据的查询和分析,将会产生怎样的效果呢?就像你直接从冰箱拿牛奶喝的愉快体验一样,对于分析和决策者而言,那绝对是一种令人振奋的体验:以往需要几天甚至几周才能完成的报表,可能会在1秒钟就展现在他们的面前。

SAP HANA内存数据库恰恰把我们的设想变成了现实。它是可以将企业的全部数据都放在服务器内存中直接进行操作的数据库。需要特别指出的是,我们这里指的“全部数据”,就是企业运营的所有数据,而不像其他一些数据仓库所做的,要先对原始数据进行筛选、聚合等处理后才存储进数据库。这样做的好处就是所有在SAP HANA内存数据库上进行的分析结果都是基于企业原始数据的,从而避免了以往数据仓库分析数据经过筛选和聚合后所带来的数据失真。因此,SAP HANA内存数据库所带来的优越性能不仅仅在于 CPU 对内存读写比对硬盘读写快,更重要的是,SAP HANA内存数据库从根本上抛弃了许多传统硬盘数据库管理的方式,以全部数据都放在内存中为基础,对数据管理进行了新的体系结构的设计,在数据缓存、快速算法、并行操作方面也进行了相应的改进,从而使数据处理速度比传统数据库的数据处理速度快很多,一般在10倍以上,理想情况甚至可以达到上千倍。举个例子,上海寰融信息技术有限公司(GFT)是一家2010年成立的金融软件平台公司。其产品的一大核心价值是为客户提供对金融类数据基于数学模型的决策分析,而且是穷尽式的分析。自从 GFT公司向客户提供了一个基于 SAP HANA平台技术的策略分析软件以后,GFT 客户的交易策略整个方式发生了革命性的变化。SAP HANA 强大的内存数据库和内存计算引擎,使得分析运算速度超快,其中最快的运算速度比客户过去的系统要快1万倍,过去需要几个小时得出的一个投资策略,现在几秒钟、几分钟就能完成。

对于SAP HANA内存数据库可以把企业的全部运行数据都放在内存中,或许你会有这样的疑问,目前企业级的数据库数据量往往以TB或者PB级计算,这么多数据能全部放到内存中吗?SAP 给出的答案是肯定的。因为把全部数据放到内存中的两个关键条件,即内存的价格问题和系统平台技术支持已经成熟。从内存价格角度来讲,十几年前的内存价格相对于硬盘来讲是相当昂贵的。以2000年为例,当时1500美元只能购买1GB内存。但是随着每 GB内存价格随时间推移而不断下降(从图1-4中我们可以看到近12年来内存价格的变化曲线),到了2012年,与2000年时相比,内存每 GB的单价下降了近240倍。可以说以前非常昂贵的内存在今天已经可以被企业大规模采购并使用了。从系统平台的技术来讲,以往基于32位系统的 x86服务器最大只能支持4GB的内存,而今天基于64位系统的 x86服务器内存理论上可以达到几乎无限制的18 EB(即180亿GB)。目前最新的企业级服务器单机最大已经能支持2TB的内存,而将这些服务器组成服务器集群后,企业服务器系统则能支持上百TB的内存。图1-4

那么,SAP HANA内存数据库都有哪些特点呢?下面我们来逐个分析一下:一、不受数据类型限制

SAP HANA 内存数据库可以访问任何数据。当企业需要非 SAP 应用程序中的运营数据,或希望在现有分析模型的基础上进行扩展时,任何数据源均可作为 SAP HANA的数据基础。通过 SAP HANA平台集成的 SAP BusinessObjects数据整合组件,可以非常灵活地将非SAP运营数据快速加载到SAP HANA内存数据库中。这样,企业就可以通过极其精简的流程创建一个特定业务情景的完整视图。这一特性最大的好处在于,企业可以保留原有的分析应用,并将之快速部署到SAP HANA平台上而不用开发新的应用,为企业节省了大量的时间和费用。二、不受数据量限制

早在2012年SAP中国商业同略会(2012 SAP SAPPHIRE China)期间,IBM大中华区董事长及首席执行总裁钱大群先生表示,IBM与SAP的合作已经有40年历史,这一次 IBM很荣幸地以100个节点[100台四路 Xeon E7(10核心)服务器]、100TB主内存、4000CPU核心的新集群系统成为最强大的SAP HANA系统,证明了SAP HANA强大的扩充能力。与此同时,SAP执行董事会成员、技术及平台产品负责人史维学博士介绍,该系统是当时世界上最大的内存计算数据库系统,也是世界上性能最快的内存计算系统。IBM和SAP此次共同推出这套SAP HANA系统,其内存容量超过了大部分企业的数据产品的应用容量,得益于 SAP HANA 内存数据库优异的数据压缩技术(列存储,10倍以上的数据压缩),可以实现PB级别数据库的存储。三、既可用做分析,也可以用做事务

SAP HANA内存数据库是一个内存数据库的混血儿,在技术层面,它同时支持OLTP 和 OLAP 技术。在存储层面,它不仅包含行存储,也包含列存储,而且还支持基于对象存储的数据库技术。但仅从这些话中,你可能无法体会到其开创性的变革之处。而看完下面的解释之后,你可能会由衷地说:“Wow, SAP HANA内存数据库真的非常了不起!”

首先我们要先了解两个名词,它们分别是“OLTP”和“OLAP”。

OLTP(On-Line Transaction Processing),联机事务处理。OLTP 是传统的关系型数据库的主要应用。其主要用于基本的、日常的事务处理,涵盖了一个组织的大部分日常操作,如购买、库存、制造、银行、工资、注册、记账等,它是面向顾客的,用于办事员、客户和信息技术专业人员的事务和查询处理操作。在过去几十年的时间里,OLTP 技术已经发展得比较成熟,其基本特征是用户的原始数据可以立即传送到计算中心进行处理,并在很短的时间内给出处理结果。这样做的最大优点是计算机系统可以即时处理输入的数据,并及时地做出反应。衡量联机事务处理系统的一个重要指标是系统性能,具体体现为实时响应时间(Response Time),即用户在终端上输入数据之后,到计算机对这个请求给出答复所需要的时间。OLTP 是由数据库引擎负责完成的,旨在使事务应用程序仅写入所需的数据,以便尽快处理单个事务。支持OLTP的数据库通常具有以下特征:● 支持大量并发用户定期添加和修改数据;● 反映随时变化的单位状态,但不保存其历史记录;

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载