IBM Support

一颗王冠上的宝石:单级存储

Technical Blog Post


Abstract

一颗王冠上的宝石:单级存储

Body

 

一颗王冠上的宝石:单级存储

原文地址:http://db2fori.bogspot.com/2012/11/one-of-crown-jewes-singe-eve-storage.htm

 

上个月System i Deveoper组织的人员在明尼阿波利斯(美国明尼苏达州南部城市)举行了2012秋季RPG & DB2峰会。顺便说一下,那的确是一件很棒的事情,部分原因是因为他们邀请了IBM i 的总架构师Steve Will 做了主题演讲。Steve题为“Why i” 的演讲涵盖了在POWER硬件上运行IBM i操作系统的许多特性和优势,其中之一就是单级存储。就在这次峰会中的一个数据库的讨论会上,一位参与者说他从来没有听说过单级存储。他想知道更多并且很想知道单级存储跟数据库有什么关系。 我承诺给一个答案——以下就是。

IBM i的单级存储

在我看来,IBM i(以前叫OS/400)最大的优势之一就是将所有的类型存储(内存、固态硬盘、普通硬盘等)看成单一地址空间。效果就是操作系统看到的就是一个巨大的虚拟地址的集合(从1991年开始就是64位地址,从1978年开始就是48位地址!)。这就意味着系统管理员和应用程序开发人员不用考虑物理存储机制。20世纪70年代曾经有一个计算机科学预言,IBM的研究人员认为未来的计算机系统将基于大量“主存(内存)”而不需要硬盘。正因为如此,如何为驻留在内存中的海量信息分配和使用大量地址就成为一个需要重点考虑的因素了。可以这样设想一下,计算机所有的数据都加载在内存中,而且只在内存中,那么每一个数据片段就需要一个唯一的地址,这样数据片段才能被没有任何歧义的引用到。

虽然人人都会事后诸葛亮,但是似乎明尼苏达州罗切斯特的工程师早就在寻找前进的道路。尽管基于大量内存且没有硬盘的计算机系统还很遥远,IBM的“未来的系统”已实现寻址和存储方案,一切(数据和程序等)都仿佛是驻留在内存中的。

 

图像

 

为了实现单级存储的概念,IBM i 还有一个非常有价值的名为“集成存储管理”的机制。简而言之,存储管理负责在硬盘里保存对象并处理硬盘和内存之间数据的移动。显然这种独特的寻址和存储的方法有很多优势,尤其是当你将IBM i跟其它操作系统比较的时候(有人还记得DOSWindows的内存管理吗?)。

 

DB2 for i怎么样?

DB2 for i作为一个集成的数据库管理系统充分利用了单级存储和存储管理。 在许多方面都能体现这种优势。

当创建数据库对象比如表和索引,定义指定一个对象名而不用指定物理位置。DB2 for i自动创建实际的数据空间。举例来说,开发者不需要(也没有办法)创建表空间和指定其实际存储的位置和和其物理属性。在DB2 for i所有要做的仅仅是CREATE TABLE语句而已。在DB2 for i里从来没有听说可以通过操作表空间的存储属性来解决(预防)数据库的性能问题。这是怎样做到的呢?

 

从技术上讲,IBM i的存储管理在所有可用的磁盘里自动散布数据库对象。当数据库对象扩大或收缩时,IBM i会处理增加或减少空间的需求。单级存储和自动存储管理的结合将数据库工程师和开发人员从繁重的存储管理工作中解脱出来。生活是如此地简单和容易,生活很美好。

 

图像

假设所有的系统都有硬盘和内存,DB2 for i能够利用 IBM i的存储管理来在主存和辅存(内存和硬盘)之间移动数据,这种方式只有集成数据库才有。DB2 for i中的对象和应用程序共享相同的内存,这样存储管理就能够通过优化平衡地使用相邻的内存来简化操作并获得更好的性能。

IBM i的管理特性和被称作“一份数据拷贝” 的概念一起,通过独特的虚拟地址(VA)提供一些非常智能的I/O(输入/输出)功能。I/O可以安排成异步地执行(即无需等待)以满足即时数据请求。通过引用虚拟地址可以将数据缓存在内存中,并透明地访问。

无需对缓冲池或数据库子系统进行定义、配置或管理。如果表和/或索引在查询之前载入内存,应用程序就没有必要等待相对较慢的物理I/O机制。

当进行物理I/O时,查询优化器能够请求并行的I/O来较快地将数据载入内存。别忘了这是在没有数据库管理员,也没有为并行性配置数据空间的情况下完成的。

 

图像

问答

虽然没有很公开的谈论,DB2 for i使用非常复杂的算法和计算技术解决了以数据为中心的各种问题。单级存储和集成存储管理相辅相成,这也解释了为什么运行在POWER硬件上的IBM i操作系统能够拥有如此的高性能,可扩展和节省成本。

如果你碰巧认识Oracle,SQL Server或Sybase的数据库管理员,问问他们在数据库存储和数据访问方面的所作的工作。特别关注一下他们所需的时间、精力和注意事项 ,然后你会点头感谢IBM i上为你所作的处理。

作者:Mike Cain

翻译:IBM i DB2 team

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SWG60","label":"IBM i"},"Component":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"","Edition":"","Line of Business":{"code":"LOB57","label":"Power"}}]

UID

ibm11144666