前言 译者序本书英文版是由加拿大滑铁卢大学M. Tamer zsu和法国国立计算机及自动化研究院Patrick Valduriez编写的。出于以下几点考虑,我们将这本书的第3版翻译成简体中文介绍给国内读者。 首先,本书作者是国际著名的数据库领域的专家,他们的学术造诣保证了本书的学术水平与价值。第二,这本教材历经二十余年,三次更新,其核心内容经过多次写作和修改,堪称是分布式数据库系统的经典图书,是分布式计算在数据库领域的体现。第三,云技术的本质就是分布式计算,而分布式数据库系统揭示的正是分布式计算在数据处理领域的本质问题。从这个角度考虑,教材的内容对云技术的学习与研究也有一定的借鉴作用。当然,对于云计算时代来说,传统的结构化数据的处理技术已经远远不够,我们必须考虑半结构化、非结构化数据所带来的特殊矛盾。也正是出于这样的考虑,本书第3版增加了的P2P数据管理,万维网数据库管理(图数据管理,分布式XML处理等),数据流管理,云数据管理等前沿研究的内容。 在本书的翻译过程中我们曾经和该教材的作者进行过交流,得到过他们的帮助,在此我们表示衷心的感谢。另外,我们还得到了清华大学出版社的龙启铭编辑的大力支持。对此,我们也表示由衷的谢意。 本书第1~3、6~8章由周立柱翻译,第4、5、9、17章由范举翻译,第10~13章由吴昊翻译,第14~16,18章由钟睿铖翻译,周立柱对全书的翻译进行了校阅。虽然我们尽了很大的努力来完成本书的翻译工作,但其中一定还会存在这样或那样的错误或不足。在此敬请读者谅解,并希望能够得到读者的赐教,对于这样的帮助我们将不胜感激。译者2014年3月于清华园分布式数据库系统原理(第3版)前言前言从本书的第1版问世至今几乎过去了二十年,而从第2版的发行算起也有十年了。如同人们可以想象的那样,对于一个发展迅速的领域,在这段期间内所发生的变化是惊人的。现在,分布式数据管理从一个潜在的重要技术变成普遍应用的技术,而因特网和万维网的出现使人们审视分布的观点发生了变化。近年来出现的以数据流和云计算为代表的不同形式的分布计算,重新引发了研究分布式数据管理的兴趣,这些都给本书的修改带来了机遇。五年前我们开始了本版教材的工作,我们花了相当多的时间才把它完成。终,教材的内容发生了较大的变化:在对内容的核心部分进行更新的同时,还加入了新的内容。本书的主要变化如下:(1) 数据集成和查询处理讨论得更细,这反映了学术界在过去十年里对于这些研究主题的动向。第4章集中讨论了集成过程,而第9章则讨论了多数据库系统的查询处理。(2) 前一版仅仅简单地讨论了数据复制的协议。现在这一主题用单独一章(第13章)来处理,对协议以及如何把协议集成到事务处理都进行了深入讨论。(3) 第16章深入讨论了P2P数据管理。这样的系统已经成为传统的分布式数据库系统的另一种体系结构形式。虽然早期的分布式数据库系统采用了P2P的形式,但现代的P2P系统体现了本质的不同特点。因此有必要把它们独立成章并深入讨论。(4) 第17章讨论了万维网数据管理。这是一个难以处理的内容,因为目前还没有一个统一的框架。我们讨论了从万维网模型到搜索引擎,再到分布式XML处理的不同主题。(5) 早期的版本都包含有当时“近期研究”的讨论。这一版也含有类似的一章(第18章),它讨论了流数据管理和云计算。这些主题仍在变化之中,我们指出了目前尚须解决的问题及可能的研究方向。本书努力在这两个目标之间寻求一种平衡:一是要介绍新的正在出现的研究,二是要保持本书在讨论分布式数据管理的原理方面的特色。本书由两部分组成。部分包括分布式数据管理的基础原理,由第1~14章组成。这部分的第2章包含一些背景知识,如果学生已经掌握了关系数据库以及计算机网络技术的概念,可以跳过这一章。但这一章十分重要的是例2.3,因为它介绍了本书大部分内容都会涉及的用例。第二部分包含第15~18章,是更为高级的主题。一门课程应当覆盖哪些内容依赖于讲课的时间以及目标要求。如果课程的目标是基础技术,那么就应该覆盖第1、3、5~8章,以及第10~12章。作为这种选择的一个扩充,可以再覆盖第4、9和13章。如果课程的时间更长,则可以从第二部分的第15~18章里选择一章或多章。许多同事为本书提供了帮助和支持。S. Keshav (University of Waterloo)阅读了计算机网络部分并提供了很多的更新建议。Rene Miller (University of Toronto) 和 Erhard Rahm(University of Leipzig) 阅读了第4章的初内容并给予了许多点评,Alon Halevy (Google)回答了这一章的有些问题,提供了他即将出版的书里和该主题有关的初稿,他还阅读了本书的第9章并提供了反馈意见,Avigdor Gal (Technion)也对本章给予了仔细的审阅和评论。Matthias Jarke和Xiang Li (University of Aachen)、Gottfried Vossen(University of Muenster)、Erhard Rahm 以及 Andreas Thor (University of Leipzig)贡献了本章的练习。HubertNaacke (University of Paris 6)贡献了第9章的异构成本建模一节,而Fabio Porto (LNCC, Petropolis)则贡献了这一章的自适应查询处理一节。如果没有Gustavo Alonso (ETH Zürich) 和 Bettina Kemme (McGill University),则不可能写出数据复制(第13章)。Tamer在2006年春访问Gustavo四个月,他在那里开始了该章的工作并且经常举行长时间的讨论。Bettina在2007年一年的时间里几次阅读该章内容,提出了全面的建议,并详细指出如何更好阐述所用的材料。Esther Pacitti (University of Montpellier)也对本章有所贡献,提供了审阅与背景材料两方面的帮助,她的贡献还包括第14章的数据库集群复制这一节。Ricardo JimenezPeris在这章的数据库集群容错这一节做出了贡献。Khuzaima Daudjee (University of Waterloo)阅读了该章并作了评论。第15章的分布式对象数据管理是由SergeAbiteboul (INRIA)审阅的,包括对本章材料的重要意见以及改进的建议。第16章的P2P系统很大程度上要归功于2006年秋季访问NUS (National University of Singapore)的四个月期间和Beng Chin Ooi 的讨论。第16章的关于P2P系统的查询用到了RezaAkbarinia (INRIA)和Wenceslao Palma (PUCValparaiso, Chile)的PhD的工作,而关于复制的一节则使用了Vidal Martins (PUCPR, Curitiba)的PhD材料。第17章的分布式XML处理一节使用了NingZhang(Facebook)、University of Waterloo的Patrick Kling,以及CWI的Ying Zhang的PhD论文的材料。他们三个人还阅读了这一章并提供了宝贵的意见。Victor Munts i Mulero (Universitat Politècnica de Catalunya)为这一章的练习做出了贡献。zgür Ulusoy (Bilkent University)为第16和17章提出了评论意见,纠正了其中的错误。第18章的数据流管理一节来自于Lukasz Golab (AT&T LabsResearch)和Universityof Waterloo 的Yingying Tao的PhD工作。Walid Aref (Purdue University) 和Avigdor Gal(Technion)在他们的课程中使用了本书的初稿,这对于改进本书的某些部分是十分有益的。我们感谢他们,还有很多在前两版帮助过我们的其他同事。我们并没有完全地吸收了他们的建议,当然书中的错误都应该是我们的责任。上过University of Waterloo两门课程(Web Data Management in Winter 2005和 InternetScale DataDistribution in Fall 2005)的同学在他们的部分课程作业中对本书作了综述,这非常有助于某些章的结构形成。Tamer在ETH Zürich讲授的课程(PDDBSParallel and Distributed Databases in Spring 2006),和在NUS讲授的课程(CS5225Parallel andDistributed Database Systems in Fall 2010)使用了本书这一版的许多部分。我们感谢所有上过这些课程的同学,他们只能使用当时正在形成的某些章。这些教学经历使得书中的材料获得了相当大的改进。读者将会注意到第3版的出版商与前两版是不同的。我们以前的出版商Pearson决定不再与我们的第3版有关,Springer此后予以了相当多的关注。我们要感谢Springer的Susan LagerstromFife以及Jennifer Evans用闪电一样的速度决定出版本书。我们还要感谢Jennifer Mauer在转接过程中做了大量的工作。我们也要感谢Pearson的Tracy Dunkelberger为我们所做的毫无拖延的版权交接。如同早期的版本一样,我们提供了本书教学所用的幻灯片以及大部分练习题的答案。采用本书的教员可以从Springer得到这些材料,在springer.com的图书网站上可以找到相关的链接。后,我们非常愿意倾听大家有关本书内容的建议和评论。我们欢迎任何反馈意见,尤其是以下几个方面:(1) 尽管我们尽了努力,但仍然存在的错误(虽然我们希望不会太多)。(2) 哪些内容应当拿掉,还有哪些内容应当加入或扩充。(3) 你所设计的、希望放入本书中的练习题。M. Tamer zsu(Tamer.Ozsu@uwaterloo.ca)Patrick Valduriez (Patrick.Valduriez@inria.fr)