数据存储产业服务平台

存储专栏:数据库定义存储之IBM篇

存储在线专栏文章:今天我打算聊聊存储和应用的结合,特别是数据库方面。软件和存储的结合方面,做得最好的是VMWARE,前面我们介绍过VAAI,vCenter插件等等就是一个非常好的例子。而且VMWARE比较开放,所有的存储厂商都可以参加认证。比如VMWARE发布最新的5.5后,华为HVS就很快通过了VAAI认证。

但在数据库领域就不是这样的了。高端数据库目前最重要的两家ORACLE和DB2,他们都和自家生产的存储紧耦合,这个给客户带来一定的价值。其他的厂商,是否可以考虑和SQL SERVER、SYBASE、SAP合作,提供进一步的整合呢?特别是国产的存储厂商,是否联合国内的数据库厂商,双方提供一个开发的接口,来实现全国产化的紧耦合,简化用户的管理,提高系统的性能呢?

这就是西瓜哥的理想,希望能够尽快看到国产存储能够在这块的动作。那么到底一般的数据库和存储如何耦合,今天我们先看一个简单的DB2和DS8000配合的例子,明天我们看看ORACLE和ZS3配合的例子。我希望通过对这些分析,给其他的存储厂商带来一些思考,毕竟这个我认为是未来差异化战略的重点。

IBM的DS8000在开放环境下和应用软件特别是DB2的配合主要体现在三个方面,我们前面DS8000的架构分析的时候已经略微提过。目前这种配合只支持IBM小机,需要AIX 64位操作系统。

1、端到端的I/O优先级。据IBM说,这个特性他们已经提交并且成为SCSI T10标准的一个附加规范。这个特性的功能就是允许信任的应用去修改每一个I/O的优先级,包括存储的优先级。这个特性只支持块设备,而且必须是64位系统。这个优先级参数通过FCP头部进行传递,目前,AIX和DB2支持。有了这个特性,DB2可以修改关键数据传输的优先级,比如DB2 log,DS8000通过FCP协议接受到这个优先级请求,然后优先处理这个I/O,而不是用原来预先分配的优先级。这个特性有两个特点,一个是I/O的粒度,一个是端到端。I/O的粒度效率更高,现在的高端存储一般只能做到端口(某个应用)的粒度,无法做到针对每一个I/O。如果真的像IBM说的已经成为SCSI T10的一个附加标准,而且DB2已经支持,我认为其他的存储厂商应该可以有能力支持这个特性啊,但不知道为什么没有看到其他存储厂商的身影,包括EMC。

2、缓存协同。这个特性用来提供一种方式,主机可以发送缓存管理的信息给存储,提高缓存的命中率。应用可以告诉存储那些信息以后不读了,那些信息我下次还需要读。存储有这些信息就可以把不需要再读的内容落盘,把以后还需要读的留在Cache里。目前只支持DB2+64位AIX。这个特性不是标准,因此其他存储厂商要支持需要和数据库厂商合作才行。

3、等待时间协商。IBM说着这是另外一个SCSI T10标准的附件规范(long busy wait)。这个功能主要是解决存储很繁忙的时候,告诉主机你要再多等一会,不用老给我重新发送I/O。这些信息也是通过FCP协议来传送。有了这个特性,操作系统就可以减少重发的I/O,提高系统性能。目前AIX和DS8000支持,这个不需要DB2数据库参与。

大家看到,IBM用端到端I/O的优先级保证高I/O得到优先响应、用缓存协同提高缓存命中率、用long busy wait减少重传数据,这些协作,可以大大提高应用的性能,充分发挥存储的潜力。而且,IBM也积极推动标准化,其他的存储厂商可以考虑提供这些紧耦合的特性提供差异化功能,从而开发自己的一套API,让应用软件去感知存储,再推广到国内的数据库厂商,应该是大有意义的,这就是西瓜哥对数据库定义存储的解读,应该也属于软件定义存储的一个细分范畴吧。我看前几个月同友宣传了应用定义存储战略,但好像还没有看到具体的动作。

今天我们就聊到这里,明天我们来看看ORACLE,ORACLE的做法更封闭,不开放,耦合度更高。请继续关注西瓜哥明天的分析。

希望大家积极反馈你的意见和建议,微信扫描如下二维码,关注微信公众号“高端存储知识”,与作者微信互动。通过掌上DOIT移动客户端,您可以订阅DOIT科技专栏,第一时间获得知名专家和业界领袖的深度剖析与趋势分析。

未经允许不得转载:存储在线-存储专业媒体 » 存储专栏:数据库定义存储之IBM篇