InfoQ

新闻

数据库即服务是个坏主意吗?

作者 Jean-Jacques Dubray译者 王丽娟 发布于 2008年8月25日 上午4时20分

社区
Architecture
主题
平台,
SaaS
标签
Amazon SimpleDB,
数据库管理,
弹性计算集群

云计算代表了业界一种重要的范式转变。David Chappell指明

该转变中最重要的一部分是云平台的出现……这类平台允许开发人员编写运行在云中的应用,或利用云提供的服务,或者两者兼而有之。

即使这些平台看上去很普通,但Dave提出了告诫之词:

从相同的视角考虑on-premises平台和云平台是有用的,但两者是不同的。当平台功能移到云里时,这些功能有时会明显地变化。

Dave将应用架构分为了三类:

  • 基础
  • 基础设施服务
  • 应用服务

Dave还主张:

云应用可以构建在云基础之上,正如on-premises应用是基于on-premises建立的一样。两种应用都能获取on-premises和云中提供的基础设施服务和应用服务。就像on-premises平台支持现今的应用一样,云平台也为我们未来很可能创建的应用提供了服务。

在所有可能的基础设施服务中,“数据服务”可以说是最重要的,因为没有它们信息系统就不能建立。数据还代表主要的战略资产,因为提供最流行数据服务的云平台很可能会占有最大的市场份额。

Dave断定了数据服务的不同类型:

云中的远程存储以不同的方式出现。比如说,Amazon的简单存储服务(S3)提供了基本的非结构化远程存储。它暴露给开发人员的模型是直接了当的:仅仅是一堆字节的对象存储在存储桶中……

另一种云存储的方式是支持更加结构化的数据,比如在Microsoft的SQL Server数据服务(SSDS)中,一个容器包含一或多个实体,其中每个都持有一定数量的属性。

可是Arnon Rotem-gal-Oz想知道“数据库即服务”是不是一个好主意。随着Microsoft、IBM、AmazonLongJumpEnterpriseDB都试图提供本质上同类的功能,数据库即服务成为业界一种普遍的趋势。他解释说:

那为什么通过(RESTful或其它的)Web服务暴露数据库是错误的呢?让我娓娓道来

  • 它完全绕开了“服务”的思想——没有任何业务逻辑,它倾向于资源/服务的CRUD操作
  • 它暴露的是内部数据库结构或数据,而不是经过思考后的契约
  • 它鼓励忽视真正的服务,直接定位它们的数据
  • 它创建了一个Blob服务(数据源)
  • 它鼓励细微的[半]服务(上述Blob的多个“接口”),这忽略了少数分布式计算的错误
  • 它是披着羊皮的狼,只不过是客户-服务器模式

Seattle的记者Andrea James看到了另一个紧急的问题

对一个企业来说,从电源插座流出的电似乎是无穷尽的,也不用担心水龙头里流不出水来——企业只需要为他们使用的东西买单。但计算能力还没有如此无缝。

我们肯定只是刚刚接触了云平台的皮毛,没有结构化数据管理的某种形式,云平台是不会出现的。断定哪种数据服务和云编程模型会胜出似乎仍然为时过早。你会将你的企业数据托管到数据库即服务吗?你更愿意通过应用服务访问数据,还是仅仅对系统的记录进行CRUD操作呢?

查看英文原文:Is Database-as-a-Service a Bad Idea?

没有回复

回复

深度内容

Flex与JSON及XML的互操作

平台需要互操作性。在这篇文章中,作者仔细研究了Flex和JSON及XML的互操作性。文章也包含了使用E4X库来将XML映射到图表和表格组件的内容,还演示了如何使用as3core库来解码JSON消息。

用Qi4j进行面向组合编程

本文将简要介绍面向组合编程(COP,Composite Oriented Programming)的概念,展示它如何规避OOP存在的一些问题,并重新点燃使用可重用部件组装领域模型(Domain Model)的希望。

系统开发——新学科,新教育

一门新的计算机学科——“系统开发”,强调人性化、匠艺、设计、创意、创新和新事物的涌现,并建议用被称为“bottega”的工作室替代乏善可陈的教室。

图书聚焦:Visual Studio 2008 揭秘

Mike Snell和Lars Powers用他们最近由Sams出版的新书《Visual Studio 2008揭秘》,试图帮助大家提高开发人员的生产力。本文包括一个下载样章——第10章调试。

BPEL为何不是BPM的圣杯?

Pierre Vigneras在本文中讨论了作为标准之一的BPEL所存在的问题。Pierre先给我们大致介绍了一个简单的并行流程,接着讨论了从业者在试图以一个结构化模型为基础表达非结构化流程时遇到的一系列问题。

基于范型的多语言编程

你是否仔细思考过,为什么人们总在讨论“要正确的语言做恰当的事情”?在这篇文章中,Sadek Drobi向你解释了为什么应该在系统内部混合使用多种语言。

采访与书摘《Pro Web 2.0 Application Development with GWT》

Jeff Dwyer就关于他的新书(《Pro Web 2.0 Application Development with GWT》)、GWT1.5以及创建可搜索的Ajax应用谈了一些他的见解。

时刻准备着,迎接IT业的春天

我们需要设身处地地为客户及客户的业务本身着想,与客户同舟共济。更多创新的思路、产品和模式也同样将为IT业带来新的出路。IT业并不需要坐以待毙,在春天到来之后,市场将会更加繁荣!