书??评
学术机构
大卫·斯密奇莱维(David Simchi-Levi)教授
美国麻省理工学院(剑桥)
本书深入浅出地阐述了一项革命性的数据库技术,并列举了大量商务智能和运营实施示例。其中,我最感兴趣的是为供应链管理所带来的机会。长期以来,平衡规划算法的速度和数据粒度一直是企业绩效和可用性的阻碍。
卡尔·马克思·艾恩霍普(Karl Max Einh?upl)教授
德国柏林夏洛特医科大学
个性化的健康护理需要将分散的医疗数据结合起来。内存技术使我们能够在一秒钟内分析上百万个病患档案,并让我们能比以前更好地根据病患需要采取治疗方法。
克里斯托夫·梅内尔(Christoph Meinel)教授
德国波茨坦哈索·普拉特纳学院(HPI)
我很高兴地看到,哈索·普拉特纳学院(HPI)及其与SAP之间的合作提供了一个令人鼓舞的研究环境,这种环境促使以本书作者为核心的年轻团队对复杂的企业级计算环境进行研究,提出了全新而宝贵的科学见解。不仅如此,他们所研发的突破性创新技术将开启一个新的时代,管理者可以根据业务数据的实时复杂计算分析做出决策,从而改变业务的运营方式。
唐纳德·科斯曼恩(Donald Kossmann)教授
瑞士苏黎世联邦理工学院
这是第一本有关内存数据库系统以及这项技术如何能够改变整个行业的专业书籍。本书阐述了如何构建内存数据库:创新和延承。此外,本书还描述了内存数据库如何成为企业单一信息源。
海克特·加西亚-莫利纳(Hector Garcia-Molina)教授
美国加州斯坦福大学
内存驻留数据可以大幅提高数据密集型应用程序的性能。本书很好地概括了与内存数据相关的问题和挑战。所以,我极力推荐所有希望了解这一重要领域的人士阅读此书。
休伯特·以斯特勒(Hubert Oesterle)教授
瑞士圣加仑大学
技术创新不断成为创新业务解决方案的强劲动力和驱动因素。由于20世纪70年代的数据库管理系统为ERP系统奠定了坚实基础,促使几乎各行各业的公司重新设计其业务流程,因此,即将面市的内存数据库将明显改善现有基于ERP的业务解决方案(特别是在分析处理领域),甚至会促使对业务流程和服务再次进行重新设计。本书作者生动、形象地阐述了行列式数据库的技术概念,鼓励读者利用这项新技术实现业务创新。
迈克尔·富兰克林(Michael Franklin)教授
美国加州大学伯克利分校
在过去的几十年里,硬件技术发展迅猛,但是数据库的系统架构并未与之同步发展。与此同时,残酷而激烈的竞争迫使各企业变得越来越依赖于数据。这些变化促使我们重新评估基本数据管理的技术和平衡因素,研发各种可以利用庞大内存、支持并行处理并深入了解数据管理要求的创新技术。本书介绍了内存数据处理所带来的重大变化。此外,作者还在书中阐述了许多独特的业务和技术见解,列举了超出特定技术范围的经验教训。因此,此书可作为当前和未来信息技术革命的创新指南。
山姆·麦登(Sam Madden)教授
美国剑桥市麻省理工学院
这本书详细阐述了主存数据库系统的需求和设计方案。通过对技术发展趋势的分析,他们举出了有关主存将在数据库系统中占主导地位的可信例证。两位专家共同确定了主存数据库系统应当具备的一系列关键设计元素,其中包括列式设计、多核处理器的并行支持以及数据压缩。此外,他们还特别指出了现代业务流程所产生的几个重要要求,其中包括存储过程的频繁使用,以及从会计角度所提出的不要覆盖现有存储设备的要求。这是业界第一本有关内存数据库系统的权威书籍,它可为学生和数据库设计人员等相关人士提供完整的参考信息。
特里·维诺格拉德(Terry Winograd)教授
美国加州斯坦福大学
计算机技术的发展史上有很多重要时刻。在这些重大转折点中,设备的持续发展彻底改变了我们与计算机交互的方式。例如,个人电脑、Web、智能手机便是几个很好的示例。它们生动形象地展示了长期发展趋势达到某个临界点之后呈现的爆炸性变化和增长态势。本书作者为我们描绘了未来的发展愿景,指出企业数据管理也会出现这种根本性的转变。哈索在经营管理和数据管理系统开发方面具有多年经验。他能够敏锐地为用户发现新的机会空间,指明新型软件的潜在市场,从而为管理者提供一种功能强大的新工具,帮助他们深入了解整个企业范围内的各项工作。正如Web和现代搜索引擎改变了我们对“检索信息”方式、原因和时间的看法一样,大型内存数据库也将改变我们对整理和使用每个企业内每种运营数据的看法。在这部极富远见、极具价值的著作中,本书作者为企业未来之路指明了发展方向。
沃伦·B. 鲍威尔(Warren B. Powell)教授
美国新泽西州普林斯顿大学
在这部卓越非凡的著作中,本书作者一针见血地指出,现代信息系统的内存管理将出现重大转变。本书将为图像的存储和检索,以及人员、设备和产品的事务处理历史记录和详细快照带来立竿见影的益处。更重要的是,本书认为,这项技术将为企业未来创造新的机会。试想一下,我们可以采用灵活的图形来显示分散零乱的动态信息;我们能够摆脱扁平式的设备库存汇总和客户请求汇总,从容捕获精确的上下文,高效交流紧急状况和生产能力;我们甚至还有望与领域专家互动工作,实时优化业务流程,从而走进信息时代,就像进入机器人时代,机器人为我们制造汽车和电脑那样。
沃尔夫冈·雷纳(Wolfgang Lehner)教授
德国德累斯顿技术大学
本书生动形象地阐述了技术如何促进新应用程序的诞生,全面涵盖了从业务应用程序的核心特性到前沿主内存数据库技术等各项内容。
行业
海科·胡伯茨(Heiko Hubertz)
德国汉堡Bigpoint GmbH公司首席执行官兼创始人
一项刚出现的新技术在整个行业被当做“游戏改变者”,这是罕见的情况。但是在我看来,内存数据库系统正属此例。之前需要数小时或数天才能完成的任务,现在仅需数秒便可执行,为建立全新的商业理念提供了技术基础。它极大地加快了数据分析执行的速度,从而为我们 Bigpoint 游戏平台终端用户带来了更加美好的体验。本书不仅对技术基础做了详述,也对令人振奋的新应用程序所产生的影响做了探讨。
拉尔夫·施耐德(Ralf Schneider)博士
德国慕尼黑安联保险集团首席信息官
在当今的商界,精通 IT 技术并充分利用信息技术领域的最新进展是最重要的竞争优势。如本书所描述的那样,我把内存技术看做 IT 领域最重要的创新之一。其对经济的总体价值远远超过了调整应用程序以达到此新标准而作出的努力。它极大地加快了业务流程执行的速度,并让更详尽、实时的数据分析成为现实,从而为终端用户带来了更加丰富的体验。同时,它也提升了商业计算水平,使其极其快捷、有趣。
孟鼎铭(Bill McDermott)
SAP AG联席首席执行官于美国宾夕法尼亚州新城广场发表的演讲
我们正在见证企业业务计算新时代黎明的到来。这一新时代的特点是:可近乎实时地利用关键信息,从而更快速地做出决策,将业务敏捷性提高到一个全新的级别,并显著提高业务用户的个人工作效率。随着内存技术的涌现,实时计算的承诺如今已兑现,这成为IT部门在推动业务的可持续价值过程中所扮演角色的一个新的转折点。在审视内存技术时,本书作者深入浅出地阐述了内存技术如何降低成本并加快业务运行,如何帮助各公司从现有的IT投资中额外获得更多价值,如何为业务应用程序的消费方式创造新的契机。对于想利用IT创新技术打造竞争优势的用户而言,本书是他们的必读指南。
佛可·F. 斯瑞斯克(Falk F. Strascheg)
德国慕尼黑EXTORELGmbH 创始人
自互联网时代以来,新技术快速频繁地涌现。但是,这些技术很少转变为一种具有足够大的市场机会的创新。哈索已不止一次地用亲身实践证明,他具有足够的实力,能够充分利用技术解决方案满足业务需求。而他这一次所介绍的也许是他曾致力于的创新技术中最为重要的一个:由内存计算提供强劲动力的实时业务。创新能力一直是竞争力的核心要素之一,因此,对于那些立志引领最新前沿技术的用户来说,这确实是一本非常值得阅读的书籍。
格哈德·奥斯瓦尔德(Gerhard Oswald)
德国沃尔多夫SAP AG首席运营官
在我担任SAP首席运营官期间,我强烈地感受到,有一点非常重要,即对事件做出快速响应且立即访问业务当前状态。在SAP,我们已将大量流程迁移至本书所述的全新内存技术中。我很高兴,通过充分利用本书所阐述的概念,我们最近已取得了重大的改进。例如,我每天都在使用内存技术来监控客户支持通讯系统,以确保为客户提供他们需要的及时响应服务。此外,还有一点我很喜欢,本书概述了各公司如何顺利采用这项全新的数据库技术。这种采用新技术的“转型”概念,也称为“迂回”解决方案,能够使我们现有的客户群有机会从这一神奇的技术中受益无穷,甚至连使用SAP早期软件版本的用户也不例外。
赫尔曼-约瑟夫·兰波特(Hermann-Josef Lamberti)
德国法兰克福德意志银行首席运营官
德意志银行已经在运行本书所述的内存技术早期版本的原型。特别值得一提的是,我们能够将数据分析过程从过去的45分钟缩短至现在的5秒钟,从而更快地检查客户数据库中的交叉销售机会。内存是衡量计算能力的一项重要新指标。
吉姆·沃森(Jim Watson)
美国加州旧金山CMEA Capital 主管合伙人
在过去的五十年里,从大型计算机到云基础设施和智能手机,每个IT时代都曾给我们带来一次重大飞跃。在这几十年里,某一种技术之所以比其他技术更具战略意义,其原因在于它能够从根本上改变人们运营业务的方式。这是风险资本家在判断新趋势能否长期存在时所需牢记的要点。在本书中,作者不仅描述了这项以市场为导向,并极有可能改变整个企业软件市场的德国创新技术,而且还展示了一个工作原型。
马丁·佩特里(Martin Petry)
列支敦士登高地Hilti AG公司首席信息官
Hilti很早便开始采用在本书中所提到的内存技术。通过使用内存技术,我们与 SAP 共同致力开发新应用程序的原型。这些应用程序将交易环境和分析环境完美地结合在一起,支持我们实时查看业务运营状况,并充分运用所观察的结果与客户进行互动。应用 SAP 内存技术之后,Hilti 不仅显著提高了报告执行速度(例如,我们能够将批量报告工作所需的时间从过去的三小时缩短至现在的短短几秒钟),而且我们还有机会将信息的使用方式以及最终为客户提供服务的方式提升到一个全新的级别。
诺伯特·瓦尔特(Norbert Walter)教授
德国法兰克福德意志银行的前任首席经济师
试想一下,您感觉饥肠辘辘了。但是,您没有就近打开冰箱(假设您没有冰箱)拿黄油和奶酪。相反,您动身去最近的奶牛场找吃的。每次感到饥饿时,您都会这么做。这就是如今大部分公司处理数据的方式:总是将待处理的数据放在远处。本书语言通俗易懂,阐述了内存技术如何将数据移回它们本来应该在的地方,从而显著提高现代企业的工作效率。决策者们,让我们加速前进吧!
保罗·保尔曼(Paul Polman)
英国伦敦联合利华公司首席执行官
在整个价值链中,我们有很多能够以更具想象力的方式使用实时信息的机会。我们能够更深入地实时查看消费者和顾客的行为,能够比以往任何时候更紧密、更高效地与客户进行互动,从而满足当今消费者的需求。此外,我们还可以改变为顾客提供服务的方式和速度。因此,我对内存数据库技术带给企业的巨大潜力感到非常兴奋。
汤姆·格雷尼(Tom Greene)
美国纽约Colgate-Palmolive 公司首席信息官
在本书中,作者不仅描述了新数据处理功能的内存技术基础,还为目前如何在其基础之上研发新应用程序提供了许多具体的示例。对于像Colgate-Palmolive这样的公司来说,这些新应用程序极具战略意义,有了它们,我们便能够以全新的方式实时分析交易数据,从而使我们获得竞争优势。
史维学(Vishal Sikka)博士
美国加州帕罗奥多 SAP执行董事会成员、技术与创新负责人
哈索不仅是一位极具传奇色彩的企业家,还是一位卓越的教育家。他的工作和教育生涯鼓舞着整整两代学生、主管、专业人员和企业家。在过去的五年里,从他早期提出重新思考核心财务应用程序的观点,到为所有SAP产品设计和实施全新的数据管理基础,我们都同他一路走过。这本书囊括了这些宝贵的经验。因而,我鼓励 IT 企业的每位员工仔细阅读此书,就像我将这些宝贵的知识应用到 SAP 的产品中一样。
序?言?一
提到为实时数据分析制定权威的业务解决方案,在这个世界上还能有谁比哈索更有资格?他能够利用最新的硬件技术趋势并结合自身对企业资源计划(ERP)数据库设计的深刻理解,详细描述解决方案的技术细节。
SAP的哈索曾是大型跨国公司SAP的首席执行官,又是一家领先研究机构的计算机科学教授。他与同事们共同构建了ERP主存数据库的工作原型。这一举措再次强有力地证明,哈索是一个为自己坚信的东西全力拼搏的人。随着内存容量的快速增长、单处理器内核个数的日益增加,哈索和他的同事们充分利用这一技术潮流,共同研发了SanssouciDB,表明在企业系统中,联机事务处理系统(OLTP)和联机分析处理系统(OLAP)已没有必要分离。
业务主管可即席查询运行中的事务处理数据库,并快速得到结果。而在过去,OLTP/OLAP系统是分离使用的,从写查询语句到得到结果,往往需要一周的时间。在本书中,哈索不仅阐述软件如何利用无共享数据库概念扩展到多个刀片服务器,以及通过利用全共享数据库概念,充分利用海量内存和单刀片多处理器。此外,他还指出云计算在整合事务系统和分析系统中所起的作用。
除了技术上所取得的成就,哈索这位“德国的比尔·盖茨(Bill Gates)”还进一步阐述在业务上如何通过整合这一前沿技术来提高企业的效率和利润。如今,当许多企业正在为全球市场和供应链问题头痛不已时,这种实时的分析能力无异于雪中送炭。此外,如果能得到充分和广泛的使用,业务主管就能快速高效地调整企业资源,满足不断变化的市场需求,从而使下一轮经济低潮不会像上一轮那样剧烈。
约翰·亨尼斯(John L. Hennessy)教授(美国加州斯坦福大学)
戴维·帕特森(David A. Patterson)教授(美国加州大学伯克利分校)
序?言?二
大数据时代企业如何应对变革?
俗语说“船大难调头”,对于企业经营也是如此。在传统观念中,想让一家大型企业在短时间内变革运营策略和业务模式,几乎是天方夜谭。然而最近一两年,全球却有多家超大型公司以惊人的效率实现了战略性的突破。德国T-Mobile公司就是最典型的例子之一,这家公司是德国电信设在美国的子公司,年营业额超过200亿美元,拥有42000多名员工,客户数量超过3300万,2011年他们开始实施积极的营销创新。面对庞大的数据规模,他们却能够举重若轻地利用强有力的信息工具, 提高效率达100倍,在最短的时间内实现了运营模式的变革,极大地提高了企业销售绩效,而他们所拥有的秘密武器就是SAP划时代的内存计算产品SAP HANA。
众所周知,当企业发展遇到瓶颈的时候,需要通过变革的手段走出发展和管理困境。然而在现实的中国企业中往往存在这样的问题,处在一线的各类业务人员掌握着大量的最敏感的信息,但是由于企业的一线信息量过于庞大,传递信息的层次和条块过于纷乱,致使大量有用的信息在企业的各个业务部门间“漫游”,决策层长期承受着“信息煎熬”,使得大量数据分析、计算以及动态决策信息很难及时地反馈到前端业务部门,严重影响企业的效率及业务模式的改善和变革。
2011年,云计算袭来了,大数据袭来了,越来越多的企业趋之若骛,所有的新技术将企业商务活动的规模提升到了几年前不可想象的水平。云计算极大地改变了企业商务活动的方式,移动计算、可视化管理(视频)、传感器等让数据量呈指数级的增长,特别是在电信、金融等行业已经达到“数据就是业务本身”的程度。企业的业务活动与管理方式及数据信息的关系究竟发生了怎样的变化?在大数据时代来临之际,悲观者常为管理和维护而忧虑,乐观者则看到了大数据的大价值。在瞬息万变的商业环境中,企业不仅需要正确的决策,更需要快速的决策甚至实时决策,而庞杂分散的数据群与企业实时决策之间的矛盾又时时纠结在众多企业决策者眼前。
面对这样的困惑,不仅企业在思考,SAP公司也在思考。SAP联席创始人哈索博士(Prof. Dr. Hasso Plattner)针对如何高效管理数据的问题早已提出了他的解决思路。在本书中,哈索博士指出:当前,大部分企业的内部数据不仅庞大,而且零零散散地遍布于各种应用程序及一些互不相干的存储器里,从这些数据中形成统一视图是一个繁琐而耗时的过程;连商业智能做不到为前端提供实时数据分析、计算以及动态决策,很大原因是数据量过于庞大,做一次分析可能要用几天甚至一周的时间,而SAP HANA能够将客户的不同来源的海量数据全部放在内存中进行实时计算、分析,时间从三天缩短为几秒,使数据分析真正做到实时、低成本、便捷。
哈索博士被誉为德国的比尔·盖茨,他提出的基于内存的数据管理技术和理念受到了全球学术界和企业界的高度评价,人们普遍认为“内存数据管理”不仅是一项重要的技术革命,还将带来企业业务管理流程的变革。哈索博士在本书的自序中写道:我写这本书是希望通过内存技术来标记一个企业应用的拐点,在最近的几年中,主存储器的容量和能力正在不断增强,由此引发了如何能够通过整合数据存储来提高管理效率的反思。在哈索博士看来,内存计算这一突破性的创新将导致企业的业务处理得到根本的改善,做出更好的决策。他确信内存计算技术是创新的催化剂,是跃进到至今尚未达到的信息水平的启动器,它将成为企业未来竞争取胜的关键利器。
SAP HANA在企业应用领域取得了巨大的成功。世界著名的高露洁棕榄公司就是SAP HANA系统的第一批试点用户,该公司全球信息技术部副总裁迈克·克罗(Michael Crowe)先生在谈到HANA的实施成效时说,使用SAP HANA系统中的COPA(成本利润分析)加速器编制任何最详细的报告,都不需要编制任何数据模型,这套系统能够提高整个成本利润分析系统当中每项操作的速度,改进品牌的利润率和客户利润率分析。而最令人振奋的是,SAP COPA加速器可以让企业实现在创新时不干扰业务,将风险控制在最小范围内。
事实证明,HANA在中国也创造了奇迹。2011年,中国一家最大的瓶装水企业为了支撑千亿元的销售目标,实施了SAP HANA系统。目前,这家在亚太第一个成功实施HANA的企业已经获得了经营和战略上的优势。这家企业的管理者认为,SAP的内存计算技术是解决他们燃眉之急的重要手段。该企业的业务部门和决策人员亟需对公司的业务状况进行追踪,实时更新业务数据作为决策依据,以便更好地促进销售、市场、生产、物流环节的相互匹配,然而生产中积累的数据量过于庞大,制作复杂逻辑运算的商务报告费时费力,他们需要寻找一种高效率的解决方案。实施了SAP HANA系统之后,运行报表的速度比在原来的平台上快200~300倍。该企业的管理者说,有了SAP HANA可谓有了“屠龙刀”,这是一种完全革命化的改变。在这样的效率之下,企业可以尝试很多全新的业务模式和工作方法,例如使原来不敢想的模拟、预策以及同时模拟多种业务流程的重组等成为可能,从而彻底地改变其创新理念。
如今,企业在商务活动过程中所积累的信息已经远远地超出他们所能利用的范围,何况很多信息都还处于孤立的状态,而在哈索博士的内存数据管理世界里,未来的企业不需要花费大量的时间和精力来整合他们所拥有的信息,就能够基于数据快速采取行动,并做出非常具体、精确的决定。你的决策可以是纵观全局的,也可以是基于一些细微之处的,如“面对媒体的社会化,互联网上数十亿的用户和上百倍增加的视频、音频、移动娱乐设备、物联网探测设备等各种新型应用,我们需要如何快速地调整运营和服务策略,以满足大量个性化的消费需求”。而且这样的决定随时可以调整,可以跟随着市场的需求信息而快速变化,从而让你的企业做好准备,随时应对大数据时代下的变革趋势。
萧洁云
SAP全球高级副总裁、中国区总裁
第2版前言
本书第1版已经出版了一年有余。在这一年间,内存计算技术对企业级计算与应用市场产生了重大影响,使其真正成为一个技术拐点。由于这一发展,以及由此引发的新问题,有必要扩充本书至第2版。
第2版中的新内容主要侧重于数据密集型应用程序的开发和部署,数据密集型应用程序的设计需要尽可能利用内存数据库系统的功能。在其他新增内容中,6.1.1章节介绍了内存应用程序编程模型,涵盖了开发内存应用程序的重点和指导原则。为减轻应用程序开发人员和数据库管理人员的工作负荷,我们在6.1.5章节探讨了图形化创建数据库视图。最后,对应用程序层上的新功能做了详细说明,例如6.2.4章节中数据分析和文本搜索的组合以及9.2章节中两个行业案例的展示。
当然,如果没有德国波茨坦大学哈索·普拉特纳学院“企业平台的集成概念”小组的学生们的帮助,我们不可能在这么短的时间内完成本书第2版的编纂工作。因此,除了在第1版序言中对他们的付出和努力表示感谢之外,在这里我们还想再次感谢他们。
?哈索(Hasso Plattner),亚力山大·蔡尔(Alexander Zeier)
2012年3月1日于德国波茨坦
第1版前言
我们写这本书,是因为我们深信内存计算技术的运用将成为企业级应用的转折点。在过去几年里,内存单价下降,内存容量大幅增长。这就需要重新思考如何存储海量数据。现在我们可以将数据库主要数据的副本存储在内存中而不是机械磁盘中,这样可以使性能得到几个数量级的提升,并且使得全新的应用成为可能。这种数据存储方式的改变正在并将继续对企业级应用产生重大影响,进而最终影响企业的运营方式。企业决策者能够以思想般的速度获得实时信息,具备前所未有的洞察力。
本书面向特定的读者群。他们将了解数据管理方式的根本性转变如何影响企业级应用。我们希望本书能对想充分利用内存计算来创建新业务流程的在校大学生、IT专业人员、IT经理和高级管理层有所启发。
本书分为三个部分:
第一部分概述我们的愿景,即内存计算技术如何改变企业级应用。这一部分适用于所有读者。
第二部分更深入地阐述我们打算如何实现愿景。这一部分适用于那些希望深入了解内存数据管理的学生和开发人员。
第三部分阐述内存计算对企业级应用开发和功能所带来的深远意义。这一部分适用于技术人员和业务型读者。
一本书往往凝聚着许多人的心血,绝非仅靠作者就能够完成。在此,我们要特别感谢德国波茨坦大学哈索·普拉特纳学院的“企业平台和集成概念”小组的全体成员。HANA研究小组的成员包括安佳·伯格(Anja Bog)、马丁·格伦德(Martin Grund)、延森·克鲁格(Jens Krüger)、史蒂芬·穆勒(Stephan Müller)、简恩·夏弗纳(Jan Schaffner)和克里斯汀·缇娜芬德(Christian Tinnefeld)。在过去的五年里,他们一直专注于内存计算应用领域的研究。他们的研究为本书的撰写奠定了坚实的基础。此外,瓦迪姆·波罗夫斯基(Vadym Borovskiy)、托马斯·科沃科(Thomas Kowark)、拉尔夫·屈内(Ralph Kühne)、马丁·洛伦兹(Martin Lorenz)、杰根·穆勒(Jürgen Müller)、奥克斯德·帕奇可(Oleksandr Panchenko)、马斯恩·夏普拉娜(Matthieu Schapranow)、克里斯汀·施瓦兹(Christian Schwarz)、马提亚·艾弗拉克(Matthias Uflacker)和约翰尼斯·伍斯特(Johannes Wust)也为本书的编写做出了巨大贡献。我们的助手安德里亚·兰格(Andrea Lange)也一直在帮助进行协调工作。
此外,在编写本书的过程中,我们还得到了许多SAP同事的热心帮助。如果没有他们的支持,本书将无法顺利面世。卡夫尔·涂森(Cafer Tosun)在HPI和SAP之间起着桥梁作用,他不仅负责协调我们与SAP的合作关系,还积极为本书提供部分章节内容。其团队成员安德鲁·麦考密克-史密斯(Andrew McCormick-Smith)和克里斯汀·马蒂斯(Christian Mathis)为本书提供了许多重要文字段落。借此书付梓之际,我们衷心感谢乔斯·亨德瑞克·布斯(Joos Hendrik B?ese)、伯恩哈德·菲舍尔(Bernhard Fischer)、依娜·福克斯(Enno Folkerts)、安德烈亚斯·赫歇尔(AndreasHerschel)、塞拉·卡佩斯(Sarah Kappes)、克里斯汀·穆克尔(Christian Münkel)、弗兰克·伦克思(Frank Renkes)、弗雷德里克·全斯尔(Frederik Transier)所付出的辛勤劳动。我们衷心感谢保罗·霍夫曼(Paul Hofmann)为本书付出的心血,感谢他帮助管理我们与美国各大学共同合作的研究项目。此外,我们的研究成果也离不开其他SAP同事的热心帮助。在此,我们特别感谢弗朗兹·法波(Franz F?rber)及其团队所提供的反馈意见,以及他们在过去几年里对我们的研究成果所做出的卓越贡献。我们在整本书中提及的许多想法都源自弗兰兹。此外,他还负责SAP内部实施事务。对此,我们要特别赞扬。
最后,我们要感谢SAP执行董事会成员、技术与创新负责人史维学(Vishal Sikka)。他一直鼎力支持我们的研究工作,并亲身参与其中。另外,我们还要衷心感谢SAP执行董事会成员欧思华(Gerhard Oswald)和SAP联席首席执行官、执行董事会成员施杰翰(Jim Hagemann Snabe)与SAP AG联席首席执行官、执行董事会成员孟鼎铭(Bill McDermott)对我们项目的长期支持。
请您访问本书的官方网站。网站中列出了本书的更新内容、评论、有关内存数据管理的相关博客文章以及学生试题。网站地址:no-disk.com。
哈索(Hasso Plattner),亚力山大·蔡尔(Alexander Zeier)
2011年2月1日于德国波茨坦
内存数据管理的本质
试想您住在美国的一座大城市里。现在,想象一下每次您需要一杯水时,您不是去厨房接水,而是需要先开车到机场,坐上飞机飞到德国,到那里去接水。从现代CPU的角度来看,访问内存数据就如同到厨房接水一般。而访问计算机硬盘中的数据就好比飞到德国去接水。在过去,主存的成本高昂,于是必须飞到德国去接水。然而,过去几年,主存每MB的成本显著降低,最终使得从厨房取一杯水成为有成本效益且更加便利的选择。
这种访问时间上的巨大差别对于企业级应用有重大影响。在过去,由于花费时间过长而未曾考虑过的事情现在已经成为可能,这有助于企业将之前以臆测和猜测为主的工作转变为切实的洞察力。
本书中所述的内存计算革命不仅仅是指将数据存储于内存中,以便更快地进行访问。我们还阐述了IT行业其他两大趋势的融合:
(a)多核CPU的出现以及软件并行化的必要性;
(b)DRAM访问延迟造成的阻塞,要求软件巧妙地平衡CPU和内存活动;
需要利用以上两点以真正挖掘潜在性能优势。
我们介绍的内存数据管理愿景的另一个重要方面是,底层数据库中数据存储方式的变化。正如下面的章节所述,这与我们所关注的企业级应用的关系尤为密切。内存数据管理的作用就在于将所有这些联系在一起。
内存数据管理与列存储相结合
我们的经验表明,许多企业级应用利用数据库的方式相似。在执行期间,他们处理大量数据行,但是最为关键的是,只有表中的一小部分数据列可能会对某项特定查询有用。本书中所述的列存储模型允许仅读取所需列,而表中其余部分则可以忽略。传统的行优先模型则不同,必须访问表中的所有列,即便是对结果来说不必要的列也在访问范围之内。
列存储模型也意味着将给定列中的元素存储在一起。而在行优先模型中,给定列中的数据与行中的其他数据存储在一起,因而企业级应用常见的聚集操作在列存储模型中的速度要比在行优先模型中快得多。
多核和多台计算机上并行化的实现
单个CPU内核的速度不会再快些,而CPU内核的数量却仍有望每18个月翻一番。因此利用多核CPU的并行处理能力对未来的软件开发至关重要。正如之前所述,内存列存储将给定列中的数据一起存储在内存中,从而便于分配一个或多个内核来处理单列。这称为垂直分片。
同时,也可将表分成数据行集合,然后再分配至不同的处理器,这一过程称为水平分片。水平分片在数据量持续增加时尤为重要,且在数据仓库应用程序的并行化中取得了部分成功。不但在单个多核计算机上,而且在群集或数据中心中的多台计算机上均可应用这两类方法。
利用压缩技术提高性能并节省空间
数据压缩技术利用数据冗余性和有关数据领域的知识。压缩尤其适合于企业数据管理场景中的列存储,因为同一列中的所有数据具有如下特征:
(a)具有相同的数据类型;
(b)在很多情况下,有很少数量的唯一值,比如在国家列或状态列中。在列存储中使用压缩技术有两个原因:节省空间和提高性能。
空间的有效利用对于内存数据管理尤为重要,这是因为,即使主存成本已大幅下降,然而与磁盘相比,它相对而言依然更加昂贵。由于在列中进行了压缩,因此与空间消耗相关的信息密度得到了提高。这样一来,每次便可加载更多的相关信息,从而提高了性能。与行存储相比,它需要的加载操作更少。因为在行存储中,对于查询来说不相关的列也被加载,却没有被利用。
结论
内存数据管理不仅仅是一项技术,也是软件开发的另一种思路。我们必须考虑基础硬件因素,比如到主存或磁盘的访问时间以及通过多核CPU可能实现的并行化。考虑到新硬件环境,我们必须编写能直接的充分利用它的软件。从积极的角度来看,对于企业级应用开发人员,本书为针对所有这些问题的数据库层的开发奠定了技术基础。然而从消极的角度来看,数据库本身并不能解决所有问题。开发人员一定要了解底层的软件和硬件知识,以便充分利用潜在的性能优势。本书旨在帮助建立这方面的理解。
