来源:机房360 更新时间:2012-04-14
云计算技术被越来越多的应用在各种系统平台上,这无疑是对云计算的一种鼓励,但是,如果不充分理解云计算的特性,将很有可能事与愿违。本文将为大家详细介绍云计算对关系型数据库的影响。
云计算对关系型数据库的影响
目前用户所使用的传统数据库开发软件系统本质应该叫数据库软件系统,是一个数据库系统,开发这样的系统非常简单,成本也非常低廉,只要根据需求先设计好数据表结构,然后,设计编写大量SQL语句,虽然也使用JAVA/PHP/.NET等语言,但实际上这些语言只是将SQL送往数据库执行的运输工,没有什么价值和地位。
正如10Gen工程副总裁Geir Magnusson所指出那样,“在云计算计划里将找不到关系数据库的影子,这并非偶然,因为关系数据库不适合用于云计算环境”。同时他还指出:“云计算是一种不同的技术,不同得足够改变开发者看待问题和解决问题的方式”。“我们将不得不重新审视我们做事的方式”。
例如:许多被专门开发用于云计算环境的新型数据库,包括Google韵Bigtable,Amazon的SimpleDB,10Gen的Mongo,AppJet的AppJet数据库以及甲骨文开源BerkelyDB。这些数据库没有一个是关系型的。
这些数据库具有一些共同特征,正是这些特征使它们特别适用于服务云计算式的应用。它们中的大多数可以在分布式环境中运行,这意味着他们可以分布在多个地点的多台服务器上。
它们本质上都不是事务性的,并且都牺牲了一些高级查询能力以换取更好的性能。在很多情况下,这些数据库可以通过对象调用来检索,而不用SQL。
尽管大型关系数据库已经被应用在很多数据处理中心,但云计算需要一种不同的设置来充分发挥其潜力。
试想,在跨越地理空间距离之间执行复杂查询以便减少响应时间、设计和维护支持不同位置的相关数据备份、在一个点瘫痪时能保证该数据同步、维护和运行这样的体系并非易事。
因此,数据库组成部分在不同位置的分散对云计算很必要,这也是云计算产生的原因。更重要的是云体系结构具有不同于目前使用的关系型结构的属性,在云体系结构里,关系不复存在,人们以群集形式看待数据。
所以,这样的系统运行在互联网环境下,主要负载就集中在数据库的SQL运行上,也就是说:整个软件系统性能关键点就集中在数据库上了,数据库是性能的主要承担者,尽管用户使用的有可能是Websphere/weblogic等应用服务器,但是由于Java只是运输工,所以起不到性能上分散负载的作用。
正是由于以上种种原因,有专家认为云计算对关系型数据库的应用将产生巨大的影响,而绝大多数电子商务系统所使用的数据库还是基于关系型的数据库,随着云计算的大量应用,势必对电子商务数据库的构建产生影响,进而影响整个电子商务技术的发展。