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

2008年(239)

我的朋友

分类: Sybase

2008-06-18 00:37:31

系统

SYBASE数据库系统使用单实例多数据库模式,系统采用多线程体系结构,所有的功能模块都是使用线程来实现的,启动这些线程的进程被称为引擎(engine)。整个系统的体系结构见图1-6

一个SYBASE系统实例需要启动的进程就是引擎,需要为实例分配的共享内存空间包括:内核和服务器结构(堆栈缓冲、控制信息缓冲、数据字典高速缓存、锁表高速缓存)、数据高速缓存、过程高速缓存、可执行代码区。数据库的存储结构包括:配置文件、设备、归档日志文件等,这些存储空间在数据库创建时建立,可以在运行过程中给数据库增加设备。

SYBASE系统的一个实例中,存在多个数据库,分为系统数据库和用户数据库。用户数据库由用户根据需要创建,存放用户数据以及和该数据库有关的数据字典信息。系统数据库在实例初始化时自动创建,包括:mastersybsystemprocsmodeltempdb等,不同的系统数据库有不同的作用。

1master数据库存放所有数据库以及实例的管理和控制信息,在遭到破坏后整个实例就无法启动。

2sybsystemprocs存放SYBASE系统提供的执行过程,用户通过对这些过程的执行,来管理数据库系统。

3model数据库是一个数据库模板,所有新建数据库均按照这个模板创建。可以对model数据库进行设置,使所有新建数据库自动获得某些属性,这样就可以避免对单个数据库的设置操作。

4tempdb数据库是系统运行过程中,临时表、临时工作区的可用磁盘空间。一些大的查询、更新处理需要这些空间存放处理过程中产生的中间结果。

其它的系统数据库,如:sybsecuritysybsystemdbsybdiagdbccdb等,并不是系统运行所必需的,这里不做介绍。

 

 

用户能够访问、修改系统数据库中的数据,这是其它数据库系统所不具备的。这种管理方式虽说增加了用户管理的灵活性,但不正确的使用也可能造成整个系统实例的破坏。

尽管每一个数据库都单独存放自己的日志信息,但一个实例的数据库和数据库之间,关系仍旧比较紧密,这主要体现在:

1)共用实例线程模块。实例的线程可以访问和处理所有数据库中的数据,用户对数据库的访问就通过这些线程完成。实例的进程和线程在实例运行时被启动。

2)共用实例内存空间。用户要处理数据库中的数据,首先要将它们读入内存,存放在为实例分配的系统内存空间中。实例的系统内存空间为所有数据库所使用,在实例启动时被分配。

3)共用存储空间。实例中用来存放数据的表空间可以为所有数据库使用。一个数据库可以跨越多个表空间,而一个表空间也可以存放多个数据库中的数据。

在启动实例时,系统根据配置信息,启动引擎及各种线程,分配共享内存空间(如:过程高速缓存、内核和服务器结构等),并同时打开所有数据库。

SYBASE系统中,表空间被称为设备,用户可以使用操作系统文件、裸设备来建立数据库设备。

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