数据库 之 关系型数据库和非关系数据库

数据库分为 关系数据库SQL 数据库 & 非关系数据库 NoSQL

1. sql 数据库的特点

  • 行列式表存储
  • 结构化数据需要预定义
  • 数据类型数据量和查询量都不大,如果数据量大要做分表
  • 对数据一致性、完整性约束、事务性、可靠性要求比较高
  • 支持多表 Join 操作支持多表间的完整性,要删除 A 表的某条数据,可能需要先删除 B 表的某些数据
  • SQL 的增删改查功能强
  • 较为通用,技术比较成熟
  • 大数据量性能不足
  • 高并发性能不足
  • 无法应用于非结构化数据
  • 扩展困难

常用的 SQL 数据库比如 Oracle、MySQL、PostgreSQL、SQLite

2. NoSql 数据库

  • 表结构较灵活,比如列存储,键值对存储,文档存储,图形存储
  • 支持非结构化数据
  • 有的不需要预定义数据类型,有的甚至不需要预定义表
  • 支持大数据量
  • 多数都支持分布式
  • 扩展性好
  • 基本查询能力,高并发能力比较强 (因为采用非结构化、分布式,并牺牲一致性、完整性、事务性等功能)
  • 对数据一致性要求比较低
  • 通常不支持事务性,或是有限支持
  • 通常不支持完整性,复杂业务场景支持较差
  • 通常不支持多表 Join,或是有限支持
  • 非 SQL 查询语言,或类 SQL 查询语言,但功能都比较弱,有的甚至不支持修改删除数据
  • 不是很通用,技术多样,市场变化比较大

常见的 no sql 数据库:

  • 列式:HBase、Cassandra、ClickHouse
  • 键值:Redis、Memcached
  • 文档:MongoDB
  • 时序:InfluxDB、Prometheus
  • 搜索:Elasticsearch

相关推荐

  1. 数据库 关系数据库关系数据库

    2024-04-02 23:26:02       33 阅读
  2. 关系数据库关系数据库

    2024-04-02 23:26:02       39 阅读
  3. 关系数据库关系数据库介绍

    2024-04-02 23:26:02       41 阅读
  4. 关系数据库关系数据库

    2024-04-02 23:26:02       29 阅读
  5. NoSQL(关系数据库Redis

    2024-04-02 23:26:02       68 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-02 23:26:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-02 23:26:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-02 23:26:02       82 阅读
  4. Python语言-面向对象

    2024-04-02 23:26:02       91 阅读

热门阅读

  1. 面试宝典:深入分析golang 的 泛型

    2024-04-02 23:26:02       34 阅读
  2. babyAGI(6)-babyCoder源码阅读2任务描述部分

    2024-04-02 23:26:02       29 阅读
  3. 逆序对————权值线段树+离散化写法

    2024-04-02 23:26:02       40 阅读
  4. MYSQL数据库的故障排除与优化

    2024-04-02 23:26:02       54 阅读
  5. 预防 MySQL 死锁的策略

    2024-04-02 23:26:02       28 阅读
  6. Mysql哪些查询不走索引

    2024-04-02 23:26:02       30 阅读
  7. 11、Cocos Creator 2D 渲染组件:Label 组件

    2024-04-02 23:26:02       33 阅读
  8. 宽表的优缺点,你明白吗?

    2024-04-02 23:26:02       38 阅读
  9. Google人才选拔的独特视角

    2024-04-02 23:26:02       31 阅读
  10. 一文读懂485通讯协议

    2024-04-02 23:26:02       38 阅读