NoSQL,意即反SQL运动,是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。NoSQL的拥护者们提倡运用非关系型的数据存储,相对于目前铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。
现今的计算机体系结构在数据存储方面要求具备庞大的水平扩展性①,而NoSQL致力于改变这一现状。目前Google的 BigTable 和Amazon 的Dynamo使用的就是NoSQL型数据库。
从这些NoSQL项目的名字上看不出什么相同之处:Hadoop、Voldemort、Dynomite,还有其它很多。但是,它们通常在某些方面相同:
不要叫它们数据库
Amazon.com的首席技术官Werner Vogels将他们的重要的Dynamo系统称作“高可用性的键值商店”。Google将自己的BigTable称作“管理结构化数据的分布式存储系统”,在51CTO.com之前的外电《云服务颠覆开发传统观念》中曾提到,Google的Big Table不是SQL数据库,原因是SQL数据库支持的一些功能实在难以进行分割,这与我们跨机器存储数据的想法无法结合。它们都是许多NoSQL追随者的效仿模式。
它们可以处理超大量的数据
比如Zvents公司以BigTable模式搭建的开源数据库 Hypertable,据Zvents工程师Doug Judd介绍,它可以每天在搜索引擎中写入10亿单元数据。
另外,BigTable与其姊妹技术MapReduce相结合,每天可以处理多达20PB的数据。
“毫无疑问,数据量越来越巨大也让人们寻找其他的数据库替代技术,”SpringSource的Travis说。
它们运行在便宜的PC服务器集群上
PC集群扩充起来非常方便并且成本很低,避免了“sharding”操作的复杂性和成本。
Google曾表示一个BigTable的大集群可以管理数千台服务器上多达6PB的数据。
“Oracle会告诉你需要购买一些硬件然后正确配置Oracle RAC,然而用其他的神奇软件你也可以达到相同的可扩展性。但是两者的开销可是天差地别。”SpringSource首席技术官Javier Soltero说。
它们击碎了性能瓶颈
NoSQL的支持者称,通过NoSQL架构可以省去将Web或Java应用和数据转换成 SQL友好格式的时间,执行速度变得更快。
“SQL并非适用于所有的程序代码,”数据库分析师Curt Monash说。对于那些繁重的重复操作的数据,SQL值得花钱。但是当数据库结构非常简单时,SQL可能没有太大用处。
Adobe公司资深计算机科学家Raffaele Sena说,当一年半前Adobe准备重新更新ConnectNow网络协作服务时,正是由于上面的理由,他们决定不采用关系型数据库。
Adobe决定使用Terracotta 提供的Java集群软件,管理Java格式的数据,Sena说,这使ConnectNow的性能提高到前一版本的2至3倍。
没有过多的操作
虽然NoSQL的支持者也承认关系数据库提供了无可比拟的功能集合,而且在数据完整性上也发挥绝对稳定,他们同时也表示,企业的具体需求可能没有那么多。
以Adobe的ConnectNow为例,Sena说,当用户在线时它会不通过数据库而制作三份会话数据,在离线后删除。“因此我们并不需要数据库,因为具体所需要的数据是在内存中的,”他说。
Bootstrap支持
因为NoSQL项目都是开源的,因此它们缺乏供应商提供的正式支持。这一点它们与大多数开源项目一样,不得不从社区中寻求支持。
但是一些人承认,没有正式的官方支持,万一出了差错会是可怕的,至少很多管理人员是这样看。
“我们确实需要做一些说服工作,”Adobe的Sena承认,“但基本在他们看到我们的第一个原型运行良好之后,我们就能够说服他们,这是条正确的道路。”
“大多数大型企业已经习惯于使用关系型数据库管理系统。因此他们会想为什么要改变呢?”Monash说。比如MapReduce和类似的项目“对企业有意。但是在具体使用时,它很可能会和一个分析DBMS(数据库管理系统)相集成。”
即使NoSQL的组织者Oskarsson也承认,就算是他自己的公司Last.fm也还没有做好转为NoSQL替代者的准备,现在依然在使用开源数据库。他认为这场革命目前仍然需要等待。
分享到:
相关推荐
NoSQL有什么特点? NoSQL有什么特点? NoSQL是否完美? NoSQL的一些概念——CAP NoSQL的一些概念——ACID NoSQL的一些概念——BASE NoSQL的一些概念——BASE NoSQL的一些概念——BASE 常见NoSQLj介绍——MongoDB ...
NoSQL 数据库的特点与应用场景 NoSQL 数据库是当前数据库领域的热门话题,无论是在大数据时代还是在面对快速增长的数据规模和日渐复杂的数据模型中,NoSQL 数据库都扮演着越来越重要的角色。本文将从 NoSQL 数据库...
1.4、NoSQL技术的特点 1.5、NoSQL技术的不足 1.6、NoSQL的适用场景 2、一些概念 2.1、CAP 2.2、ACID 2.2、BASE 3、常见NoSQL介绍 3.1、文档型举例介绍(MongoDB) 3.1.1、MongoDB是什么 3.1.2、MongoDB的特性 ...
NoSQL 数据库是当前大数据时代的热门话题,NoSQL 数据库学习之路是 NoSQL 数据库的详细介绍,介绍了目前主流的 NoSQL 数据库实现原理,涵盖了 CAP 理论、 BASE 理论、一致性哈希、 Vector Clock、Gossip Protocol 等...
总之,NoSQL数据库的发展历程和技术特点,使其在特定领域展现出独特的优势,成为大数据时代不可或缺的一部分。无论是从技术选型的角度,还是从应用实践的角度,深入理解NoSQL数据库的原理和特性,对于构建高性能、高...
文章首先介绍了传统关系型数据库的局限性,然后引入了Nosql数据库的概念和特点,接着介绍了分布式数据库的定义、特点和优点。 1. Nosql数据库的概念和特点 Nosql数据库打破了传统的关系模型,以一种模式自由的...
NoSQL数据库的主要特点包括: 1. **分布式存储**:NoSQL数据库通常设计为分布式系统,可以跨多个服务器或节点存储数据,实现水平扩展,提高系统的可用性和容错性。 2. **动态模式**:与关系型数据库的固定模式相比...
Oracle NoSQL数据库是一款分布式键值存储系统,由Oracle公司提供,专为大数据处理设计,具有高可用性、可扩展性和高性能的特点。这个压缩包文件包含了关于Oracle NoSQL的安装、管理、开发和维护的精品资料,是学习和...
1. **NoSQL概述**:详细介绍了NoSQL的概念、特点以及它如何解决传统数据库面临的挑战。 2. **Polyglot Persistence实践**:探讨了如何在实际项目中采用Polyglot Persistence策略,并提供了具体的案例分析。 3. **...
NoSQL数据库学习教程 CAP定律是NoSQL数据库存在的三大基石之一,CAP定律是指在分布式系统中,无法同时满足一致性、可用性和分区容忍性这三个属性。其中,一致性是指所有节点在同一时间看到相同的数据;可用性是指...
本期末考试题涵盖了 Nosql 数据库的基础知识、 MongoDB、HBase、Neo4j 等分布式数据库的特点和应用场景。涵盖了数据库基础知识、Nosql 数据库的特点、CAP 理论、分布式数据库设计等多方面的知识。 知识点1: 数据库...
NoSQL数据库应运而生,它们通常具备以下特点:分布式、可扩展性、灵活性和高可用性。 二、NoSQL的主要类型 NoSQL数据库主要分为四大类: 1. 文档数据库:如MongoDB,以JSON格式存储数据,支持嵌套结构,适用于半...
尽管NoSQL具有诸多优点,但也有其局限性,例如数据一致性问题、复杂查询支持不足以及缺乏标准。在选择NoSQL时,需结合具体业务场景,考虑数据模型、数据一致性要求、读写性能等因素,合理权衡利弊。 总结来说,...
2. 分布式数据库的特点:数据分片、复制和并行处理是其主要特点。数据分片是指将数据分散存储在多个节点上;复制则保证了数据的冗余,提高了可用性;并行处理则加速了数据的处理速度。 3. 分布式数据库的类型:包括...
1.4、NoSQL技术的特点 1.5、NoSQL技术的不足 1.6、NoSQL的适用场景 2、一些概念 2.1、CAP 2.2、ACID 2.2、BASE 3、常见NoSQL介绍 3.1、文档型举例介绍(MongoDB) 3.1.1、MongoDB是什么 3.1.2、MongoDB的特性 3.1.3...
NoSQL的特点包括高性能、海量数据存储和访问的高效性以及高可扩展性和高可用性。NoSQL的出现主要是为了解决传统关系型数据库在处理海量数据时面临的问题,如成本高昂、处理速度慢以及不能很好地适应数据模型的变动。...