不受制于厂商 大型机迁移概念及优势(1)

厂商们最近开始吹捧关于大型机迁移这一存在些许矛盾的理念了。尽管如此,此举将为大型机上应用的跨平台提供便利。

IBM 大型机培训课程分析

1
数据库发展简史和DB2简介

大型机迁移的概念

主要课程简介:

数据库的产生和发展的根本目的是方便数据的管理和应用程序的开发。

大型机迁移的关键在于,提供便利的应用软件移植途径,使应用可在源代码级别完成至Windows或
Unix平台的移植。在此前提下,这些产品的目标将趋向于批量处理及模拟COBOL
CICS。移植应用软件的方法多种多样,但主要有以下因素:

  1. Os/390 ibm的一个操作系统

最开始的数据管理形式是文件,这种管理方式的不足是数据分散,不好集中管理,不方便数据共享。

编程语言。有很多可用的COBOL编译器,最流行的是起于80年代的Micro Focus
COBOL。用其他语言编写的模块,例如C、C++或Java对平台的兼容性更强,也更容易进行跨平台移植。

   
OS/390是一个集成的企业服务器操作系统。它将开放的通讯服务器、分布式数据和文件服务、并行耦合系统支持、面向对象程序设计、DCE以及开放应用程序接口集成为一个产品。由于它是在MVS操作系统基础上发展起来的,因而保留了MVS的高可靠性、持续可用性及安全性等优异性能,为用户提供了一个具有可扩充性的系统。IBM大型机以前的MVS操作系统是封闭性的,而OS/390转变成开放式的,它包括许多服务器软件,具有整合性的功能。OS/390除了保持原有MVS所有的功能和特性外,它还是一个完整的UNIX
XPG4(即通常所说的UNIX 95)。其主要功能包括:
    1.
UNIX服务内核与分叉功能。公用网关接口(CGI)是一种广泛使用的机制,用于处理可执行的脚本、执行程序或者桥接至传统的MVS事务管理环境。当前的实现方法是UNIX服务分叉功能使用
APPC服务将请求送到APPC管理的初始器。这意味着 APPC接口、APPC
LU层、SCF服务(从APPC
LU到APPC调度程序)以及APPC调度程序都将引起额外的开销。而提供了这种支持以后,就可使我们能够用流水线来处理这个过程。这样,客户请求就可以路由到工作复合管理的预置服务空间,以便从路径中省略APPC。
    2.
UNIX服务文件系统汇合套接字。在UNIX服务中,汇合套接字为异步I/O和SRB模式调用程序提供了支持。MVS
TCP/IP与UNIX服务套接字 API汇合成为策略套接字库。
    3.
UNIX服务文件高速缓存。OS/390的UNIX服务文件高速缓存允许将文件从高速缓存放到虚拟存储器中(位于与内核相连的数据空间中)。
    4.内核裁剪转储支持。内核裁剪转储支持添加了一个UNIX
SVC转储出口服务,这样就可以确保那些具有UNIX服务内核地址空间的非UNIX服务实现SVC转储。
1.  Jcl 作业控制语言
  
作业的概念是大型机里面比较常见的概念,这一部分是学习大型机必须要学的内容。

之后,1961年美国通用电气公司(General
Electric)开发了第一个DBMS——“Integrated
DataStore”(简称IDS)这是一个网状数据库管理系统(数据模型用的是网状模型)。IDS只能在GE主机(就是通用电气公司生产的主机)上运行。IDS的数据库只对应物理存储上的一个文件,而且要通过手工编码才能生成数据表。这些是IDS的缺点。综上,要注意世界上第一个数据库是网状模型的,不是关系型的。制作出第一个数据库的是通用电气公司,而不是IBM公司。

数据仓库。一般来说,DB2应用是可以完整迁移至其他关系型数据库管理系统平台上,例如UDB、
Oracle或SQL
Server。企业同样可以选择开源数据库引擎以节约后期成本。产商们有许多不同方法以应对虚拟存储访问方法VSAM)数据集:某些在分布式文件系统上模拟VSAM集群,还可以通过提供包含某些DBMS后端将VSAM文件调用转换为SQL语句。

  1. VSAM:
      Virtual Storage Access Method(虚拟存储存取方法)的缩写,
      它也是一种索引顺序文件的组织方式,采用B+树作为动态索引结构。
    虚拟存取方法(VSAM)是IBM公司推出的用于ES9000大型机操作系统VSE/ESA(Virtual
    Storage Extended / Enterprise System
    Architecture)下进行数据资源管理的系统软件。以下主要对VSAM数据文件的管理进行一些探讨.
  2. VSAM的功能
    目录和存储空间的管理。目录包含了关于VSAM数据集(DATA
    SET)的信息;所有数据集必须在目录中定义;数据集的存放空间由VSAM定义。记录管理。所有的VSAM数据集放在磁盘设备上;VSAM支持四种类型的数据集(KSDS,ESDS,RRDS,VRDS)。存取方法服务技术。提供了管理目录和数据集的常用方法。
  3. VSAM的目录
    每个VSAM软件包必须有一个主目录。主目录中必须有指向每个用户目录的指针。用户目录中有为VSAM数据集设定的表目,卷和数据空间的定义。目录通常由系统程序员/管理员产生。
  4. VSAM块的定义
    逻辑记录(Logical
    Record,LR)中包含了我们要处理的记录,LR由用户程序来读写。控制间隔(Control
    Interval,CI)是一组逻辑记录。我们可以在定义VSAM文件时选择CI的大小,也可以让VSAM自动选择CI的大小。控制区(Control
    Area,CA)是一组控制间隔。CA的大小是VSAM文件配置的一个部分。我们可以在定义数据集时改变相应的CA大小。CI和CA在所有类型的VSAM数据集中使用。CI是在磁盘和虚拟内存之间的传输单元。CI的大小依赖于磁盘设备的类型和结构。
  5. VSAM文件类型
    每个VSAM文件都有一个数据部分。KSDS和VRDS文件还都有一个索引部分。当采用VASM进行数据集定义时,同时也指明了该数据集在Catalog中定义的文件名。下面来讨论CI的格式。CI的大小是在定义文件时就指定的(也可以是缺省值)。它的最小值是512个字节。最大值是32K字节。VSAM文件存储格式如图2.7所示。

和网状数据库并行发展的是层次型数据库。1968年IBM的“Information
Managerment
System“(简称IMS)就是一款著名的层次数据库。IMS并不是第一个层次数据库,但是非常著名。而对于IBM公司而言,IMS是IBM公司开发的首个DBMS。可见,IBM推出的第一款DBMS并不是关系型的(更不是DB2),而是层次型的IMS。

交易处理模拟器。供应商们通常会提供某种CICS模拟器,用于支持大部分的开放应用程序接口API)。在这样的情况下,命令调用将通过模拟软件实现类CICS的功能。我目前还没有发现一款可以用于IMS数据库或者在线交易的模拟器。

4.  COBOL (面向商业的通用语言,又称为企业管理语言、数据处理语言等,
   Common Business Oriented Langauge)是最早的高级编程语言之一,
   是世界上第一个商用语言。
  
在计算机的应用领域中,数据处理是应用最广泛的一个领域。数据处理的日益广泛应用要求人们设计出能满足实际数据处理工作中各种要求的一种计算机语言。COBOL语言就是在这种形势下应运而生的。

网状数据库和层次数据库的时代,已经解决了用文件形式管理数据的时候数据分散,不好集中管理,不方便共享的缺点。(网状数据库比层次数据库更流行一些)。但是,网状和层次数据库也有它们的缺点——数据的独立性不大,抽象级别太低。具体的体现就是数据和底层物理存储方式的绑定程度太大,当存取数据的时候,要知道具体的物理存储结构和存储路径,这样的数据库当数据量加大的时候会越来越难以处理,而且对于应用开发也非常不方便。

批量处理。某些产品包含了工具,用于将一次性会话的工作控制语言转换为脚本。其他产品则通过一个实时翻译器运行原始的JCL。

5.  BD2  ibm的数据库管理系统,是世界上著名的数据库管理系统之一,
  主要部署在os操作系统上。

为了解决上述的问题,产生了关系型的数据库。关系型数据库的产生是以坚实的数学成果为背景的(关系代数)。1970年IBM的codd发表了著名的论文《A
Relational Model of Data for Large Shared Data
Bank》拉开了关系数据库的序幕。后来,IBM依据这篇论文以及相关的关系代数理论逐步完善最终形成了SQL语言。

移植应用最大的问题莫过于重新编译。潜在问题可能包括PL/1与汇编程序的重写或调试。某些代码可能会因为无法完全模拟CICS命令的一个子集而需进行修改。最后,应用程序可能会有很少部分,如IMS数据库或企业组件无法迁移至其他平台。遇到这种情况,就需要有所取舍,采取应对方法以实现所需功能。

6.  CICS  是一系列为 IBM 和非 IBM
平台上的应用提供联机事务处理和事务管理的产品,其功能是为商业应用提供一个事务处理环境。CICS其全称是
Customer Information Control System,即客户信息控制系统。CICS
建立在操作系统、ISO的分布式计算环境 ( DCE,Distributed Computing
Environment ) 和 Encina
服务上,它帮助客户建立三层次结构的联机事务处理应用。CICS
为应用程序开发、通信、恢复、显示、数据管理、安全性和内部通信等提供很多项服务。CICS
可以与 DCE
紧密结合,以满足分布式环境对于安全性,名字服务等的特殊需求。CICS
的结构设计也是面向事务处理的,CICS
构建的是一个三层次结构的应用系统,CICS
有效地区分应用系统中的表述逻辑层、业务逻辑层和数据逻辑层,从而使应用系统结构清晰,维护简单易行。目前,在IBM的全系列计算机系统中均有相应的
CICS
产品,如OS/390、MVS/ESA、VSE/ESA、OS/400、OS/2,并扩展到其它厂商的系统中,如HP、DEC、SUN等等。

1979年,oracle公司推出了第一款关系型数据库。可见,首个推出关系型数据库的公司不是IBM,第一个关系型数据库也不是IBM的DB2.

大型机迁移的概念…

 

后来有人觉得关系型数据库在处理复杂的数据结构时非常不方便,于是提出了面向对象的数据库,简称OO数据库(Object-Oriented)

1.课程实际上可以分为这几个部分:
    操作系统 : os/390, VSAM, Jcl是操作系统相关课程,
    数据处理 : db2 和  COBOL
    事务处理 : CICS
    其他     : 上机,时间管理,项目管理,团队管理等。
    
    
2.  和pc机上的编程的关系:
  在语言上基本无关,jcl 和
cobol最常见的还是在大型机上,pc机上基本上没有。
  相关的也很多:熟悉unix操作系统,基本上就可以很好的操作linux
操作系统,学会了db2 其他的dbms
也就会了,熟悉事物的处理对传统pc的编程,数据库的学习还是很有帮助的。还是那句话,博采众长才能有所创造,但是要博采众长,首先要学洗很多东西,这是大器晚成的原因。学习了大型机编程,对我们普通pc机上的编程有时也许会提供很好的思路。

之后又有了混合型数据库,这种数据库的代表是IBM的DB2
V9(2006年出品)。之所以称之为混合型数据库是因为这个数据库同时支持传统的SQL数据(就是一般的整形,字符型等数据)和XML文档型数据。这种数据库可以让用户同时处理传统的关系型数据和XML文档型数据。要注意DB2
V9对于传统的关系型数据和XML文档型数据在底层还是分开存储的。但是底层存储方式对于上层的应用是不透明的。就是说应用程序不需要关注对传统关系型数据和XML数据在存取方式上的区分,这些底层上对这两种数据类型(传统关系型数据和XML文档数据)的存储配置处理工作是由DB2自动完成的。正因如此DB2
V9是DB2众多版本中的里程碑。

3.  云计算与大型机:
 
云计算会不会替代大型机,这是一个争论很久的问题了,现在云计算很热门,有很多人都觉得要替代大型机了。
    “云计算”(Cloud Computing)是分布式处理(Distributed
Computing)、并行处理(Parallel Computing)和网格计算(Grid
Computing)的发展,或者说是这些计算机科学概念的商业实现。许多跨国信息技术行业的公司如IBM、Yahoo和Google等正在使用云计算的概念兜售自己的产品和服务。
 
使分布式计算越来越普遍、逐渐发展成主流的计算模式而取代集中式的大型计算机的五个主要原因如下:
  1.
现在分布式系统的第一个原因就是因为他具有比集中式系统更好的性能价格比。你不要花几十万美元就能获得高效能计算。
  2.
多数应用本身就是分布式的。如工业企业应用,管理部门和现场不在同一个地方。
  3.
高可靠性。冗余不仅是生物进化的必要条件,而且也是信息技术。现代分布式系统具有高度容错机制,控制核反应堆主要采用分布式来实现高可靠性。
  4.
可扩展性。买一台性能更高的大型机,或者再买一台性能相同的大型机的费用都比添加几台PC的费用高得多。
  5.
高度灵活性。能够兼容不同硬件厂商的产品,兼容低配置机器和外设而获得高性能计算。

数据库大事件:

   
但是,在很长的一段时间内,分布式的技术不可能达到很多计算机一起运行,对编程人员来说是一台机器的程度,有也会是一部分大公司的专利。分布式软件的价格与编程成本在一定时间内会有很高的成本。硬件的价格的降低,工艺的成熟,也会降低大型机的价格。当然,也许这是两种趋势,一种是在硬件角度实现并行计算—大型机,一种是从软件角度实现并行计算—云计算。
到底谁是最佳选择,那就看未来吧。。。。

1969
IBM的IMS诞生,这是IBM的第一代数据库,所以也称IMS为DB1(之后的关系型的是该公司的第二代数据库,所以统称DB2了)

1970 IBM的codd发表了论文《A Relational Model of Data forLarge Data
Bank》拉开了关系型数据库的序幕

1973 IBM成立System
R项目,该项目旨在开发IBM的首个关系型数据库,并第一次部署了SQL,首次部署了事务处理。System
R为IBM的第二代数据库即DB2的产生打下了基础。

1974 IBM 的Don Chamberlin和Ray Boyce发表了《A Structured English Query
Language》这成为了日后SQL标准的基础。

1975 IBM的Don Chamberlin 和 Morton Astrahan 的论文《Implementation of
Structured English Query Language》阐述了在System R中的SQL实现情况。