Carl W. Olofson
October 2009
IDC 的意见
企业正大范围的努力致力于整合他们的数据并使其适用于新的应用程序,这使得持续有效的数据和可伸缩可持续不断地管理这些数据的平台的需求在提高。为了达到这个目的他们显示出调研一系列新科技的意愿,甚至移出关系型的范围。
在前进的过程中,结构化的企业数据正在不断的与其他类型的数据整合,比如多种的内容格式和非关系型数据结构,关系型数据库正在被证实不适合一些涉及到得工作。面向服务的架构(SOA)与基于网页的程序不但需求高吞吐量与可靠性而且需求对复杂数据结构的支持。当企业在考虑新的方法去管理数据时,一种久负盛名的选择往往被忽略了:IBM 信息管理系统(IMS)。
许多企业认为普遍的主机系统尤其是IMS是一种老旧的科技,面临淘汰。但是事实上,主机系统和IMS一直在不断的进化,吸收非常新的硬件与软件科技为了交付这样一种数据服务:
- 在昼夜不停的基础上持久有效
- 交付与极限的可靠性相结合的极高的性能
- 在数据量增长时保证效率与成本高效益在一个稳定的程度
- 在便于管理的环境提供高可靠性与可伸缩性
- 减少伴随着潜在宕机的商业风险
方法论
准备这篇白皮书所搜集的数据来自IBM的简报与材料,和与几位高端IMS用户的采访,背景知识收集自IDC许多年在大规模数据库管理题目上的研究成果。
在这篇白皮书中
这篇白皮书考虑了在处理应用程序需要的特定类型的数据时,转换到关系型数据模型的需求.它描述了关系型数据管理在处理特定工作负载和用户场景时,内在的局限—-
形势综述
许多世界上的最大的和最重要的数据负载运行在基于IBM主机上的层次型数据管理软件IMS上。虽然这些数据库已经很安全很稳定同时高效的运行了几十年,但是有些人感觉IMS代表了一种“旧的技术”,需要被替换掉。他们注意到高伸缩性和高可靠性技术在多种分布式平台上的关系型数据库中兴起,也相信这些产品更低廉同时更符合未来发展的方向。
时常的去审视一项技术,并不断的就这项技术能否继续满足现在和将来的企业需求发问,这确实是一种谨慎并智慧的实践。 在考察一个数据管理系统时,需要回答以下这些关键问题:
- 这个数据管理系统的整体水平(有效性,扩展性,可靠性,安全与性能)确定可以满足企业未来的需求吗?
- 这个数据管理系统在企业中确实有强劲的未来吗?它能继续被(别的产品)配合,并且独立提供商能够在未来拿出让人有兴趣的版本吗?
- 还有另外的符合以下条件的产品存在吗?
-
- 正好与负载量和数据组织方式相适应?
- 为工作负载提供相同的或更好的服务水平
- 现在就能提供有吸引力的未来版本
- 能在总体成本下更便宜的使用与维护,他们证明了数据与程序转换到一个完全不同管理方式时所带来的显著的成本和风险
基于研究与调查的结果,仔细与彻底的回答这些问题很重要。
评估IMS与IBM主机环境
在评估主机环境的真正价值时,考虑这种环境的本质和它是如何区别与领先的RISC或者x86电脑技术,是十分重要的;后两者又被称为“分布式系统”。因为管理的简便性与低成本,这种系统在商业计算的大多数方面占有统治地位。然而,对于所有的商业计算任务来说,这些系统的确不是最好的选择。主机对于关键性基础应用程序,往往是更好的选择,尤其是那些需求极高吞吐量,稳定性,可靠性和与相关的软件系统有全方位的整合操作时。
主机对比分布式系统
在前面提到的,分布式系统趋向于更便宜并且相对容易的安装。对于大型复杂的需要大量处理器计算能力的应用系统,他们往往用网络连接在一起,有时成为“集群”,既用很多电脑高速互接,并用特殊的操作系统和文件系统合作运行,达到效果像一台单独的虚拟系统。当这样建成分布式系统是,他们很快就陷入了极高复杂度的计算环境,这需要很多人员去管理并受到很多人为错误的影响。他们这种整合成的集群系统却用来处理要求极高可靠性的非常大量的,高吞吐的作业。
主机系统不需要变成如此复杂就有能力处理这些作业,因为他们本身就是为此设计的。当有更高的可扩展性要求时,主机们可以依靠组合共享工作负载,这又被称之为“Parallel Sysplex”。因为主机被设计为可以在Parallel Sysplex中互操作,装配主机与装配大型分布式集群系统相比,相对的更简单。为什么会这样呢?
一台主机就是一个特殊计算机部件整合的网络
主机常常被不正确的与他们的对手分布式平台相比。一台主机不是相当于一台分布式电脑或者一个更大的。这是因为一台主机真的是一种预制的特殊处理器构成的网络,它可以自动的分发与协调计算能力,I/O和网络操作。甚至它的性能也是用一种不同的标准来衡量。因为分布式系统的处理器执行相对简单的运算,他们可以用时钟脉冲或者在一个“cycle”中的滴答来衡量。主机的运算很复杂,这是因为他们被设计为高度多核心与在芯片级别的虚拟中断处理,这没有类似“cycle”的这种东西,因此他们用一种“百万次指令每秒”(MIPS)来度量。
一个分布式系统处理所有的事情—计算指令,内存存取,I/O操作等等—通过单个处理器或者一组处理器,其中的每一个可能有或没有多核心。主机拥有一组处理器来处理指令和内存存取,另外一组用来I/O运算,还有另外一组仅仅为了管理系统的状态。分布式系统仅仅有一种中断。它事实上中断正在运行的处理器。如果一个用户敲击键盘,它会中断处理器等等。主机同样拥有这样的中断,但是他们被称为“即时中断”一般用来指出一种错误状态。另外的所有的中断在主处理器之外处理,设一个标志等待操作系统在适当的时候处理。这些被称之为“延迟中断”。另外,大部分关系到磁盘,终端,网络或别的I/O的运算不是中央处理器来处理而是由相应的特殊处理器来处理。
由于这些不同,主机处理流比起对手来更加平滑,尤其是当许多种不同的工作负载跑在同一个系统上。另外,由于这些不同,把主机当成一台普通的电脑与分布式系统相比较是不合适的;相反,一个主机应该更多被理解为围绕在一组中央处理器周围的特制部件紧密集成的网络。
主机使用虚拟化来提供统一的运算
很多年以前,分布式系统硬件与软件提供商开发了许多技术使得分布系统的组合可以模拟主机的一些能力。这些技术包括了集群系统,集群文件系统和虚拟机软件。它们都用到了虚拟化技术将应用程序和数据库与特定硬件隔离开来。这是十分必须的,因为在分布式系统中应用程序和数据库通常利用名字和地址与他们的物理资源相关联。
作为对比,主机自从1960年代早期System/360下线以来一直应用虚拟化技术。虚拟化技术在主机上提供了:
- 用符号名引用文件和设备。
- 用符号名引用内存地址。
- 虚拟内存地址,利用磁盘分页技术使得内存可寻址范围超过实际内存大小。
- 使用名字引用数据库,应用程序和所有其他的资源,使得系统程序员,应用程序经理和数据库管理员不用更改任何源代码的使用标准的系统管理功能。
由此,主机便在一种统一的方式下拥有了可以容易的管理应用,数据库,环境,文件,安全等等的表,编目和文件夹。
因为主机是以这种形式发展来的,它们通常托管许多应用和数据库,与此同时,分布式系统常常是为一种应用和数据库定制托管。事实上,虚拟机软件普遍用在加强应用程序和数据库运行在分布式系统。虚拟化和统一工作负载是主机最自然的状态。因此,主机环境保证了混合的工作负载能够完全的分离与保证安全。
IMS与其他数据库管理系统产品有什么不同
IMS是一种为了IBM 主机设计和开发的层次型数据库管理系统。它包括了内建的并行处理,合作数据存取支持和数据存取语言DL/I.它发展自1960年代中期,为的是处理种类繁多的数据管理工作量,至今依然普遍应用在工业制造,金融,零售,电信和高度复杂的记录与账户管理程序中等等。虽然它的新装机率与领先的替代方案-关系型数据库的装机率相比,增长十分缓慢,但是它的客户却非常稳定,这是由于它管理的数据十分关键,并且事实上它所做的工作十分难被替代甚至不可能被替代。
關系型数据库管理系统
当今统治性的典型数据库管理系统是关系型的,既用有行和列的表的格式来表示数据,一些列包含主键和次键另一些列包含指向其他表的键。这一切基于IBM 院士 E.F.Codd 博士的工作,他利用数学上集合论的理论完成的工作。自从1980年中期它变得非常流行,这是因为它的简单和管理商业记录的通用性。关系型数据库被发现十分适用于管理表格类型数据比如会计数据。因为它包含了一个相对标准的存取语言(SQL)和存取接口(ODBC和JDBC),它发展了一种各个提供商的DBA可以共同讨论DBMS的社区。这提供了一个稳定的雇员池,使得程序员能够开发不特定限于某一个vendor的程序,并展现了一种便携性的愿景,虽然真的从一个vendor的数据库上移植应用程序到另一个上时是如噩梦般的困难和充满风险的。
这种扁平的,表格型的数据模型并不适用于所有类型的数据结构。这种Codd 博士开发的关系数据模型,是为了不需要专门了解数据库的结构就能容易的存取数据而提供的一种手段。它的目标并不是操作的效率或处理所有类型的数据结构和关系。
IMS和层次型数据模型
IMS基于一种层次型数据组织技术,这种技术源于1960早期的第一个数据库项目,经历由IBM的传奇 Vern Watts领导的天才小组长期的创新研发。不像关系型数据库,IMS用可操作的层次型组织它的数据(既基于为了批处理而聚合成的记录的层次)。在这种层次中,记录(叫做“segments”)连接在一起,由于层次型的设计支持非常快的存取。在关系型数据库的数据中移动,一个SQL请求必须包含表连接,其中每一个被RDBMS利用索引查找解析,查找符合的行,取出他们,找到外键的值,实施另外一次索引查找,找到连接的表的对应行,继续找外键的值,等等。在IMS中 DBMS简单的遍历从segment到segment的链,在一次操作中取得大块的相关数据。
这种层次型数据模型十分适合处理复杂的拥有许多层次的数据结构,尤其是当许多相关记录必须被同时获取时。他在工业制造应用中十分流行,因为它非常容易的用来处理零件数据库。这些“原料的账单”-这些结构需要的功能比如向外查找(找到这个部件的部件)和向内查找(找到特定部件属于哪个部件)的结构。关系型数据库不能流畅的处理这些操作,只能程序循环中执行SQL操作,并包含向外查找和向内查找的应用程序逻辑。
IMS不应该被当作能够解决所有数据管理问题;许多工作负载更适合关系型数据库。但是那些特定的工作负载,尤其是那些牵扯到有许多层的复杂数据结构和需要十分高的交易吞吐量的,需要具有IMS的能力的DBMS。
涉及到从IMS迁移数据和应用到关系型数据库的项目,通常运行的会比预期的时间长成本更高,假设它们最终完成了,结果也往往不能令人满意。在这片文章的编写的研究过程中,分析员了解到两个这样的项目,运行超支,没有达到目标,并被最终放弃。这样的故事很普遍,过去的研究已经遇到过许多次了。
IMS是一种应用程序平台
不像大多数DBMS产品,IMS同时也是一种可以在其上部署应用程序的平台。它拥有全面安全保证的多处理环境,有能力支持大量的拥有许多并发用户的应用程序。这个交易处理平台又被称之为IMS Transaciton Manager(TM)。尽管普遍看法是IMS等主机的程序仅仅是通过绿色的屏幕运行在隔离的后台,TM使得IMS成为一种基于SOA,基于网格或者基于.NET的分布式计算环境的不可分割的一个组成部分。
TM可以运行的像一种使用标准WEB服务约定和客户端打交道的服务平台。这种约定包括SOAP和WSDL。除了通常的主机编程语言(Assembler,PL/I,COBOL),TM同时支持JAVA,C和C++代码。这些代码除了可以享有主机带来的可靠性和高吞吐量同时可以被集成在统一的主机管理下,使得一些事情,比如资源和标准的安全管理十分容易。在TM部署的服务同样完全完全兼容.NET环境。
IMS工具和关于具备合格技能的员工的问题
多年来,IBM一直在开发和提供能够自动化和简单化涉及IMS开发和管理的工具。这很重要,因为现有的劳动力的年龄关系,许多经理对于下一代IMS DBA将会从哪里来存有疑虑。
IBM的IMS工具组合和相关的跨数据库开发工具和数据库,数据库应用和数据的管理已经发展为,一般的IT专员既可以胜任并且不需要多年的经验和专门的训练。另外,IBM设立了一个SYSTEM Z学院活动,它已经登记了世界范围内超过600所大学和技术学校,培养下一代的System Z和IMS技术人员。最后,IBM正在启动超过20个地区的IMS 用户组活动。 这些组织一年活动2到3次,为IMS用户提供免费的机会提高他们的技术水平并分享自己的经验给当地的其他用户。由于这些原因,这种未来很难雇到IMS技术人员的担忧已经毫无根据了。
XML,SOA,开发连接性与云计算
考虑替代物
未来展望
挑战与机遇
结论
案例学习
版权提示
