欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

"云"时代NoSQL当道 关系数据库日薄西山

程序员文章站 2022-06-05 16:30:05
...

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 笔者参加了在加利福尼亚州圣克拉拉市举行的2010年Cloud Connect大会,这是今年最早举行的云计算重大会议之一。到目前为止,会议一个较大的议题是“不使用关系型数据库来保持数据的持久性”。这被称

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入

  笔者参加了在加利福尼亚州圣克拉拉市举行的2010年Cloud Connect大会,这是今年最早举行的云计算重大会议之一。到目前为止,会议一个较大的议题是“不使用关系型数据库来保持数据的持久性”。这被称为 “NoSQL”运动,其宗旨是使用其他形式的数据库,更有效地处理大规模的数据。而关于围绕云计算出现的“大规模数据”,我已经写过一些文章,但是这一运动更为重要,它将推动数据回归到以更简单、但却可能更有效的模型进行物理存储的方式。51CTO数据库频道之前曾报道过《Digg投奔NoSQL 关系数据库行将就木》,也从一个侧面反映了NoSQL的发展。

  NoSQL系统在运行时一般会把数据存放在内存中,或者是并行地从许多磁盘上读取数据。其中就有一个问题,“传统”的关系数据库不提供这种模式,因此也没法提供同样的性能。在过去那种数据库中,如果只有几个GB数据,这一问题还不是很明显,但是许多云计算的数据库已经超过了1TB,还会有更多的大规模数据库会被用来支撑不断发展的云计算系统。在关系型数据库上对大规模数据进行操作是兵家大忌,因为在处理数据时SQL请求会占用大量的CPU周期,并且会导致大量的磁盘读写。

  如果你觉得以前好像在哪里听过这种说法,那么我告诉你其实你是对的。早在上世纪90年代,对象数据库和XML数据库就取得过一些进展,尽管那时许多非关系型数据库确实能提供更好的性能,但很多企业却守住了关系型数据库的*,如Oracle、Sybase和Informix。然而,由于从关系型数据库上迁移出去的花费和风险太高,而且数据的规模也相对较小,使得关系型数据库几乎一统天下。

  不过,云计算改变了一切。在云计算中需要对大量的数据进行处理,这一需求导致新的数据库处理方法运用在了旧模型上。MapReduce是Hadoop处理数据的基本方法,它是基于几年前的“无共享”(share-nothing)数据库处理模型,但现在我们有了实现它的处理能力、磁盘空间以及带宽。

  我估计云计算的发展将会减少对关系型数据库的使用。这并非新鲜事物,但这回我们却实实在在需要改变了。

  NoSQL,意即反SQL运动,是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。NoSQL的拥护者们提倡运用非关系型的数据存储,相对于目前铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。

  现今的计算机体系结构在数据存储方面要求具备庞大的水平扩展性,而NoSQL致力于改变这一现状。目前Google的 BigTable 和Amazon 的Dynamo使用的就是NoSQL型数据库。

  NoSQL项目的名字上看不出什么相同之处,但是,它们通常在某些方面相同:它们可以处理超大量的数据。

  这场革命目前仍然需要等待。的确,NoSQL对大型企业来说还不是主流,但是,一两年之后很可能就会变个样子。在NoSQL运动的最新一次聚会中,来自世界各地的150人挤满了CBS Interactive的一间会议室。分享他们如何推翻缓慢而昂贵的关系数据库的暴政,怎样使用更有效和更便宜的方法来管理数据。

  “关系型数据库给你强加了太多东西。它们要你强行修改对象数据,以满足RDBMS (relational database management system,关系型数据库管理系统)的需要,”在NoSQL拥护者们看来,基于NoSQL的替代方案“只是给你所需要的”。

"云"时代NoSQL当道 关系数据库日薄西山