首頁 >資料庫 >mysql教程 >NoSQL简单介绍

NoSQL简单介绍

WBOY
WBOY原創
2016-06-07 15:22:101100瀏覽

近几年NoSQL,这个词极受关注,而且很多最初看到这个词的人很可能会误解为“No SQL”的缩写,这其实是错误的,实际上,它是“ Not only SQL ”的缩写。 引用本人刚刚看的一本书上的解释,它的意义是“ 适用关系型数据库的时候就使用关系型数据库,不适用的时

近几年NoSQL,这个词极受关注,而且很多最初看到这个词的人很可能会误解为“No SQL”的缩写,这其实是错误的,实际上,它是“Not only SQL”的缩写。

引用本人刚刚看的一本书上的解释,它的意义是“适用关系型数据库的时候就使用关系型数据库,不适用的时候也没有必要非使用关系型数据库不可,可以考虑使用更加合适的数据存储”,可以理解为:为了弥补关系型数据的不足,NoSQL数据库应运而生。

为了更好的理解NoSQL,下面先介绍一下关系型数据库:

在关系型数据库还未出现之前,存在另外两种类型的数据库:

① 阶层型数据库,顾名思义,它是把数据通过阶层结构的方式表现出来的,这样虽然可以提高查询效率,但是不理解数据库结构就无法进行高效的查询,而且结构更改的时候维护量大。

② 网络型数据库,是在阶层型数据库的基础上发展而来的,它使子记录可以同时拥有多个父记录,从而解决了数据冗余的问题,但是结构间复杂的网络关系使得维护起来更加复杂。

为了弥补上述两种数据库的不足, E.F.Codd 于1970年发表了一篇题为“A Ralation Model of Data for Large Shared Data banks”,掀起了关系型数据库的热潮,现如今关系型数据库已经发展的相当成熟,常见的有Oracle,MSSQLServer,MySQL..

关系型数据库的优势:

① 保持数据一致性;

② 由于以标准化为前提,数据更新的开销很小;

③ 可以进行多表间的复杂查询(join);

④ 技术成熟;

关系型数据库的不足:

① 大量数据的写入处理

② 为有数据更新的表做索引或表结构变更

③ 对于不固定字段的处理

④ 对简单查询(没有复杂条件的查询)快速返回结果,需解析

对于NoSQL数据库,因为它本身就不支持join,所以不必向关系型数据库一样把需要join的多个表保存在一个服务器上。相反,NoSQL的各个数据都是独立设计的,很容易分散到多个服务器,从而可以减少每个服务器的数据量,即使进行大量数据写入,处理起来也更加高效。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn