编辑: hyszqmzc | 2015-08-21 |
41 4.6.5 雪花模式查询的优化.42 4.6.6 数据仓库:结论.43 4.7 数据库扩展性.43 4.7.1 抽象数据类型.44 4.7.2 结构化类型和 XML.44 《Architecture of a Database System(中文版) 》 厦门大学数据库实验室 林子雨 http://www.cs.xmu.edu.cn/linziyu 4.7.3 全文检索.45 4.7.4 额外的可扩展性问题.46 4.8 标准实践.47 4.9 讨论和附加材料.47 第5章存储管理.49 5.1 空间控制.49 5.2 时间控制:缓冲.50 5.3 缓冲管理.52 5.4 标准实践.53 5.5 讨论以及附加材料.54 第6章事务:并发控制和恢复.55 6.1 ACID.55 6.2 可串行化的简单回顾.56 6.3 锁(locking)和锁存器(latching)57 6.4 日志管理器.61 6.5 关于索引的锁和日志.64 6.6 事务存储的相互依赖.67 6.7 标准实践.68 6.8 讨论及相关资料.69 第7章共享组件.70 7.1 目录管理器.70 7.2 内存分配器.70 7.2.1 为查询操作符分配内存时的注意事项.72 7.3 磁盘管理子系统.73 7.4 备份服务.74 7.5 管理、监控和工具.75 第8章结束语.77 致谢
78 参考文献.78 附录 1:译者介绍
86 《Architecture of a Database System(中文版) 》 厦门大学数据库实验室 林子雨 http://www.cs.xmu.edu.cn/linziyu
1 第1章概述 数据库管理系统(DBMS)是一种复杂的、关键任务软件系统.今天的数据库管理系统 包含了学术界和工业界数十年的研究以及大量的企业软件开发成果. 数据库管理系统属于最 早期广泛应用的在线服务系统之一,因此,具备前沿的设计方法,这些设计方法涵盖数据管 理、计算机应用、操作系统以及网络服务等方面.早期的数据库管理系统是计算机科学领域 最具影响力的软件系统之一, 而且, 那些因为数据库研究而产生的理念和实现技术也被广泛 地借鉴和创新. 由于诸多原因, 数据库管理系统架构的相关介绍并没有像它应该的那样被人们广泛地熟 知.首先,应用数据库群体较小.由于市场只能支撑几个高水平的竞争者,因此,只有一小 部分成功的数据库产品存在. 从事数据库设计和应用的人们彼此联系紧密, 他们往往来自于 同一所学校,研究同样的知名项目,然后合作开发几个相同的产品.另一方面,数据库管理 系统的教学领域往往忽视对体系架构问题的讲解. 数据库教材一直关注那些易于教学、 研究 和考试的算法和理论知识点,没有从应用角度对数据库架构有一个全局的讲解.总而言之, 关于如何构建一个数据库方面的知识,并不是保密的,可是,它并没有被系统地写下来并供 人们讨论交流. 本文中,我们希望通过几个方向的讨论,介绍清楚现代数据库系统架构的主要方面.这 些内容部分见于教材中, 我们会给出合适的注释. 另外有些内容埋藏于用户手册中以及一些 数据库相关团体的口头交流中. 在适当的情况下, 我们使用商业开源软件作为复杂多样的数 据库架构的实例.当然,受篇幅所限,在这至少有十年历史的数百万行代码中,它们的特性 以及一些好的创新点就不能一一列举了. 我们的重点在于整个系统的架构设计, 并着重讲解 那些没有被教科书着重谈到的、 但是却使那些广为人知的算法发挥作用的系统环境. 我们希 望读者已经熟悉主流的数据库教材, 并且对现代操作系统如 UNIX、 Linux 以及 Windows 有基 本的操作能力.在下一节整体介绍完一个数据库管理系统的架构之后,我们在第 1.2 节为每 一部分组件提供一些参考资料作为背景阅读. 《Architecture of a Database System(中文版) 》 厦门大学数据库实验室 林子雨 http://www.cs.xmu.edu.cn/linziyu