NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是 SQL"。在现代的计算系统上每天网络上都会产生庞大的数据量。这些数据有很大一部分是由关系数据库管理系统(RDMBS)来处理。 1970 年 E.F.Codd’s 提出的关系模型的论文 “A relational model of data for large shared data banks”,这使得数据建模和应用程序编程更加简单。通过应用实践证明,关系模型是非常适合于客户服务器编程,远远超出预期的利益,今天它是结构化数据存储在网络和商务应用的主导技术。
NoSQL 是一项全新的数据库革命性运动,早期就有人提出,发展至 2009 年趋势越发高涨。NoSQL 的拥护者们提倡运用非关系型的数据存储,相对于铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。
主要从下面三点进行了解:
1、什么是NoSQL
NoSQL,指的是非关系型的数据库。NoSQL 有时也称作 Not Only SQL 的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称。
NoSQL 用于超大规模数据的存储。(例如谷歌或 Facebook 每天为他们的用户收集万亿比特的数据)。这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。
2、为什么要使用NoSQL
今天我们可以通过第三方平台(如:Google,Facebook 等)可以很容易的访问和抓取数据。用户的个人信息,社交网络,地理位置,用户生成的数据和用户操作日志已经成倍的增加。我们如果要对这些用户数据进行挖掘,那 SQL 数据库已经不适合这些应用了,NoSQL 数据库的发展却能很好的处理这些大的数据。
3、RDBMS(关系数据库管理系统)与NoSQL的区别
1.RDBMS (英文全称)
①高度组织化结构化数据
②结构化查询语言(SQL)
③数据和关系都存储在单独的表中。
④数据操纵语言,数据定义语言
⑤严格的一致性
⑥基础事务
2.NoSQL
①代表着不仅仅是 SQL
②没有声明性查询语言
③没有预定义的模式-键 - 值对存储,列存储,文档存储,图形数据库
④最终一致性,而非 ACID 属性
⑤非结构化和不可预知的数据
⑥高性能,高可用性和可伸缩性