• 关系型数据库和非关系型数据库的区别


    关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织
    优点:

    • 易于维护:都是使用表结构,提供事务处理,可保证数据的一致性,安全性高;
    • 使用方便:SQL语言通用,可用于复杂查询;
    • 复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。
    • 标准化,数据更新开销少

    缺点:

    • 读写性能比较差,尤其是海量数据的高效率读写;
    • 固定的表结构,灵活度稍欠;
    • 高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。
    • 为有数据更新的表做索引或表结构(schema)变更
    • 成本高,许可费昂贵。
    1. 读写集中在一个数据库上让数据库不堪重负,大部分网站已使用主从复制技术实现读写分离,以提高读写性能和读库的可扩展性,所以在进行大量数据操作时,会使用数据库主从模式。数据的写入由主数据库负责,数据的读入由从数据库负责,可以比较简单地通过增加从数据库来实现规模化,但是数据的写入却完全没有简单的方法来解决规模化问题。
    2. 在使用关系型数据库时,为了加快查询速度需要创建索引,为了增加必要的字段就一定要改变表结构,为了进行这些处理,需要对表进行共享锁定,这期间数据变更、更新、插入、删除等都是无法进行的。如果需要进行一些耗时操作,例如为数据量比较大的表创建索引或是变更其表结构,就需要特别注意,长时间内数据可能无法进行更新。

    非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合,可以是文档或者键值对等。

    优点:

    • 格式灵活:存储数据的格式可以是key,value形式、文档形式、图片形式等等,文档形式、图片形式等等,使用灵活,应用场景广泛,而关系型数据库则只支持基础类型。
    • 速度快:可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘;
    • 高扩展性;
    • 成本低:部署简单,软件开元。

    缺点:

    • 不提供sql支持,学习和使用成本较高;
    • 无事务处理;
    • 数据结构相对复杂,复杂查询方面稍欠。

    非关系型数据库的分类和比较:

    • 文档型
    • key-value型
    • 列式数据库
    • 图形数据库
    自强不息,厚德载物
  • 相关阅读:
    AJAX跨域JS访问
    dd
    学习java,搭建一个英文名著轻松阅读网站
    超载问题求解!!!
    nginx + uwsgi 部署Django项目
    一种算法问题,求指点!
    js除法余数
    button捕捉回车键
    为SQL表添加全文索引范例
    .Net刷新页面的小结
  • 原文地址:https://www.cnblogs.com/zhoufei2514/p/10168786.html
Copyright © 2020-2023  润新知