关系型数据库与非关系型数据库的区别

1️⃣ 关系型数据库(Relational Database,RDBMS)

核心概念

  • 数据以 表(Table) 形式存储
  • 表由 行(Row) 和 列(Column) 组成
  • 表与表之间可以通过 外键(Foreign Key) 建立关系
  • 数据结构固定,需要定义 Schema
  • 支持 ACID 事务(原子性、一致性、隔离性、持久性)

典型代表

  • MySQL
  • PostgreSQL
  • Oracle
  • SQL Server

特点

特性 描述

数据结构 表格形式,严格 schema

查询语言 SQL

事务 完整支持 ACID

关系 表与表可以 join

优势 数据一致性高,适合核心业务系统

缺点 扩展性差(水平扩展困难),大规模海量数据性能可能受限

示例

复制代码
CREATE TABLE users (
    id INT PRIMARY KEY,
    name VARCHAR(50),
    age INT
);

INSERT INTO users (id, name, age) VALUES (1, '张三', 20);
SELECT * FROM users WHERE name='张三';

2️⃣ 非关系型数据库(NoSQL)

核心概念

  • 不用固定表结构(Schema-less),数据形式多样
  • 主要存储模式:
    1. 文档型(Document) → JSON 文档
      • 例如:Elasticsearch、MongoDB
    2. 键值型(Key-Value) → Redis、Riak
      • 通过 key 直接获取 value
    3. 列族型(Column-Family) → HBase、Cassandra
      • 类似关系型表,但列可以动态添加
    4. 图数据库 → Neo4j
      • 存储节点和边,适合社交网络、推荐系统
  • 支持高并发、分布式、水平扩展
  • 事务支持弱,有些只支持文档级事务或最终一致性

特点

特性 描述

数据结构 灵活,JSON、键值、列族或图

查询语言 DSL、API 或专有查询语言

事务 弱事务(部分支持最终一致性)

关系 数据间关系弱或用嵌套结构表示

优势 扩展性好,适合大数据、搜索、缓存、日志分析

缺点 数据一致性和完整性不如关系型数据库

示例(文档型 MongoDB)

复制代码
db.animals.insert({
    "_id": 1,
    "name": "猫",
    "age": 2,
    "description": "可爱的小动物"
});

db.animals.find({ "name": "猫" });

3️⃣ 核心区别总结

特性 关系型数据库 RDBMS 非关系型数据库 NoSQL

数据结构 表格、固定 schema 文档/键值/列族/图,灵活 schema

查询语言 SQL API 或 DSL,不一定用 SQL

事务 完整 ACID 弱事务/最终一致性

扩展性 垂直扩展为主 水平扩展方便

适用场景 核心业务系统(银行、ERP) 大数据、搜索、缓存、日志分析

示例 MySQL, Oracle Elasticsearch, MongoDB, Redis


💡 小结:

  • RDBMS → 注重数据一致性、关系型、适合传统业务系统
  • NoSQL → 注重性能、可扩展性、适合大数据、搜索、缓存、日志分析等场景
相关推荐
辞旧 lekkk2 小时前
【Qt】信号和槽
linux·开发语言·数据库·qt·学习·mysql·萌新
2301_809204703 小时前
JavaScript中严格模式use-strict对引擎解析的辅助.txt
jvm·数据库·python
zjy277773 小时前
mysql如何选择合适的索引类型_mysql索引设计实战
jvm·数据库·python
笨蛋不要掉眼泪4 小时前
Mysql架构揭秘:update语句的执行流程
数据库·mysql·架构
万邦科技Lafite4 小时前
京东item_get接口实战案例:实时商品价格监控全流程解析
java·开发语言·数据库·python·开放api·淘宝开放平台
秋95 小时前
ruoyi项目更换为mysql9.7.0数据库
数据库
Andya_net5 小时前
MySQL | MySQL 8.0 权限管理实践-精确赋予库、表只读等权限
android·数据库·mysql
筑梦之路6 小时前
harbor数据库报错权限异常如何处理——筑梦之路
数据库·harbor
czlczl200209257 小时前
理解 MySQL 行锁:两阶段锁协议与热点更新优化
数据库·mysql
AllData公司负责人7 小时前
通过Postgresql同步到Doris,全视角演示AllData数据中台核心功能效果,涵盖:数据入湖仓,数据同步,数据处理,数据服务,BI可视化驾驶舱
java·大数据·数据库·数据仓库·人工智能·python·postgresql