Chinaunix首页 | 论坛 | 博客
  • 博客访问: 426034
  • 博文数量: 239
  • 博客积分: 8010
  • 博客等级: 中将
  • 技术积分: 2431
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-02 21:12
文章分类
文章存档

2008年(239)

我的朋友

分类: Sybase

2008-06-18 00:20:55

数据库系统

SYBASE数据库系统采用多线程体系结构,所有的功能模块都是使用线程来实现的,启动、管理、调用线程功能模块的进程被称为引擎(engine)。数据库服务器能够启动的引擎数目由计算机的实际CPU数目决定,即最大的引擎数目不能超过物理的CPU数目。在数据库系统启动后,使用dbcc engine命令,可以联机地激活或者关闭引擎。可以使用下列配置参数管理引擎和线程:

NUMBER OF ENGINES AT STARTUP:设定数据库系统启动时,启动的引擎数目。

MAX ONLINE ENGINE:设定数据库系统可以启动的最大引擎数目。

TIME SLICE:设定线程中任务可以运行的毫秒数。

CPU GRACE TIME:设定线程中任务的运行时间达到配置参数TIME SLICE的设置后,在被数据库系统强制暂停之前,任务还可以运行的最大时间。

除了启动的引擎数目之外,数据库系统使用其它参数,实现线程的调度管理,一般不需要改变。

 

1. 监听线程

 

SYBASE数据库系统中,监听线程使用的网络协议、地址、端口等信息存放在interfaces接口文件中。下列配置参数和监听线程有关:

MAX NUMBER NETWORK LISTENERS:设定数据库系统启动的监听线程的最大数目。

 

2. 代理线程

 

如果在SYBASE数据库系统中设置了并行处理,根据并行度,每个代理线程会将任务分配给其它的代理子线程。代理子线程在SYBASE系统中被称为工作线程。下列配置参数和代理线程有关:

NUMBER OF USER CONNECTIONS:设定数据库系统可以建立的用户连接数目。该参数也同时决定了数据库系统可以启动的代理线程的数目。

NUMBER OF WORKER PROCESSES:设定数据库系统可以启动的工作线程数目。

 

3. 异步预取线程

 

SYBASE系统中,内存空间中的数据缓冲区,可以被划分为多个高速缓存(cache),每一个高速缓存又可以细分为多个池(pool)。下列配置参数和异步预取线程有关:

GLOBAL ASYNC PREFETCH LIMIT:设定高速缓存、池预取数据可使用的内存空间百分比。该参数在整个数据库系统范围内起作用,可以根据需要,使用命令为单个的高速缓存、池设定相应的预取数据属性。

在需要使用数据的预读取时,异步预取线程根据特定高速缓存、池的属性设置,来决定使用该高速缓存、池的数据库对象要预取的数据量。如果高速缓存、池的预取属性没有被设置,就使用数据库系统的参数设置。

确省情况下,数据库对象的预读取功能被设置。如果用户使用sp_cachestrategy命令,改变了一个数据库对象的预读取设置,则对该数据库对象的数据操作,系统不会使用预读取功能。

 

4. 页清除线程

 

下列配置参数和页清除线程有关:

HOUSEKEEPER FREE WRITE PERCENT:设定写入磁盘的脏数据的百分比。系统在CPU处于空闲状态时,根据此百分比和总的脏数据的数量,决定将多少已更新数据写入磁盘。

 

5. 日志写线程

 

SYBASE系统的单个实例下包含多个数据库,所有的数据库使用相同的日志信息写方式。在缺省情况下,数据库采用事务提交前必须将日志写入磁盘的机制,代理线程生成的事务日志存放在自己的私有内存空间中,由代理线程写入磁盘;如果在SYBASE系统的内存结构中建立日志缓冲区,那么所有数据库采用事务提交前不要求将日志信息写入磁盘的机制,事务在所有操作完成后就提交,代理线程将日志信息写入日志缓冲区,最后由日志写线程统一写入磁盘。

 

6. 检查点线程

 

SYBASE系统的检查点线程,大约每分钟被激活一次,顺序检查每个数据库中已发生的数据更新。如果某个数据库中已更新数据的数量,达到系统的参数设置,就执行该数据库的检查点操作。对数据库执行检查点操作,检查点线程将检查该数据库的truncate log on chkpt属性。如果该属性被设置,检查点线程就截断数据库的日志。下列配置参数和检查点线程有关:

RECOVERY INTERVAL IN MINUTES:设置单个数据库的崩溃恢复需要花费的时间。检查点线程根据此参数,决定是否触发该数据库的检查点操作。

 

7. 优化器线程

 

下列配置参数和优化器线程有关:

ENABLE SORT-MERGE JOINS AND JTC:设定在整个系统范围内,优化器可以使用排序合并连接和连接传递闭包。

ALLOW BACKWARD SCANS:设定优化器在决定SQL语句的执行计划时,是否可以反方向地扫描索引。

 

8. 死锁检测线程

 

下列配置参数和死锁检测线程有关:

DEADLOCK CHECKING PERIOD:设定死锁检测的时间间隔。

阅读(1075) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~