DB2数据库的逻辑、物理和性能特征

本文深入介绍了DB2数据库的构成,包括表、视图、索引等对象,以及表空间和物理存储的管理。讨论了如何独立创建数据库、编制目录,以及数据库的逻辑、物理和性能特征。DB2数据库由表空间、缓冲池、日志文件等组成,表空间分为DMS和SMS两种类型,影响数据库的性能和管理。创建数据库涉及选择合适的表空间类型、代码页和排列序列等。此外,文章还提到了给数据库编制目录的重要性以及多种方法,包括使用命令行和GUI工具。DB2 Control Center是进行数据库管理的有效工具,提供向导简化创建和操作数据库的过程。
摘要由CSDN通过智能技术生成

这篇教程向您介绍了组成 DB2 数据库的对象,怎样创建数据库以及用来创建、访问和操作 DB2 对象的不同工具。本教程的主要学习对象是数据库管理员(DBA)。 这篇教程是由六篇文章组成的教程系列的第三篇,您可以用这个教程系列来为 DB2 Fundamentals Certification (Exam 512)作准备。本教程的内容主要讨论了“第 3 章. 创建和访问 DB2 数据库”中的目标。您可以在 http://www.ibm.com/certify/tests/obj512.shtml 上查看这些目标。在这篇教程中,您将学会:

  • 怎样独立地创建一个 DB2 数据库怎样给数据库编制目录,以供其他用户使用
  • 怎样检查和操作数据库中的对象

数据库的逻辑、物理和性能特征

DB2 数据库实际上由对象集合组成。从用户的角度来看,数据库是(有希望)以某种方式联系在一起的表的集合。 从数据管理员(DBA)的角度来看,它比那种看法稍复杂一些。实际的数据库包含多个下面这样的组件:

  • 表、视图、索引、模式锁、触发器、存储过程、包
  • 缓冲池、日志文件、表空间

这其中的一些项关系到怎样组织数据,比如表和视图。其它一些项涉及到这些对象的物理实现,比如表空间。最后,一些对象只处理怎样通过缓冲池和其它内存对象管理数据库性能。

本文并没有详述参数和对象所有可能的组合,您首先应该以数据库的物理实现为重点。您怎样创建一个数据库,并为它分配所需要的磁盘存储? 为了恰当地回答这个问题,您需要了解数据库中的基本对象,以及怎样将它们映射到物理磁盘存储。

DB2 存储模型

DB2 有处理数据的逻辑和物理两种存储模型。用户处理的实际数据放在表中。虽然表可能由列和行组成,但用户却不知道数据的物理表示。这有时被称为数据的物理独立性。 表本身放在表空间中。表空间作为数据库和保存实际表数据的容器对象之间的层。一个表空间可以包含多个表。

容器是物理存储设备。它可以通过目录名、设备名或文件名来识别。一个容器被分配给一个表空间,而一个表空间可以跨多个容器。将多个容器分配给一个表空间的能力避开了操作系统的局限性,这种局限性限制了一个容器可以拥有的数据量。下图说明了所有这些对象之间的关系。

DB2 存储模型

虽然表是放在表空间中的基本对象,但是您必须知道 DB2 数据库系统中的其它对象,以及它们将怎样映射到表空间。

表、索引、长字段和表空间

表、索引和长字段(有时被称为“二进制大对象”(Binary Large Objects 或 BLOB))是在 DB2 中创建的对象。这些对象被映射到表空间,表空间本身被映射到物理磁盘存储。 表是数据记录的无序集合。它由列和通常被认为是记录的行组成。这些表可以是永久(基本)表,也可以是临时(声明的)表或临时(派生的)表。从 DBA 的角度来看,空间被分配给这些表对象中的每一个,但是在不同的表空间中。 索引是与单个表相关联的物理对象。索引用来在表中实施唯一性(确保没有重复的值)以及增强检索信息时的性能。索引不需要运行“结构化查询语言”(Structured Query Language(SQL))语句。但是,您的用户将会赞赏您创建几个这样的对象来加速查询处理的远见! 长字段(BLOB)指表中的一种数据类型。这个数据类型通常包含非结构化的数据(图像、文档、音频),并且一般包含大量的信息。当删除、插入和操作这些对象时,在表中存储这种类型的数据将导致过多的开销。不是将它们直接存储在表的行中,而是存储链接到长字段表空间中的位置的指针。您需要知道这种数据类型,以便可以创建包含这些对象的恰当的表空间。

具备了这些不同对象类型的知识,您就可以确定您需要分配哪一种类型的空间。

DMS 和 SMS 表空间

表空间是数据库和存储在数据库中的表之间的逻辑层。表空间在数据库中创建,而表在表空间中创建。DB2 支持两种类型的表空间:

  • 系统管理空间(System Managed Space(SMS))— 操作系统的文件系统管理器分配和管理表是缺省的表空间类型的空间。
  • 数据库管理空间(Database Managed Space(DMS))— 数据库管理器控制存储空间。这个表空间本质上旨在最好满足数据库管理器需要的特殊目标文件系统的实现。

从 DBA 的角度来看,SMS 表空间几乎不需要维护。从易于使用的角度来看,这种折中潜在地降低了性能,并且减少了优化选项。

DMS 与 SMS 的比较

那么您应该使用哪种类型的表空间?这里是当您决定使用 DMS 或 SMS 表空间时,您需要考虑的一些东西(虽然不是完整的列表):

功能 SMS DMS
Striping
对象管理 操作系统 DB2
空间分配 根据需求增长/收缩 预先分配
易于管理 最好
几乎不需要/不需要调优

需要一些调优(比如,EXTENTSIZE PREFETCHSIZE)
性能 很好 最好
原始容器可以达到 5-10% 的有利条件

既然您对不同类型的表空间已经比较在行,那么是创建您的第一个数据库的时候了。下一章将向您说明怎样去做。

First Steps

下面显示了 First Steps 面板,它是 DB2 安装过程的一部分。它使您能够快速生成很多样本数据库。

DB2 First Steps 面板

大多数用户将想要创建 SAMPLE 数据库,并用它来发掘 DB2 的功能。通过选择 Windows 环境中的 DB2 程序组内的 First Steps 可以调用这个面板。此外,命令 db2sampl 可以用来从命令行提示符下生成 SAMPLE 数据库。

下一节将向您说明怎样从命令行创建您自己的 DB2 数据库,而不是创建一个样本数据库。

我的第一个真正的数据库

从命令行创建一个 DB2 数据库比较简单。要创建数据库,您必须使用“DB2 命令行处理器”(Command Line Processor(CLP))。这可以通过从 DB2 程序组选择 Command Line Processor,也可以从命令行执行命令 db2cmd db2 来完成。

CLP

创建 DB2 数据库的语法是:

         CREATE DATABASE MY1STDB	  

“就是这样!?”您会问。是的,作为 CREATE DATABASE 命令的一部分,唯一需要的元素是数据库名。当然,有更多可用的选项。数据库名的规则是:

  • 数据库名可以由下面这些字符组成:a-z、A-Z、0-9、&#
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值