出版时间:2010-5 出版社:机械工业出版社 作者:加西亚-莫利纳(Hector Garcia-Molina),Jeffrey D.Ullman,Jennifer Widom 页数:385 译者:杨冬青,吴愈青,包小源
Tag标签:无
前言
随着计算机硬件、软件技术的飞速发展和计算机系统在各行各业的广泛应用,数据已经成为各种机构的宝贵资源,数据库系统对于当今科研部门、政府机关、企事业单位等来说都是至关重要的。而数据库系统中的核心软件是数据库管理系统(DBMS)。DBMS用于高效地创建和存储大量的数据,并对数据进行有效的管理、处理和维护,是数据库专家和技术人员数十年研究开发的结果,是当前最复杂的系统软件之一。要深入掌握数据库系统的原理和技术,进而从事数据库管理软件和工具的开发,必须学习和研究数据库管理系统实现技术。要深入了解数据库系统的内部结构,以开发出高效的数据库应用系统,也需要学习和研究数据库管理系统实现技术。 Hector GarciaMolina、Jeffrey DUllman和Jennifer Widom是斯坦福大学著名的计算机科学家,多年来他们在数据库系统领域中做了大量的开创性工作,由他们撰写的《数据库系统实现》一书是关于数据库系统实现方面内容最为全面的著述之一。我们于2000年将《数据库系统实现》的第1版译成中文,国内许多大学采用它作为研究生数据库课程的教材或主要教学参考书,收到了良好的效果。 现在我们又翻译了《数据库系统实现》第2版。第2版保持了第1版的总体风格,首先对数据库系统实现原理进行了深入阐述,并具体讨论了数据库管理系统的三个主要成分——存储管理器、查询处理器和事务管理器的实现技术。与第1版相比,第2版对于数据存储和索引结构的阐述进行了适当的压缩,分别将原来的两章合并为一章;另外,增加了一章“并行与分布式数据库”(第9章),其中包括了第1版中分散在查询处理和事务管理的相关章节中的内容,并增加了有关分布式查询执行的一些新内容,例如,map reduce并行架构、P2P数据库以及分布式散列的实现等。同时,第2版充分反映了数据管理技术的新进展,对内容进行了扩充,除了在第1版中原有的“信息集成”一章(第10章)中加入了新的内容外,还增加了两个全新的章:“数据挖掘”(第11章)和“数据库系统与互联网”(第12章)。“数据挖掘”一章中包含了关联规则与频繁项集挖掘技术,从一个非常大的数据库或Web页面集合中发现“相似”的项的“最小散列”和“局部敏感散列”等关键技术,以及高维空间中大规模数据的聚簇问题等。“数据库系统与互联网”一章中重点阐述了与互联网相关的两个方面的数据库技术:Web搜索引擎及其PageRank算法,流数据模型以及管理数据流形式的大量数据所需的技术。 我们认为这本书既适合作为高等院校计算机专业研究生的教材或本科生的教学参考书,又适合作为从事相关研究或开发工作的专业技术人员的高级参考资料。 杨冬青全面组织了本书的翻译,吴愈青、包小源、唐世渭在本书的翻译和审校中做了大量的工作。除此之外,参加翻译的还有闫秋玲、郑丽丽、蔡慧慧、马煜、张棋、陈巍、郭思祺、夏海峰、翁学天、郭少松、李树节。 限于译者水平,译文中难免有疏漏和错误,欢迎批评指正。
内容概要
本书是斯坦福大学计算机科学专业数据库系列课程第二门课的教科书。书中对数据库系统实现原理进行了深入阐述,并具体讨论了数据库管理系统的三个主要成分——存储管理器、查询处理器和事务管理器的实现技术。此外,第2版充分反映了数据管理技术的新进展,对内容进行了扩充,除了在第1版中原有的“信息集成”一章(第10章)中加入了新的内容外,还增加了两个全新的章:“数据挖掘”(第11章)和“数据库系统与互联网”(第12章)。 本书适合作为高等院校计算机专业研究生的教材或本科生的教学参考书,也适合作为从事相关研究或开发工作的专业技术人员的高级参考资料。
作者简介
Hector Garcia-Molina,斯坦福大学计算机科学与电子工程系的Leona rd BoSack和SandraLerner教授。他在数据库系统、分布式系统和数字图书馆领域中发表了大量论文,研究兴趣包括分布式计算系统、数据库系统和数字图书馆。他是ACM会士、美国艺术与科学院会士和美国国家工程院成
书籍目录
出版者的话译者序译者简介出版前言第1章 DBMS系统概述 1.1 数据库系统的发展 1.2 数据库管理系统概述 1.3 本书概述 1.4 数据库模型和语言回顾 1.5 参考文献第一部分 数据库系统实现 第2章 辅助存储管理 2.1 存储器层次 2.2 磁盘 2.3 加速对辅助存储器的访问 2.4 磁盘故障 2.5 组织磁盘上的数据 2.6 块和记录地址的表示 2.7 变长数据和记录 2.8 记录的修改 2.9 小结 2.10 参考文献 第3章 索引结构 3.1 索引结构基础 3.2 B-树 3.3 散列表 3.4 多维索引 3.5 多维数据的散列结构 3.6 多维数据的树结构 3.7 位图索引 3.8 小结 3.9 参考文献 第4章 查询执行 4.1 物理查询计划操作符介绍 4.2 一趟算法 4.3 嵌套循环连接 4.4 基于排序的两趟算法 4.5 基于散列的两趟算法 4.6 基于索引的算法 4.7 缓冲区管理 4.8 使用超过两趟的算法 4.9 小结 4.10 参考文献 第5章 查询编译器 5.1 语法分析和预处理 5.2 用于改进查询计划的代数定律 5.3 从语法分析树到逻辑查询计划 5.4 运算代价的估计 5.5 基于代价的计划选择介绍 5.6 连接顺序的选择 5.7 物理查询计划选择的完成 5.8 小结 5.9 参考文献 第6章 系统故障对策 6.1 可恢复操作的问题和模型 6.2 undo日志 6.3 redo日志 6.4 undo/redo日志 6.5 针对介质故障的防护 6.6 小结 6.7 参考文献 第7章 并发控制 7.1 串行调度和可串行化调度 7.2 冲突可串行化 7.3 使用锁的可串行化实现 7.4 有多种锁模式的封锁系统 7.5 封锁调度器的一种体系结构 7.6 数据库元素的层次 7.7 树协议 …… 第8章 再论事务管理 第9章 并行与分布式数据库 第二部分 现代数据库系统专题 第10章 信息集成 第11章 数据挖掘 第12章 数据库系统与互联网
章节摘录
插图:1.2.3 主存和缓冲区管理器数据库中的数据通常驻留在辅助存储器中,在当今的计算机系统中,“辅助存储器”通常就是磁盘。然而,数据必须在主存储器中,才能对其进行有用的操作。存储管理器的任务是控制数据在磁盘上的放置和在磁盘与主存之间的移动。在一个简单的数据库系统中,存储管理器和底层操作系统的文件系统没有什么不同。但是。为了提高效率,DBMS通常直接控制在磁盘上的存储,至少在一些情况下是这样的。存储管理器跟踪文件在磁盘上所处的位置,获得缓冲区管理器所要求的文件的磁盘块号。缓冲区管理器负责将可利用的主存空间分割成缓冲区,缓冲区是与页面同等大小的区域,磁盘块的内容可以传送到缓冲区中。这样,所有需要从磁盘得到信息的DBMS成分都或直接或通过执行引擎与缓冲区和缓冲区管理器交互。不同的DBMS成分所需要的信息的类型包括:1.数据:数据库自身的内容。2.元数据:描述数据库的结构及其约束的数据库模式。3.日志记录:关于最近对数据库所做改变的信息,这些信息支持数据库的持久性。4.统计信息:DBMS收集和存储的关于数据库中的各个关系或其他成分的大小、取值等信息。5.索引:支持对数据进行高效存取的数据结构。1.2.4 事务处理正如前面所讲,通常将一个或多个数据库操作组成一组,称作事务,事务是必须被作为一个原子,外观上独立于其他事务执行的单位。而且,DBMS保证持久性,即已完成事务所做的工作决不会丢失。事务管理器从应用系统接收事务命令,从而得知什么时候事务开始,什么时候事务结束,以及应用系统的期望(例如,某些应用可能不希望具有原子性)。事务处理器执行下列任务:1.日志记录:为了保证持久性,对于数据库的每一个变化都在磁盘上记录日志。日志管理器遵循几种策略中的某一种进行工作,这些策略保证不管在什么时候系统发生故障或“崩溃”,恢复管理器都能查看关于数据库变化的日志,并将数据库恢复到某个一致的状态。开始时,日志管理器将日志写到缓冲区中,然后它与缓冲区管理器协调,保证在适当的时候将缓冲区写到磁盘中(磁盘中的数据不受系统崩溃的影响)。2.并发控制:事务的执行从表面上看必须是孤立的。但是在大多数系统中,实际上有许多事务在同时执行。因此,调度器(并发控制管理器)必须保证多个事务的一个个动作以一种适当的顺序执行,从而使得最终的结果与这些事务事实上一个执行完了再执行下一个的结果相同。典型的调度器通过在数据库的某些部分上维护若干个锁来进行它的工作。这些锁防止两个事务以造成不良后果的方式存取数据的相同部分。如图1.1 所示,锁通常存储在主存储器中的封锁表中。调度器禁止执行引擎访问数据库中被封锁的部分,从而对查询和其他数据库操作的执行发生影响。
编辑推荐
《数据库系统实现(第2版)》内容深入且全面,技术实用且先进,叙述深入浅出,是一本难得的高层次的教材,适合作为高等院校计算机专业研究生的教材或本科生的教学参考书,也适合作为从事相关研究或开发工作的专业技术人员的高级参考资料。
图书封面
图书标签Tags
无
评论、评分、阅读与下载