DB2 基础: 表空间和缓冲池
David Kline, DB2® Vendor Enablement, PartnerWorld® for Developers, IBM®开发人员技术支持(Developer Technical Support,DTS)中心 — 达拉斯Gabor Wieser, DB2® Vendor Enablement, PartnerWorld® for Developers, IBM®开发人员技术支持(Developer Technical Support,DTS)中心 — 达拉斯
2003 年 10 月 01 日
本文帮助新的 DB2 DBA 理解表空间和缓冲池的重要性,并说明对它们进行正确的设计和调优如何能提高数据库性能。本文专为 IBM DB2 Universal Database™ for Linux、UNIX® 和 Windows® 而撰写
第 1 节:定义
第 2 节:性能含义
一般而言,在物理设备上设计如何放置表空间和容器时,目标是使 I/O 并行性和缓冲区利用率达到最优。要实现这个目标,应当全面了解数据库设计和应用程序。只有这样您才能确定类似于下面这样的问题:将两张表分隔到不同的设备会不会产生并行 I/O,或者,是否应当在单独的表空间中创建表以便可以对它进行完全缓冲。
设计新数据库的物理布局应当从设计表空间的组织开始:
[*]第一步是确定表设计所给出的约束。这些可能会导致必须使用多个常规表空间。
[*]第二步是考虑如果让表空间中的表具有不同的设置,是否有可能显著提高性能。
[*]一旦作出了一个试验性的表空间设计,那么就必须考虑缓冲池的利用率。这可能会使前面的表空间设计产生一些变化。
[*]最后,必须给表空间分配容器。
这个是一个有反复的过程,应该通过压力测试和基准测试验证该设计。很显然,实现最佳的设计可能需要花费大量精力,并且仅当数据库性能必须可能是最佳时才能证明设计是最佳的。通常:
[*]从最简单的可行设计入手。
[*]只有根据测试证明有充分的性能理由时才增加复杂性。
通常,为了降低管理和保持一个较为简单的数据库设计的复杂性,稍微降低一点性能是值得的。DB2 具有一种非常成熟的资源管理逻辑,往往不用进行精心的设计就能产生非常好的性能。
结束语
我们在本文中介绍了许多内容,但是您应当了解的有关数据库设计和性能的知识决不仅限于此。我们着重讨论了数据库设计的两个比较大的问题,而没有深入研究查询优化和应用程序考虑事项的细节。设计数据库是第一位的,因为这是其它所有事情的前提,因此您的初始规划应该非常全面。为了方便您的学习,我们在下面提供了其它联机参考资料,这样您就可以继续学习有关本主题的内容。
页:
[1]