“在云计算计划里将找不到关系数据库的影子,这并非偶然,因为关系数据库不适合用于云计算环境“Geir Magnusson,10Gen工程副总裁这样认为。10Gen是一家按需平台服务供应商。
Magnusson帮助编写过Apache Geronimo应用服务器软件,本周在纽约举行的O'Reilly Web 2.0 会议上发言中他指出:“云计算是一种不同的技术,不同得足够改变开发者看待问题和解决问题的方式”。“我们将不得不重新审视我们做事的方式”,他说。
在发言期间,Magnusson列举了许多被专门开发用于云计算环境的新型数据库,包括Google'的Bigtable, Amazon的 SimpleDB, 10Gen自己的 Mongo, AppJet的 AppJet 数据库以及甲骨文开源BerkelyDB。
Magnusson指出,这些数据库没有一个是关系型的(他特别强调了一个值得注意的例外“Drizzle”,MySQL应用于web环境的一个精装版)。
这些数据库具有一些共同特征,正是这些特征使它们特别适用于服务云计算式的应用。它们中的大多数可以在分布式环境中运行----意味着他们可以分布在多个地点的多台服务器上。它们本质上都不是事务性的,并且都牺牲了一些高级查询能力以换取更好的性能。(在很多情况下,这些数据库可以通过对象调用来检索,而不用SQL,无论如何,对程序员来说,前者更自然些)。
尽管大型关系数据库如甲骨文公司提供的产品,已经被部署在很多数据中心,但云计算需要一种不同的设置来充分发挥其潜力。数据库组成部分在不同位置的分散对云计算很必要,这也是其名得来的原因。在辽阔的地理距离之间执行复杂查询可以减少响应时间,此外,设计和维护支持不同位置的相关数据备份并在一个点瘫痪时能保证该数据同步的体系并非易事。
“云体系结构里的衡量具有不同于我们现在使用的关系型结构的属性”,他说,其结果是:“在云体系结构里,关系不复存在,人们以群集形式看待数据”。
Magnusson的观点得到会上另一位发言人AdaptiveBlue 公司的Alex Iskold的赞同,AdaptiveBlue是一家以客户为导向的公司,该公司提供一种浏览器插件,能根据用户的使用历史,使用语义标记和Web服务体现个性化设置。该公司把服务建立在Amazon的托管平台服务上,包括SimpleDB。Iskold指出如果AdaptiveBlue使用关系型数据库那么这种服务将不会扩大到广泛使用。