DB2体系结构

转帖

DB2中有关实例(Instance), 数据库(Database),表空间(TableSpace),容器(Container)等概念:

在一个操作系统中,DB2数据服务可以同时运行多个实例(有别于Oracle在一个系统内只能起一个实例),数据库定义在实例中,一个实例可以包含多个数据库。在同一个实例中的不同数据库是完全独立的,分别拥有自己独立的系统编目表。

表空间分为DMS方式和SMS(System manegement Space)方式,定义在数据库中,一个数据库中必须存在两个系统基本的表空间,分别是系统编目表空间(SysCatSpace)与系统临时表空间 (SysTempSpace)。在数据库中创建的任何对象都以在系统编目表空间中增加记录的方式体现,对于临时表空间,其占用磁盘大小是根据使用情况动态伸缩的,即仅在需要时才分配磁盘空间,并在使用后进行回收。此外,若用户需要创建表,则需要创建用户表空间(UserSpace),若需要使用临时表,则需要创建用户临时表空间(UserTempSpace)

DMS
SMS类型在表空间建立时指定,建好后不能转换。对于DMS方式,一个表空间对应了一个或多个容器(Container),容器指定了数据的物理存储位置。对于SMS方式,只能够指定一个目录,不能够增加。

容器分为三种类型,前两种是文件与设备,用于DMS方式的表空间;还有一种是目录,用于SMS方式的表空间,此种方式不需要人工管理数据存储文件,DB2可根据情况在目录中自动增加存储文件,只要磁盘空间允许。实质上,表空间是数据存储的逻辑位置定义,容器则是数据存储的物理位置定义。


影响一个数据库的性能主要有以下因素:磁盘(Disk), 内存(Memory), 处理器(CPU), 网络(Network)。其中以磁盘最为显著,90%的性能瓶颈可能来自于磁盘的IO竞争;其次是内存,一方面是指物理内存的总量要满足需求,另一方面是指与内存相关的配置参数应正确配置;当然处理器的性能也很重要,多路CPU会对哪些依赖计算能力的复杂SQL查询起到显著的效果;网络不属于主要因素,属于客观的环境因素,是指过慢的网速会对数据的传输造成影响。以下列出一些对于提高数据库性能有效的方法:

对于运行数据库服务的服务器可以尽可能的配置多块物理磁盘,每块的容量不必太大,这样可以有效的分担数据存储与读取操作过程的磁盘IO竞争。即采用多块小容量的磁盘在性能上要优于仅采用一块大容量的磁盘。

如果条件允许,尽量使数据存储服务与操作系统分别运行在物理分开的磁盘上。

采用DMS(Database Management Space)管理方式的表空间。

在物理不同的磁盘上创建多个表空间。然后可以将数据和索引分别存放在不同的表空间,这样可以显著的提高性能。还可以把一个使用频繁的大表纵向拆成多个小表,分别存放在不同的表空间中,然后用一个视图进行联合。

DB2服务器可以管理裸设备,即除系统以及DB2服务运行磁盘以外,为DB2数据存放单独准备磁盘,可以是多块,分区后不需要格式化,创建裸设备后直接交给DB2进行管理,用于存储数据。


系统的临时表空间对数据库性能影响很大,当由管理的物理内存不能满足数据库操作的需要时,DB2便会把临时数据写到磁盘上,这时便用到了系统临时表空间,并且这种情况会经常发生。

 

尽量在磁盘靠近最内层磁道的位置安放数据,因为此处磁盘的访问速度较快。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值