zoukankan      html  css  js  c++  java
  • SQL与NOSQL

    一:关系型数据库

      1.概念:

          采用了关系模型来组织数据的数据库。简单讲,关系模型就是二维表格模型。二维表格在              数据库中我们称之为记录,列在数据库中我们成为字段。

      2举例:

          MySQL,SQL Server, Oracle,access,DB2....

      2.存储方式:

          以多张数据表储存数据到计算机的磁盘中。

      3.优点:

          数据库结构清新,能够保持数据的一致性。

      4.缺点:

          大量数据的操作,字段的不固定,对表的索引以及表机构的更新,有瓶颈,不能扩展。

    二 :非关系型数据库

      1.为什么要使用菲关系型数据库?

         1):企业对数据库高并发读写的需求 ;

           2):对海量数据的高效率存储和访问的需求;

           3):对数据库的高可扩展性和高可用性的需求;

       2.关系型数据弊端:     

         1). 数据库事务一致性需求

            很多web实时系统并不要求严格的数据库事务,对读一致性的要求很低,有些场合对写一致性要求也不高。因此数据库事务管理成了数据库高负载下一个沉重的负担。 

        2). 数据库的写实时性和读实时性需求
            对关系数据库来说,插入一条数据之后立刻查询,是肯定可以读出来这条数据的,但是对于很多web应用来说,并不要求这么高的实时性

        3).对复杂的SQL查询,特别是多表关联查询的需求
            任何大数据量的web系统,都非常忌讳多个大表的关联查询,以及复杂的数据分析类型的复杂SQL报表查询,特别是SNS类型的网站,从需求以及产品设计角度,就避免了这种情况的产生。往往更多的只是单表的主键查询,以及单表的简单条件分页查询,SQL的功能被极大的弱化了。

      
    3.举例:

        Redis,Tokyo Cabinet,Cassandra,Voldemort,MongoDB,Dynomite,HBase,CouchDB,Hypertable,     Riak,Tin, Flare, Lightcloud, KiokuDB,Scalaris, Kai, ThruDB...

        4.存储方式:

            没有所谓的数据库和数据表,以键值对的形式存储在内存中,通过某种方式将数据持久化到计算机磁盘中.

        5.命名规范:

          项目名:模块名(表名):1(字段)

          项目名:模块名(表名):2(字段)

       6.优点
          对用户经常查训的数据存入缓存,而非是让用户查训数据库,从而提升的访问数据的下效率。
         非关系型数据库支持分布式,使数据的读写效率加以提高。
       
       7.缺点

        1)不提供sql支持,学习和使用成本较高;
        2)无事务处理,附加功能和报表等支持也不好
      
       8.redis数据类型

        String :存储字符串;
        list:集合(存储对象)
        hash:哈希表
        Set:集合(存储唯一不重复的数据)
        Sorted Set:集合(可对数据进行排序)

        
     
  • 相关阅读:
    【PHP】 lumen 输出sql信息
    Go学习笔记-使用MySQL数据库
    PHP检测函数是否存在
    Javascript边框闪烁提示
    【转】Ubuntu 16.04下 Mysql 5.7.17源码编译与安装
    python-mysql windows diver地址
    【转载】Python Flask 开发环境搭建(Windows)
    【转载】agentzh 的 Nginx 教程(版本 2016.07.21)
    【转载】写给新手看的Flask+uwsgi+Nginx+Ubuntu部署教程
    【转载】从零开始搭建论坛(三):Flask框架简单介绍
  • 原文地址:https://www.cnblogs.com/zhanggguoqi/p/10540447.html
Copyright © 2011-2022 走看看