对于SNIA CDMI云存储标准的几点看法

简介:
最近存储行业标准组织SINA发布了“云数据管理接口” 文档( Cloud Data Management Interface, CDMI,  http://cdmi.sniacloud.com/  , April 12, 2010)。这是云存储标准化工作开端的一个重要步骤。简单介绍之,CDMI的主要内容是在客户端平台和数据中心服务器,在这两个平台之间定义描述了一个数据交换的标准界面。该标准界面采用通常web服务(web service)的HTTP协议来包装REST通信命令,由客户端主动请求web服务,数据中心被动响应请求并提供web服务。这个标准接口足以让程序员在这两种平台上实现应用程序间API的对接实现交互,即:客户端(平台上跑的应用程序)指令服务器端(服务器上跑的应用程序),对云中存储的数据对象进行以下若干操作:创建,读取,更新和删除(Create, Read, Update, Delete, 所谓CRUD操作)。采用web服务的另一个好处是,任一数据对象(数据块)都可被唯一标识定位到一个URI(Universal Resource Identifier),就像web中的URL唯一标识定位到一个网页一样。如此,无所不在的(如移动)客户端就可以在任何地点用URI的方式接入使用云存储服务。
 
我认为当前版本的CDMI标准化了一个客户端数据管理系统。按照此标准可以实现客户端应用程序使用与管理存储在数据中心里的数据,这样的数据使用与管理就有以下几个有用性质:按需使用,具有弹性的存储空间大小,无所不在的便利访问。这些都是典型的web service特性,也具有很强的云特征(见NIST有关云服务的定义, http://csrc.nist.gov/groups/SNS/cloud-computing/cloud-def-v15.doc )。但我认为这些web service性质自身并不足以涵盖云存储服务的本质及许多其它要素。比如云存储服务的一个本质性要素可以称之为“存储虚拟化”(Storage Virtualization)。云存储(包括云计算)服务的另一个本质性要素是使服务提供方兑现服务水平协议中承诺的服务质量保证。为实现这些本质性要素,云存储服务提供商(Cloud Storage Service Provider,以下简称CSP)必须在数据中心里主动操作执行一系列程序过程(以下会列出几个例子)。这些由CSP在数据中心里主动操作执行的程序与过程大多没有API接口可以暴露给客户端的应用程序,所以它们所实现的功能不可能以web service的形式提供给(比如包装入一个XML文件传输到)客户端。若一定要用“服务”来表述这些操作,它们都只能属于CSP自行消费的服务种类。CSP需要通过(消费)它们来实现在服务水平协议上的服务质量保证。在“如何在XaaS上有所不为中,我提出并非所有的云计算服务都适合交付给用户。对于云存储我也持同样看法。
 
一个CSP要自行消费的许多服务项目并不以web service的形式传输给客户端平台或用户。下面举几个例子:(1)自动跨阵列存储器甚至跨数据中心的负载均衡明显是一个非常重要的存储虚拟化任务,CSP需要执行这样的任务为了保证高标准级别的服务响应时间并保持较高的资源利用率。(2)高性能灾难恢复和业务连续性备份也是个明显的例子。(3)对于关键业务相关的应用,备份中心需要和主叫发起(Primary)中心进行同步。(4)两个主动进行同步的数据中心完全可能配备了不同厂商的异构硬件/软件资源,跨异构存储架构的存储虚拟化技术是一个在云存储标准工作中格外需要考虑的问题。(5)重复数据删除也是一个CSP自我执行任务的好例子。(6)“云溢出”(Cloud Bursting):当一个数据中心的服务器,存储空间,电力,冷却等能力将要超限的情况下,云溢出允许一个CSP卸载一部分的工作负载到另一个CSP。以上例子都可以看做是实现存储虚拟化的方法。还有许多其他类型的,可用于兑现服务水平协议中承诺的服务质量保证。在“云安全之要点所在”中,我提出了“安全作为自助服务”,就是让数据中心自我检查其软件环境,确保始终处于安全服务状态。另外不同用户的数据隔离与安全策略的实施不应只在一个CSP中得到保证,还应该是跨数据中心的,因为数据可能会在多个CSP 之间迁移。举一个和GRC(Governance, Risk and Compliance,即监控管理,风险控制和法规遵从)以及政策相关的一个例子:一个国家的法律可能要求某些数据永远不能被迁移到这个国家管辖之外的CSP中。
 
从上述云存储数据中心为了实现存储虚拟化以及兑现服务水平协议中所承诺服务质量保证而必须从事的一系列主动操作例子我们可以看到,云存储数据中心,哪怕是专营客户端数据管理的那一类,是以主动方式在运行的。一个这样的数据中心始终处于主叫状态。然而请注意由Web Service包装的RESTful协议却是以主动—被动的方式工作的,而且CDMI制定了客户端平台始终为主叫方,主动请求服务,云数据中心服务器始终为被叫方,被动响应做出CRUD操作。这有点让我疑惑当前版本CDMI标准是否并未充分涵盖了云存储服务的本质。当然我们完全可以设计一个云数据中心包含两部分:主动部分与被动部分,这两部分相互协作来完成存储服务。在目前或近期(或许若干年)内,客户端平台还需要与数据中心的被动部分发生联系。今后随着客户端平台越变越瘦,客户端将越来越只会与数据中心的主动部分发生联系,联系将以主动—主动的形式。而且这两者之间的数据交换若以内存页面更新的方式将会比上传下载完整数据块(如XML文件)的传输方式更加合适,原因是一个瘦客户端没有必要也不可能与数据中心保持在数据块上的一一对应。所以作为本文结论我认为:下一步云存储标准化工作应该主要集中在云数据中心主动被动部分之间的数据交换,以及实现存储虚拟化,服务水平协议等操作等内容上。









本文转自 wenbomao 51CTO博客,原文链接:http://blog.51cto.com/wenbomao/354937,如需转载请自行联系原作者
目录
相关文章
|
消息中间件 存储 JSON
消息队列的应用场景
消息队列的应用场景
254 0
|
4月前
|
JSON 算法 API
1688商品详情API实战:Python调用全流程与数据解析技巧
本文介绍了1688电商平台的商品详情API接口,助力电商从业者高效获取商品信息。接口可返回商品基础属性、价格体系、库存状态、图片描述及商家详情等多维度数据,支持全球化语言设置。通过Python示例代码展示了如何调用该接口,帮助用户快速上手,适用于选品分析、市场研究等场景。
|
Python Windows
怎么将 Python 项目打包成 exe?
这篇内容是一个关于使用Python和相关工具创建GUI应用并打包成Windows安装程序的教程摘要: - **环境**:Python 3.8,Tkinter(内置GUI库),PyInstaller 6.3.0,Inno Setup Compiler(用于创建安装包)。 - **基本流程**:在conda环境中创建一个独立的虚拟环境,编写一个使用Tkinter的GUI应用,添加图标,用PyInstaller将应用打包成单个可执行文件(exe),最后用Inno Setup Compiler将exe和相关文件打包成安装程序。
371 0
|
10月前
|
网络协议 算法 网络性能优化
计算机网络常见面试题(一):TCP/IP五层模型、TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议
计算机网络常见面试题(一):TCP/IP五层模型、应用层常见的协议、TCP与UDP的区别,TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议、ARP协议
|
机器学习/深度学习 人工智能 算法
深入了解AI算法及其实现过程
人工智能(AI)已经成为现代技术发展的前沿,广泛应用于多个领域,如图像识别、自然语言处理、智能推荐系统等。本文将深入探讨AI算法的基础知识,并通过一个具体的实现过程来展示如何将AI算法应用于实际问题。
1127 0
|
JSON JavaScript 中间件
Express.js:构建轻量级Node.js应用的基石
**Express.js 概览**:作为Node.js首选Web框架,Express以其轻量、灵活和强大的特性深受喜爱。自2009年以来,其简洁设计和丰富中间件支持引领开发者构建定制化应用。快速开始:使用`express-generator`创建项目,安装依赖,启动应用。示例展示如何添加返回JSON消息的GET路由。Express适用于RESTful API、实时应用等多种场景,社区支持广泛,助力高效开发。
238 1
|
数据采集 数据可视化 数据挖掘
时间序列分析:用Python解锁金融市场数据的潜在价值
【4月更文挑战第12天】本文介绍了使用Python进行时间序列分析以挖掘金融市场数据价值的方法。金融市场数据具有时间性、不稳定性、非平稳性和相关性等特点。Python中的Pandas和Statsmodels库是进行时间序列分析的常用工具。基本流程包括数据导入、预处理、探索、模型选择(如ARIMA)、模型评估和优化。通过学习和实践,可以有效利用这些工具分析金融市场数据。
279 1
|
机器学习/深度学习 数据可视化 算法
【超详细】MMLab分类任务mmclassification:环境配置说明、训练、预测及模型结果可视化展示(1)
【超详细】MMLab分类任务mmclassification:环境配置说明、训练、预测及模型结果可视化展示
|
存储 安全 API
请解释Android的推送服务,如Firebase Cloud Messaging(FCM)。
Firebase Cloud Messaging (FCM)是Google的跨平台推送服务,支持Android、iOS和Web,提供实时、高效、安全的消息传递。它利用WebSocket实现低延迟通信,可发送纯文本、富媒体和自定义数据。FCM还支持离线消息存储和安全传输,并提供统计分析功能。要集成FCM,需在Android项目中添加Firebase库和权限设置,通过Firebase API管理消息。
1612 0
|
开发框架 安全 JavaScript
解密IIS服务器API跨域问题的终极解决方案
解密IIS服务器API跨域问题的终极解决方案
701 0