NoSQL 与 关系型数据库
一、二者的基本概念 NoSQL,泛指非关系型的数据库。 关系数据库,是建立在关系模型基础上的数据库。 这里提到了关系模型, 关系模型是1970年由E.F.Codd提出的。 它和层次、网状模型相比,有以下特点: 1.数据结构简单(二维表格) 2.扎实的理论基础。 a.关系运算理论 b.关系模式设计理论 简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。 对于NoSQL并没有一个明确的范围和定义,但是他们都普遍存在下面一些共同特征: 不需要预定义模式:不需要事先定义数据模式,预定义表结构。数据中的每条记录都可能有不同的属性和格式。当插入数据时,并不需要预先定义它们的模式。 无共享架构:相对于将所有数据存储的存储区域网络中的全共享架构。NoSQL往往将数据划分后存储在各个本地服务器上。因为从本地磁盘读取数据的性能往往好于通过网络传输读取数据的性能,从而提高了系统的性能。 弹性可扩展:可以在系统运行的时候,动态增加或者删除结点。不需要停机维护,数据可以自动迁移。 分区:相对于将数据存放于同一个节点,NoSQL数据库需要将数据进行分区,将记录分散在多个节点上面。并且通常分区的同时还要做复制。这样既提高了并行性能,又能保证没有单点失效的问题。 异步复制:和RAID存储系统不同的是,NoSQL中的复制,往往是基于日志的异步复制。这样