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

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 → 注重性能、可扩展性、适合大数据、搜索、缓存、日志分析等场景
相关推荐
marvelyu3 小时前
每天10分钟学会OceanBase系列(Day 20):跨机房容灾实战——构建多数据中心高可用架构
java·大数据·数据库
ZCBUS实时计算4 小时前
金融证券实时数仓建设实践:轻量化实时计算平台落地,实现交易数据端到端秒级处理
大数据·数据库·数据仓库·金融·flink·dba·etl
zd2005724 小时前
海洋微生物数据库
数据库·宏基因组
海上小飞龙4 小时前
Redis 分布式锁原理:从 SET NX EX 到 Redisson 看门狗
数据库·redis·分布式
xiaoye-duck5 小时前
MySQL 表约束全解:从基础约束到外键关联规则
数据库·mysql
Hammer_Hans5 小时前
DFT笔记98
java·开发语言·数据库
迪康Defender5 小时前
从静态存储到动态流转:终端透明加密两种模式实战解析
运维·服务器·网络·数据库·其他
2601_965798475 小时前
Is Piroll WordPress Theme Worth It for Freelancers? Full Review
数据库·php
冷凝娇6 小时前
【MySQL】2026总结(二)
数据库·mysql
aaa小葵7 小时前
LangGraph
数据库·人工智能