1. Chunks
1)Chunks用于存储数据的连续磁盘空间;
2)一个chunk可以是一个裸设备(raw device)、一个裸设备中的一部分、一个UNIX文件(cooked file);
3)一个chunk最大可以是4TB;
4)最多可以有32767个chunk。
2. Dbspaces
1)Dbspace是一个或多个chunk的逻辑集合;
2)一个dbspace可以有1到32767个chunk;
3)最多可以有2047个dbspace;
4)表格创建于dbspaces之上;
5)表格空间成长时,即加新chunk与dbspaces中成长dbspaces空间即可,表格schema无需变动。
3. Blobspaces
1)Blobspace用于存储简单大对象(simple large object,TEXT或BYTE类型的对象)的专门dbspace;
2)blobspace中的基本存储单元为blobpage;
3)blobpage的大小可被配置为数据库服务器的数据页(page)的大小的整数倍;
4)对于blogspace里的数据,数据库服务器将它们写回磁盘时不使用缓冲区(buffer)。
4. Sbspaces
1)Sbspace用于存储只能打对象(smart large object,BLOB或CLOB类型的对象)的专门dbspace;
2)Sbspace的基本存储单元是sbpage;
3)Sbpage的大小与数据库服务器的数据页大小一样,不是可配置的;
4)sbspace中分配存储空间时基本单元是extent。
5. 读取和缓存数据
1)数据库服务器进程通过共享内存池达到共享数据的目的;
2)当用户发出一个查询请求时,数据被从磁盘读入共享内存池缓冲区(buffer pool)中,I/O的单位是数据页(page);
3)紧接着对该数据的读取操作将从读取缓冲区中得到该数据而不用再从磁盘中读入。共享数据是多使用者数据库的基本原理。
4)使用者线程对该数据的修改对所有的数据库进程都是可见的。
6. 物理日志和逻辑日志
1)数据事物(transaction)
i)使用COMMIT WORK语句提交从事务开始时对数据库所作的全部修改;
ii)使用ROLLBACK WORK语句取消某个事务,并撤销该事物开始以来所有发生的更改;
iii)物理日志与逻辑日志是数据事务提交或取消事务的机制与手段。
2)物理日志(Physical logging)
i)如果一个数据被更改了,物理日志将存储该数据页被更改前的数据;
ii)物理日志由磁盘上连续的数据页组成;
iii)用于系统失败时的恢复。
3)逻辑日志(Logical logging)
i)记录了事务的细节;
ii)事务的记录被保存在逻辑日志中;
iii)逻辑日志由逻辑日志文件组成。每个文件由磁盘上连续的数据页组成,用于事务回滚和系统失败时系统失败时的恢复。
7. 检查点(Checkpoints)和恢复(Recovery)
1)数据库完整性
如何保障数据库完整性?
系统失败后如何恢复到系统失败之前的最后一个状态。
2)检查点
i) 检查点事件是周期性的系统事件。检查点事件发生时,所有被修改的缓冲区将被写回磁盘;
ii)维护了数据库服务器的一致状态;
iii)关于检查点事件的信息被记录在系统数据页和逻辑日志中(用于数据库检查失败时的恢复)。
3)恢复(Recovery)
i) 如果一个系统失败发生了,数据库服务器将被重启;
ii)接着根据物理日志,数据库服务器将最后一个检查点之后被修改的数据恢复为之前的数据;
iii)然后根据逻辑日志,最后一个检查点之后的事务被重做。这样数据库服务器就能恢复到系统失败之前的最后一个一直状态。
posted on 2010-11-04 15:17
阿蜜果 阅读(1251)
评论(0) 编辑 收藏 所属分类:
database