Sybase关系型数据库管理系统
(全文)
胡经国
本文作者的话
本文是根据有关文献和资料编写的《漫话云计算》系列文稿之一。以此作为云计算学习笔录,供云计算业外读者进一步学习和研究参考。希望能够得到大家的指教和喜欢!
下面是正文
一、概述
1987年推出的大型关系型数据库管理系统Sybase能运行于OS/2、Unix、Windows NT等多种操作系统平台。它支持标准的关系型数据库语言SQL,使用客户机/服务器(Client/Server,C/S)模式,采用开放体系结构,能实现网络环境下各节点上服务器的数据库互访操作。它技术先进、性能优良,是开发大中型数据库的工具。
Sybase产品主要由以下4部分组成:
服务器产品Sybase SQL Server(Server:服务器);
客户产品Sybase SQL Toolset(Toolset:工具集);
接口软件Sybase Client/Server Interface(Client/Server Interface:客户机/服务器接口);
著名的数据库应用开发工具Power Builder。
Power Builder是美国Sybase公司研制的一种新型快速开发工具,是在客户机/服务器模式下基于Windows3.x、Windows95和WindowsNT的一个集成化开发工具。它包含一个直观的图形界面和可扩展的面向对象的编程语言Power Script,提供与当前流行的大型数据库的接口,并通过ODBC(Open Database Connectivity,开放数据库互连)与单机数据库相连。
Sybase提供了一套应用程序编程接口和库,可以与非Sybase数据源及服务器集成,允许在多个数据库之间复制数据,适于创建多层应用。该系统具有完备的触发器、存储过程、规则以及完整性定义,支持优化查询,具有较好的数据安全性。Sybase通常与Sybase SQL Anywhere用于客户机/服务器模式。前者作为服务器数据库,后者为客户机数据库,采用该公司研制的Power Builder 为开发工具。在中国的大中型系统中具有广泛的应用。
Sybase SQL Anywhere是Sybase公司开发的一种小型数据库产品,有单用户版和多用户版。Sybase S
QL Anywhere现在应用很广泛,主要用于单机版的管理系统中。
Adaptive Server Enterprise(ASE)是Sybase 的旗舰式RDBMS产品,一直致力于以最低的系统总拥有成本(TCO),为企业提供一个高性能的数据和事务处理系统。最新版ASE12.5.1/12.5.2,在继续保持以前版本的关键业务性能和高效计算的同时,在易用性、系统性能和支持新应用程序方面进行了增强和改进,并进一步提高了系统安全性和Linux的可扩展性。Sybase Adaptive Server Enterprise 12.5.1,完善和扩展了ASE产品系列。
二、版本
1984年,Mark B. Hiffman和Robert Epstern创建了Sybase公司,并在1987年推出了Sybase数据库产品。Sybase主要有三种版本:一是UNIX操作系统下运行的版本;二是Novell Netware环境下运行的版本;三是Windows NT环境下运行的版本。
对于UNIX操作系统,目前广泛应用的为Sybase 10及Sybase 11 for SCO UNIX。
SCO UNIX是SCO公司(Santa Cruz Operation Inc)所研制的多用户、多任务的功能齐全的网络操作系统;具有稳定性强、可靠性高、安全性好等优点,在各行各业中的应用十分广泛。
三、特点
1、基于客户机/服务器体系结构
一般的关系型数据库都是基于主/从式结构。在主/从式结构中,所有的应用都运行在一台机器上。用户只是通过终端发命令或简单地查看应用运行的结果。而在客户机/服务器结构中,应用被分在了多台机器上运行。一台机器是另一个系统的客户机,或是另外一些机器的服务器。这些机器通过局域网或广域网联接起来。
客户机/服务器结构的好处是:它支持共享资源,并且在多台设备间平衡负载;允许容纳多个主机的环境,充分利用了企业已有的各种系统。
从硬件角度看,客户机/服务器体系结构是指将某项任务在两台或多台机器之间进行分配,其中客户机(Client)用来运行提供用户接口和前端处理的应用程序;服务器(Server)提供客户机使用的各种资源和服务。
从软件角度看,客户机/服务器体系结构是把某项应用或软件系统按逻辑功能划分为客户机软件部分和服务器软件部分。客户机软件部分一般负责数据的表示和应用,处理用户界面,用以接收用户的数据处理请求并将其转换为对服务器的请求,要求服务器为其提供数据的存储和检索服务;服务器软件部分负责接收客户机软件发来的请求并提供相应服务。
客户机/服务器体系结构融合了大型机的强大功能和中央控制以及PC机的低成本和较好的处理平衡。客户机/服务器体系结构为任务的集中/局部分布
提供了一种新的方法。这种体系结构能够使用户对数据完整性、管理和安全性进行集中控制。在缓解网络交通和主机负荷以及满足用户需要方面,客户机/服务器体系结构提供了良好的解决方案。
总之,客户机/服务器的工作模式是:客户机与服务器之间采用网络协议(如TCP/IP、IPX/SPX)进行连接和通讯,由客户机向服务器发出请求,服务器响应请求,并提供相应服务。
2、真正开放的数据库
由于采用了客户机/服务器体系结构,因而应用被分在了多台机器上运行。更进一步,运行在客户机的应用不必是Sybase公司的产品。对于一般的关系型数据库,为了让其它语言编写的应用能够访问数据库,提供了预编译。Sybase 数据库,不只是简单地提供了预编译,而且公开了应用程序接口DB-LIB,鼓励第三方编写DB-LIB接口。由于开放的客户DB-LIB接口允许在不同的平台使用完全相同的调用,因而使得访问DB-LIB接口的应用程序很容易从一个平台向另一个平台移植。
3、高性能的数据库
Sybase真正吸引人的地方还是它的高性能。这体现在以下几个方面:
⑴、可编程数据库
通过提供存储过程,创建了一个可编程数据库。存储过程允许用户编写自己的数据库子例程。这些子例程是经过预编译的,因此不必为每次调用都进行编译、优化、生成查询规划,因而查询速度要快得多。
①、存储过程
存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL语句集,存储在数据库中经过第一次编译后再次调用不需要再次编译。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。
②、子例程
一般认为,子例程是某个主程序的一部分代码,该代码执行特定的任务并且与主程序中的其它代码相对独立。
过程有两种:一种叫子例程(Subroutine),通常叫做Sub;另外一种叫函数,通常叫做Function。两者区别在于:Sub只执行操作,没有返回值;Function 不但执行操作,并且有返回值。
⑵、事件驱动的触发器
触发器是一种特殊的存储过程。通过触发器可以启动另一个存储过程,从而确保数据库的完整性。
⑶、多线索化
Sybase数据库的体系结构的另一个创新之处就是多线索化。一般的数据库都依靠操作系统来管理与数据库的连接。当有多个用户连接时,系统的性能会大幅度下降。Sybase数据库不让操作系统来管理进程,把与数据库的连接当作自己的一部分来管理。此外,Sybase的数据库引擎还代替操作系统来管理一部分硬件资源,如端口、内存、硬盘,绕过了操作系统这一环节,提高了性能。
链接:多线索
Oracle和Sybase都采用多线索。采用多线索模式,能用较少的线索管理大量的用户进程;并且,线索进程是动态可调整的。当用户数增加时,线索进程也会阶段性地自动增加;当用户数减少时,线索进程也会自动减少。多线索结构大大降低了Oracle和Sybase对系统资源的占用,提高了系统资源的利用率。
链接:多线索DBMS
数据库系统中的线索概念,借鉴了操作系统中的线程的含义:整个DBMS 可以看作是一个Task(任务),当有一个用户申请数据库服务时,Task分配至少一个Thread(线程)为之服务,多个Thread并行工作,共享资源。
一般地讲,DBMS中线索是DBMS的一个执行流。它服务于整个DBMS 中的某个用户;DBMS服务器响应客户请求是通过为每个用户创建线索来完成的。DBMS的各个线索能在逻辑上并行执行;它们共存在一个进程中,共享DBMS的资源,如数据库缓冲区和CPU时间。线索是DBMS的调度单位。服务器进程能按一定的调度算法调度用户请求。由于调度优化策略是数据库服务器执行的,因而会比操作系统直接应对这些请求要高度高效得多。
多线索机制可以减少每个用户需要的系统资源,如内存要求,从而可以增加并发用户数,提高服务器的运行效率,更好的支持OLTP(On-Line Transaction Processing,联机事务处理或在线事务处理)系统应用。
四、基本特征
SQL Server具有如下一些基本特征:
1、放在若干个磁盘设备上
SQL Server可以放在若干个磁盘设备上,初始安装时所需的磁盘空间至少要17MB。
2、支持多库结构
SQL Server支持多库结构。也就是说,在Sybase系统中,可以有多个数据库;Sybase可以管理多个数据库。
3、可以编译和运行T-SQL语句
关系型数据库系统有哪些SQL Server可以编译和运行T-SQL语句,并且可返回客户程序所要求的结果。T-SQL语句是标准SQL的扩充。它除了有数据定义语句、数据操纵语句和数据控制语句之外,主要增加了流程控制语句。
4、可以管理多个用户
SQL Server可以管理多个用户,并且具有较高的事务吞吐量和较低的事务响应时间。客户的应用程序可以存取Server(服务器)中某一个或几个数据库的数据。
五、主要内容
Sybase SQL Server是一个多数据库结构的RDBMS(Relational Database Management System,关系型数据库管理系统)。在安装Sybase系统时,自动生成下列系统数据库:
主数据库Master;
模型数据库Model;
系统过程数据库Sybsystemprocs;
临时数据库Tempdb。
也可选择下列数据库:
安全审核数据库Sybsecurity;
示例数据库Pubs2;
命令语法数据库Sybsyntax。
链接:系统数据库
服务器自身所使用的数据库,也可以说是管理服务器和用户数据库的数据库。Sybase在安装时,自动创建了以下4个系统数据库:
Master、Model、Sybsystemprocs、Tempdb。
链接:用户数据库
用户数据库是我们使用Sybase服务器的真正目的。要管理用户数据,必须在Sybase中创建自己的数据库,是指用create database(创建数据库)命令创建的数据库。所有新的用户数据库,都要在主数据库master中创建;也就是说,不能存取主数据库master的用户是无权创建新的数据库的。SA可以将创建数据库的权限授予其他用户。新建数据库中存在一些系统表,在sysusers表中至少有一条记录,即该数据库的创建者。数据库创建时,创建者即为该数据库的owner(老板)。当然创建者可以将这一地位或这一所有权用系统过程授予别的用户。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。