IBM Informix 11.x系统管理与开发指南
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第1章

关于IBM Informix

Informix公司成立于1980年,其总部位于美国,是联机交易系统、数据仓库系统和电子商务应用领先的供应商,Informix 软件为零售、金融、电信、医疗保健、政府、制造业、出版等行业提供高性能的数据库管理系统,产品以简单、易管理和高性能著称,公司成立的目的是为UNIX等开放操作系统提供专业的关系型数据库产品,公司的名称Informix便是取自Information和UNIX的结合。因此,如果对UNIX操作系统比较熟悉,将有利于你很快地掌握Informix。

Informix第一个真正支持SQL语言的关系数据库产品是Informix SE(Standard Engine), Informix SE 的特点是简单、轻便、适应性强。它的装机量非常之大,尤其是在当时的微机UNIX环境下,成为主要的数据库产品,它也是第一个被移植到Linux上的商业数据库产品。

在20世纪90年代初,联机事务处理成为关系数据库越来越主要的应用,同时, Client/Server结构日渐兴起。为了满足基于Client/Server环境下联机事务处理的需要,Informix在其数据库产品中引入了Client/Server的概念,将应用对数据库的请求与数据库对请求的处理分割开来,推出了Informix-OnLine,OnLine 的一个特点是数据管理的重大改变,即数据表不再是单个的文件,而是数据库空间和逻辑设备。逻辑设备不仅可以建立在文件系统之上,还可以建立在裸设备上,由此提高了数据的安全性。

1993年,为了克服多进程系统性能的局限性,Informix使用多线程机制重新改写数据库核心,次年初,Informix推出了采用被称为“动态可伸缩结构”(DSA)的Informix Dynamic Server。除了应用线程机制以外,Informix在数据库核心中引入了虚处理器的概念,每个虚处理器就是一个Informix数据库服务器进程。在Dynamic Server中,多条线程可以在虚处理器缓冲池中并行执行,而每个虚处理机又被实际的多处理机调度执行。更重要的是,为了执行高效性和多功能的调谐,Informix 将虚处理器根据不同的处理任务进行了分类,每一类用来完成一种特定的功能。

之后,Informix在设计中加入了数据分区和并行处理的理念,成为其他数据库厂商学习的榜样。

到20世纪90年代后期,随着 Internet 的兴起,电子文档、图片、视频、空间信息、Internet/Web等应用潮水般涌入IT行业,而关系数据库所管理的数据类型仍停留在数字、字符串、日期等六七十年代的水平上,其处理能力便显得力不从心了。1995年,著名的数据库学者、Ingres的创始人、加州大学伯克利分校的Michael Stonebraker教授及其研发组加入了对Informix的研发,使之在数据库发展方向上有了一个新的突破,1996年Informix推出了通用数据选件(Universal Data Option)。这是一个对象关系模型的数据库服务器,它与其他厂商中间件的解决方案不同,从关系数据库服务器内部的各个环节对数据库进行面向对象的扩充;将关系数据库的各种机制抽象化、通用化。Universal Data Option采用了Dynamic Server的所有底层技术,如DSA结构和并行处理,同时允许用户在数据库中建立复杂的数据类型及用户自定义的数据类型,同时可以对这些数据类型定义各种操作和运算以实现对象的封装。在定义操作和运算时可以采用数据库过程语言、C语言,它们经注册后成为服务器的一部分。

1999年,Informix进一步将Universal Data Option进行了优化,为用户自定义数据类型和操作过程提供了完整的工具环境。同时对传统事务处理的性能超过了以往的 Dynamic Server。新的数据库核心便被命名为IDS.2000,它的目标定位于21世纪基于Internet的复杂数据库应用。

2001年,Informix推出了9.3版本,在这个版本中,用户可以使用长达30个字符的标示符,可以使用命令行的工具onpladm进行快速的数据导入/导出,可以重命名索引,可以通过select语句锁住记录,引入了标准的外连接语句,可以更快地获得SQL语句的执行计划,可以动态增加逻辑日志,动态申请锁,可以从断点处恢复,可以配置默认的锁模式等特性。

2001年,IBM收购了Informix公司,成为IBM软件家族的一员,Informix成为IBM数据管理部分策略性的产品之一。

为进一步扩展Informix易使用、易管理和高性能的特性,IBM陆续推出了以下版本,在每个版本中都会针对市场需要增加一些相应的特性。

2002年,Informix推出了9.4版本,在数据量管理上和高可用性上实现了重大的突破,用户可以开始使用大于2GB 的chunk 文件,chunk 的数量增加到了32 767个,这意味着Informix 产品的存储空间得到了极大的扩展,更加适合于企业级用户使用;许多的数据库工具如load、unload、dbimport、dbexport都取消了之前2GB文件的限制;表复制和HDR技术可以共存;引入了序列对象;可以重定向恢复。

2005年,Informix推出了10版本,在处理性能、数据量管理、备份恢复和应用开发方面进行了进一步的改善。这个版本较之前的7版本和9版本性能得到了进一步的提升;在数据量管理方面,用户可以根据记录行的大小定义不同页面大小的 dbspace;可以自己调整排序总内存的大小;可以在相同的 dbspace 上进行分片;可以在应用层面指定表连接的方式;数据库可以通过管道备份或恢复,使得 HDR 的安装变得更简单;引入了单用户的模式;敏感列可以加密;可以在线创建和删除索引;可以从全备份中恢复一张表的部分或全部数据;表复制的配置将变得更简单;用户可以使用派生表、truncate table语句;在安装数据库产品时,不再考虑数据库和ClientSDK的安装顺序问题;Index Self Join提高了部分SQL的处理性能。

2007年,Informix推出了11版本,这个版本中最大的变化是引入了共享磁盘的集群技术,Informix把它称做Share Disk Secondary Server,用户可以通过多个机器访问同一个数据库;可以通过连接管理器连接后边的集群成员。另外,引入了last committed事务隔离级别,进一步增强了数据库的并发处理能力;引入了灾备的技术Remote Standalone Server,它的特点是对网络的要求更低,这使得一个生产系统可以有多个备份中心;有了图形化的管理和监控工具OpenAdminTool;在insert、delete事件上可以定义多个触发器;checkpoint阻塞交易的时间大幅缩短;对存储过程的语言进行了扩展;数据库可以自己调度任务等。

2008年,Informix推出了11.5版本,本教材将陆续介绍11.5中的管理功能,在开发方面,在存储过程中可以使用动态SQL语句;可以使用merge语句、层次查询语句、外部表;可以嵌套事务等。

Informix主要产品分为四大部分:

● 数据库服务器(数据库核心)。

● 应用开发工具。

● Informix数据仓库产品。

● 数据库互联产品。

数据库服务器有两种,作用都是提供数据操作和管理。

● SE:完全基于UNIX操作系统,主要针对非多媒体的较少用户数的应用。

● Online:针对大量用户的联机事务处理和多媒体应用环境。

应用开发工具是用以开发应用程序必要的环境和工具,主要也有三个系列。

● 4GL:Informix传统的基于字符界面的开发工具,用于开发UNIX平台上字符界面的应用和报表等。

● SQL:用于开发FORM。

● ClientSDK:包含了使用Java或者C语言进行应用开发的开发包。

Informix数据仓库产品:如果交易型应用采用的是Informix,可使用Informix数据仓库搭建分析型的应用,将使得数据抽取、转换、装载和管理的成本大幅降低。

Informix数据库互联产品:提供给用户基于多种工业标准的应用程序接口,通过它可以和其他遵守这些工业标准的数据库连接。