• 关系型数据库和非关系型数据库的特性以及各自的优缺点


    数据库
    类型
    特性 优点 缺点
    关系型数据库
    SQLite、Oracle、mysql
    1、关系型数据库,是指采用了关系模型来组织
    数据的数据库;
    2、关系型数据库的最大特点就是事务的一致性;
    3、简单来说,关系模型指的就是二维表格模型,
    而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。
    1、容易理解:二维表结构是非常贴近逻辑世界一个概念,关系模型相对网状、层次等其他模型来说更容易理解;
    2、使用方便:通用的SQL语言使得操作关系型数据库非常方便;
    3、易于维护:丰富的完整性(实体完整性、参照完整性和用户定义的完整性)大大减低了数据冗余和数据不一致的概率;
    4、支持SQL,可用于复杂的查询。
    1、为了维护一致性所付出的巨大代价就是其读写性能比较差;
    2、固定的表结构;
    3、高并发读写需求;
    4、海量数据的高效率读写;
    非关系型数据库
    MongoDb、redis、HBase
    1、使用键值对存储数据;
    2、分布式;
    3、一般不支持ACID特性;
    4、非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合。
    1、无需经过sql层的解析,读写性能很高;
    2、基于键值对,数据没有耦合性,容易扩展;
    3、存储数据的格式:nosql的存储格式是key,value形式、文档形式、图片形式等等,文档形式、图片形式等等,而关系型数据库则只支持基础类型。
    1、不提供sql支持,学习和使用成本较高;
    2、无事务处理,附加功能bi和报表等支持也不好;

    注1:数据库事务必须具备ACID特性,ACID是Atomic原子性,Consistency一致性,Isolation隔离性,Durability持久性。

    注2:数据的持久存储,尤其是海量数据的持久存储,还是需要一种关系数据库。

  • 相关阅读:
    Java进阶10 内存管理与垃圾回收
    C编译: makefile基础
    Java基础09 类数据与类方法
    Java进阶06 容器
    C编译: 动态连接库 (.so文件)
    Java基础10 接口的继承与抽象类
    纸上谈兵: 左倾堆 (leftist heap)
    Java进阶02 异常处理
    Java进阶05 多线程
    Java基础12 类型转换与多态
  • 原文地址:https://www.cnblogs.com/zhanglong68/p/6490218.html
Copyright © 2020-2023  润新知