NoSQL 是非关系型数据存储的广义定义。它打破了长久以来关系型数据库与 ACID 理论大一统的局面。NoSQL 数据存储不需要固定的表结构,通常也不存在连接 操作。在大数据存取上具备关系型数据库无法比拟的性能优势。该术语在 2009 年初得到了广泛认同。
当今的应用体系结构需要数据存储在横向伸缩性 上能够满足需求。而 NoSQL 存储就是为了实现这个需求。Google 的 BigTable 与 Amazon 的 Dynamo 是非常成功的商业 NoSQL 实现。一些开源的 NoSQL 体系,如Facebook 的 Cassandra , Apache 的 HBase ,也得到了广泛认同。
如果您刚接触 NoSQL,那有必要学习一些背景知识。下列资料是国外一前沿技术分析师 认为非常有价值的 NoSQL 相关必读资料:
-
Amazon Dynamo 论文 。几乎所有懂 NoSQL 的人都阅读过它。
- Google 的 Bigtable 论文 。 也许您已经耳熟能详。
- Werner Vogels 的 “Eventually Consistent” (发布于 ACM Queue )。如果您对“最终一致性 ”不是非常清晰,请阅读这篇文章。
- Brewer 的 CAP 理论 (可伸缩性的基础)在这里 可以找到非常好的诠释。也可以看看 2000 7 月 PODC 上 Brewer的原始幻灯片 。
-
在 2009 年 6 月在 SFO 的 NoSQL 见面会的幻灯片 。这些资料可以用经典的、关键的、将影响巨大的、值得纪念的来形容。
-
SQL Databases Don't Scale 是一篇简短、基础、直切问题的文章。除非您是一位在伸缩性问题 上身经百战的数据库管理员,否则,这篇文章讲述的内容对于您可能是非常关键的。
-
Jonathan Ellis 的文章 NoSQL Ecosystem 以表格的方式对当今主流的分布式数据库 做了比较。类似的比较还有 Quick Reference to Alternative data storages 。Ellis 的文章除了表格对比外对于想了解 NoSQL 生态的人来说是非常值得一读的,该文章内涵丰富,短小精悍;而 Quick Reference to Alternative data storages 主要是表格,这些表格对比的内容又比 Ellis 的完整。
相关国外资源
http://nosql-databases.org —— 该站点的标语是:“非关系型世界的终结向导!”,该站点非常确信自己是:“在互联网上拥有 NoSQL 相关链接最多的网站。”总之,该网站值得关注。
另外,作为 NoSQL 极客(geeks),请 follow @nosqlupdate 。另外,请 follow @al3xandru (MyNoSQL blog 与 NoSQL Week in Review 的创建者)。NoSQL Week in Review 比较新,希望能保持正常更新,因为它确实很棒!
当然,您还可以看看 Ricky Ho 最近的博文,他总结了一些分布式数据存储技术关键点。他的博文中有两篇非常值得一看的文章:Query Processing for NoSQL Databases ,还有 NoSQL Design Patterns 。
相关国内资源
来源:NoSQL Required Reading ,Wikipedia - NoSQL
NoSQL = Not Only SQL != No SQL
根据CAP理论:
Consistency(一致性),数据一致更新,所有数据变动都是同步的
Availability(可用性),好的响应性能
Partition tolerance(分区容错性) 可靠性
CAP原理告诉我们,这三个因素最多只能满足两个,不可能三者兼顾。对于分布式系统来说,分区容错是基本要求,所以必然要放弃一致性。对于大型网站来说,分区容错和可用性的要求更高,所以一般都会选择适当放弃一致性。对应CAP理论,NoSQL追求的是AP,而传统数据库追求的是CA,这也可以解释为什么传统数据库的扩展能力有限的原因。
NoSQL和关系型数据库有各自的缺点,因此NoSQL的产品和传统的关系型数据库应该是互补的关系。
- 大小: 3.9 KB
分享到:
相关推荐
1、NoSQL技术介绍 1.1、NoSQL是什么 1.2、NoSQL为什么会存在 1.3、NoSQL产品分类 1.4、NoSQL技术的特点 1.5、NoSQL技术的不足 1.6、NoSQL的适用场景 2、一些概念 2.1、CAP 2.2、ACID 2.2、BASE 3、常见NoSQL介绍 ...
1. 键值对存储:键值对存储是最简单的NoSQL类型,如Redis和Memcached。这种存储模式由键和对应的值组成,键是唯一的,值可以是任何数据类型。键值对存储适用于缓存、快速查找和高并发场景。 2. 列族存储:列族...
### NoSQL介绍与比较 #### 一、NoSQL概述 NoSQL(Not Only SQL)泛指非关系型数据库,旨在解决传统关系型数据库在处理Web2.0网站,尤其是超大规模和高并发SNS类型纯动态网站时所面临的挑战。随着互联网技术的发展...
《NoSQL事例与介绍:MongoDB实践指南》 在当今的信息化社会,数据库系统扮演着至关重要的角色。传统的SQL(结构化查询语言)数据库在处理大量数据和高并发访问时,逐渐显露出其局限性。为了解决这些问题,NoSQL(非...
1、NoSQL技术介绍 1.1、NoSQL是什么 1.2、NoSQL为什么会存在 1.3、NoSQL产品分类 1.4、NoSQL技术的特点 1.5、NoSQL技术的不足 1.6、NoSQL的适用场景 2、一些概念 2.1、CAP 2.2、ACID 2.2、BASE 3、常见NoSQL介绍 3.1...
1. 键值存储数据库:如Redis和Oracle BDB,适用于内容缓存和高访问负载的日志系统,具有快速查找速度和简单的数据模型。 2. 列存储数据库:如HBase、Riak和Cassandra,适合分布式文件系统和海量数据存储,具备优秀...
1. **NoSql简单介绍** - NoSQL,即Not Only SQL,指的是非关系型数据库,它不采用传统的关系数据库模型,而是提供了一种更为灵活的数据存储方式。 - 主要解决的问题:应对高并发、高可扩展性、高可用性和大数据...
NoSQL数据库具有高度的可扩展性、灵活的数据模型以及简单的水平扩展能力,特别适用于大规模数据存储和高并发读写操作的场景。常见NoSQL数据库包括MongoDB、Cassandra、Redis、CouchDB等。 二、环境信息准备 文档中...
键值存储是NoSQL数据库中最简单的一种,以键值对的形式存储数据。其中,键是唯一标识符,而值则可以是任意类型的数据。图形数据库是一种基于图结构的NoSQL数据库,适用于处理复杂的关系型数据。文档数据库是一种基于...
NOSQL的简单介绍和使用 NOSQL数据库入门
- **基本交互**:通过命令行或图形界面工具与NoSQL数据库进行简单交互。 #### 三、NoSQL基础知识学习 - **存储架构理解**: - **不同类型的NoSQL数据库**:键值存储、文档数据库、列族存储、图数据库等。 - **...
1. **NoSQL概述**:介绍NoSQL的起源、发展和其与关系型数据库的区别。NoSQL应运而生,为了解决传统RDBMS在处理大规模数据、高并发和分布式环境下的局限性。 2. **NoSQL类型**:NoSQL数据库分为多种类型,包括键值...
下面将基于这一推测,详细介绍NoSQL数据库的相关知识点。 ### NoSQL简介 NoSQL(Not Only SQL)是一种非关系型数据库管理系统,其设计目的是为了处理大数据量,提供灵活的数据模型,并实现高可用性和可扩展性。与...
### NoSQL介绍 #### NoSQL概念与原理 NoSQL(Not Only SQL)是指一类非关系型的数据库管理系统,它提供了一种不同于传统关系型数据库的存储方式。NoSQL的出现主要是为了解决大规模数据集合中多种类型的数据存储...
### NoSQL数据库之Redis数据库管理视频教程 ...通过以上介绍,我们可以看到NoSQL数据库如Redis在特定场景下具有非常明显的优势。了解其特点及应用场景可以帮助开发者更好地选择合适的数据库解决方案。
1.1 定义和介绍 3 1.1.1 背景与历史 3 1.1.2 大数据 5 1.1.3 可扩展性 7 1.1.4 MapReduce 8 1.2 面向列的有序存储 9 1.3 键/值存储 11 1.4 文档数据库 14 1.5 图形数据库 15 1.6 小结 16 第2章 NoSQL上手...
下面将详细介绍这款工具的功能、优势以及其在实际应用中的使用场景。 首先,作为一款可视化工具,"NoSQL Manager for MongoDB"提供了友好的图形用户界面(GUI),使得非编程背景的用户也能轻松上手。它支持多种操作...