【NoSQL】宏观学习

前言

   之所以关注到这个问题,主要是因为前段时间接触到MongoDB,被问到相关问题时,了解不多导致很尴尬,自己之后查资料时,才关注到这个问题。

是什么

    NoSQL,泛指非关系型数据库,有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称。
  它主要用于超大规模数据的存储,最初对此表现出浓厚兴趣的是谷歌和亚马逊,之后,NoSQL受到了越来越多的关注。

为什么用

一、关系型数据库的优缺点

   在介绍非关系型数据库之前,我们首先来回顾一下关系型数据库的相关知识。为什么关系型数据库可以有如此旺盛的生命力?
  我们学习之初使用的Access、SQL Server以及接下来接触的Mysql、Oracle均属于关系型数据库。它最大的特点在于:使用关系模型来表示实体以及实体间的关系(关系模型由关系数据结构、关系操作集合、关系完整性约束三部分组成)。
  它的优点在于:
- 保持数据的一致性(事务)
- 通用性,高性能
- 操作方便
- 易于维护

  它的缺点在于:
- 高并发读写
- 海量数据的高效率存储和访问
- 扩展性和可用性

二、非关系型数据库的优缺点

   21世纪以来,伴随着互联网的高速发展,数据量的规模急剧增加。为了适应这一需求,主要可以采用两种方法应对,一是纵向扩展,即在计算机数量基本不变的前提下,提高计算机的性能,包括处理器、磁盘存储空间、内存等;二是横向存储,即增加计算机数量,采用由多个小型计算机组成的集群,这样可以保证集群的稳定,即使某些计算机发生故障,也不会影响整体的性能。
  由于关系型数据库并不是设计给集群用的,所以要想让关系型数据库适用于集群,面临很多问题,比如技术、费用(商用关系型数据库通常按单台服务器收费)等。
  主要基于关系型数据库以上的缺点,非关系型数据库应运而生。
  它的优点在于:
- 成本低,软件开源
- 存取速度快
- 高可扩展性
- 大数据量,高性能
- 数据模型灵活

  它的缺点在于:
- 没有标准化
- 已有产品支持的功能有限(不支持事务特性)
- 缺乏类似关系数据库所具有的强有力的理论、技术、标准规范的支持


怎么用

四大分类


小结

   这次小结是为接下来MongoDB和Redis的学习做铺垫,从宏观上对NoSQL进行学习。

相关文章
相关标签/搜索