ITPub博客

首页 > 数据库 > 数据库开发技术 > 第9章 数据存储

第9章 数据存储

原创 数据库开发技术 作者:liahtobjtosh 时间:2009-10-10 07:48:41 0 删除 编辑
第9章 数据存储.txt[@more@]

一、块
单个块最大为4TB,但必须运行 onmode -BC 启用块的最大大小。如果未运行 onmode -BC ,那么最大块大小为2GB。

二、(数据)页(page)
它是I/O的最基本单位,一般为2至4KB

三、Blob页
Blob页在Blob数据库空间存储简单大对象(TEXT或BYTE数据)。Blob页的大小一般为操作系统页大小的倍数。如果在Blob页中存储的简单大对象的数据大小接近Blob页的大小,则会更有效。

可以在标准数据库空间中存储简单大对象数据,但对于大于2个页的简单大对象,如果在Blob页中存储简单大对象,那么性能将提高。存储在标准数据库空间中的简单大对象可以共享一个页,但存储在Blob空间中的简单大对象不可以共享页。

四、智能大对象页
智能大对象页在智能大对象数据库空间中存储智能大对象(CLOB或BLOG数据)。智能大对象页的大小是不允许配置的。它与操作系统页大小一致。智能大对象只能存储在智能大对象数据库空间中,不能存储在标准数据库或Blob空间中。

五、扩展数据块(extent)
extent是由一定数据连接的page组成。extent是分配初始和后续物理存储空间的单位。
在创建表时有两个常见的extent:初始扩展数据块和下一个扩展数据块。

六、(标准)数据库空间(dbspace)
dbspace是一个可以包含最多32766个块的逻辑单元。可以在dbspace中存储数据库、表、逻辑日志文件和物理日志。可以指定(标准)数据库空间(dbspace)的页的大小。

七、根数据库空间
ONCONFIG文件中的以下配置参数与根数据库空间的配置相关
ROOTPATH
ROOTOFFSET
ROOTNAME
MIRRORPATH
MIRROROFFSET
TBLTBLFIRST
TBLTBLNEXT
根数据库空间也是在创建时没有指定数据库空间的默认的数据库空间。

八、临时数据库空间(P9-11)
数据库服务器不会删除临时数据库空间。但会清除从上次关闭数据库服务器后留在根数据库空间中的任何表。
数据库服务器不会对根数据库空间执行逻辑或物理日志记录。
对于标准数据库空间中的临时表,数据库服务器会记录表的创建、extent的分配以及表的删除。相反,数据库服务器不会记录存储在根数据库空间中的表。
数据库服务器也不会备份根数据库空间。

九、Blob(数据库)空间
Blob(数据库)空间是包含N个只存储TEXT或BYTE数据的块的逻辑存储单元。不同表的TEXT或BYTE列可以存储在相同的Blob(数据库)空间中。存储在Blob(数据库)空间中的数据直接写入磁盘,不会穿过常驻共享内存。

十、智能大对象(数据库)空间
智能大对象(数据库)空间是包含N个存储智能大对象(CLOB字符大对象或BLOB二进制大对象)的块的逻辑存储单元。
智能大对象(数据库)空间类似于标准的UNIX文件,它们有读取、写入和搜索的属性(P9-12)。智能大对象(数据库)空间也服从事务隔离方式。

在为Enterprise Replication 定义复制服务器时,必须创建智能大对象空间。Enterprise Replication会把已复制的数据假脱机到智能大对象。

10.1 创建智能大对象(数据库)空间
onspace -c -S s9_sbspc -g 4 -p ./s9_sbspc -o 0 -s 2000
默认情况下打开缓冲方式:onspace -c -Df buffer=ON,这意味着要在共享内存的常驻部分使用缓冲池。如果关闭缓冲,数据库服务器将在共享内存的虚拟部分中使用专用缓冲区。
建议:如果对智能大对象的I/O操作小于8KB,使用buffer=ON,否则关闭缓冲。

在创建表时使用智能大对象(数据库)空间
create table catalog
(
...
advert_descr CLOB,
...
)
...
put advert_descr IN s9_sbspc

如果没有使用put指定CLOB列所存储的智能大对象(数据库)空间,则会使用SBSPACENAME配置参数所指定的缺省智能大对象(数据库)空间存储智能大对象。
注意,只能指定智能大对象所存储的智能大对象(数据库)空间,但不能指定存储到哪个块中。

十一、外部(数据库)空间

十二、数据库
数据库系统目录表存储(一般为:systables、sysviews)在CREATE DATABASE语句指定的数据库空间中。

十三、表
在日志记录数据库中可以创建STANDARD(日志记录表)和RAW(非日志记录表)。
在非日志记录数据库中STANDARD和RAW都是非日志记录的。但RAW表不支持主约束、唯一约束和回滚。
13.1 STANDARD(标准永久表)
STANDARD表的所有操作都是一条一条记录的。在日志记录数据库和非日志记录数据库上STANDARD都是缺少类型。

13.2 RAW(非日志记录永久表)
类似于非日志记录数据库中的表。支持但不记录RAW表中的update、delete、insert。

13.3 Temp(日志记录临时表)
Temp表会在用户会话关闭或数据库服务器重新引导后删除。
在使用 CREATE TEMP TABLE 或 SELECT ... INTO TEMP ... 以及处理查询时创建的临时表(如group by 或 unique 或 create index等等)时,缺省情况下,数据库服务器会将临时表存储在根数据库空间中。可以使用DBSPACETEMP环境变量或配置参数来决定临时表的数据库空间列表。不同情景下临时表存储的位置,可见P9-27

十四、表空间
表空间包含分配到给定表的所有磁盘空间。这些磁盘空间可以有表表空间和索引表空间。用户可以在表中指定最多1048576个表空间。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22565551/viewspace-1027694/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-09-19

  • 博文量
    48
  • 访问量
    249171