zoukankan      html  css  js  c++  java
  • SQL和NoSQL

    SQL和NoSQL


     目前的数据库系统非常多,有传统的关系型的数据库系统(又被称为SQL数据库系统),有最近几年流行起来的NoSQL数据库系统。其中NoSQL数据库系统又分为很多种不同的类型,根据各个系统所支持的数据模型的不同,可以分为很多类,下面做一个简单的分类,更多的分类请参见dbengines的排名。

    1、SQL数据库系统

    ==================

    SQL数据库系统目前主流的产品有开源的MySQL、PostgreSQL、MariaDB等,它是基于关系模型设计的数据库系统。

    关系型数据库系统目前主要使用在OLTP场景下,一般在构建业务系统的时候,后台数据的存储主要存在关系型数据库系统中。

    2、NoSQL数据库系统

    ==================

    NoSQL的含义是Not Only SQL,指的是它不仅仅包括传统的关系型数据库系统,还有其他类型的数据库系统。

    当前NoSQL的概念主要指的是No SQL,即非SQL数据库系统。从这里可以看出NoSQL数据库系统中的NoSQL的含义是Not Only SQL的子集。

    NoSQL数据库系统产品比较多,可以按照支持的数据模型不同而分类为四类。

    2.1 键值数据库系统(Key-Value)
    ----------------------------------------------
    这一类数据库使用了一个哈希表,这个表存储的是key-Value对。Key-Value模型对于IT系统来说的优势在于简单、易部署。但是如果DBA只对部分值进行查询或更新的时候,Key-Value就显得效率低下了。
    目前主流的Key-Value数据库系统有:Redis, Memcached,Tokyo Cabinet/Tyrant, Voldemort, Oracle Berkeley DB等。
     
    2.2 列存储数据库(Wide column stores)
    ---------------------------------------------------------
    这部分数据库通常是用来应对分布式存储的海量数据。键仍然存在,但是它们的特点是指向了多个列。这些列是由列家族来管理的。
    目前主流的列式数据库系统有:Cassandra, HBase, Riak等。
     
    2.3 文档数据库系统(document stores)
    -----------------------------------------------------------
    文档型数据库系统的灵感是来源于Lotus Notes办公软件的,而且它同第一种键值数据库系统相类似。该类型的数据模型是版本化的文档,或者以特定格式存储的半结构化的文档,比如Json格式的文档。
    文档型数据库可以看作是键值数据库的升级版,允许嵌套键值。而且文档型数据库比键值数据库的查询效率更高。
    目前主流的产品有:CouchDB, MongoDb。国内也有文档型数据库SequoiaDB,目前已经开源。
     
    2.4 图数据库系统(graph dbms)
    -------------------------------------------------
    图数据库系统是基于图这种数据模型而设计的数据库系统。
    目前主流的产品有:Neo4J, InfoGrid, Infinite Graph,JanusGraph等。
     
    目前,NoSQL数据库在以下的这几种情况下比较适用:
    1、数据模型比较简单。
    2、需要灵活性更强的IT系统。
    3、对数据库性能要求较高。
    4、不需要高度的数据一致性。
    5、对于给定key,比较容易映射复杂值的环境。
     
     
    参考资料
    1、https://blog.csdn.net/chenleixing/article/details/43192639
    2、https://zhuanlan.zhihu.com/p/32826557
     
     
     
  • 相关阅读:
    洛谷 P1763 状态压缩dp+容斥原理
    hdu4612 Warm up 缩点+树的直径
    UVA-315 无向图求割点个数
    mysql 严格模式 Strict Mode说明
    bak文件恢复成 SQL2005 数据库 的全程讲解
    vps(windows2003)安全设置参考
    window下lamp环境搭建
    centos虚拟机配置网卡连接
    linux Tar 命令参数详解
    linux 打包和压缩的概念和区别
  • 原文地址:https://www.cnblogs.com/zhangzl419/p/9106338.html
Copyright © 2011-2022 走看看