Skip to content

前言

数据库按数据模型和使用方式,常见可以分为:

  • 关系型数据库(RDBMS - Relational Database Management System)
  • 非关系型数据库(NoSQL - Not Only SQL)

关系型数据库

关系型数据库使用表、行、列组织数据,通常使用 SQL 操作数据。

特点

  • 表结构清晰:数据按表存储,字段类型和约束通常需要提前定义。
  • 关系建模:表之间可以通过主键、外键或业务字段建立关联。
  • SQL 查询:适合条件查询、关联查询、聚合统计等结构化数据操作。
  • 事务支持:通常支持 ACID 事务,适合对一致性要求高的业务。
  • 约束能力强:支持主键、唯一约束、非空约束、外键等。

常见数据库

  • MySQL
  • PostgreSQL
  • SQLite
  • Oracle Database
  • Microsoft SQL Server

适用场景

  • 用户、订单、支付、库存等结构化业务数据。
  • 需要事务和一致性保障的系统。
  • 数据关系明确、查询条件稳定的业务。

非关系型数据库

NoSQL 不是单一数据库类型,而是一类不以传统关系模型为核心的数据库。

常见类型

类型说明代表
键值数据库通过 Key 直接读写 Value,访问速度快Redis、DynamoDB
文档数据库以 JSON、BSON 等文档形式存储数据MongoDB、CouchDB
列族数据库面向大规模分布式数据存储Cassandra、HBase
图数据库用节点和边表达复杂关系Neo4j、JanusGraph

特点

  • 数据模型更灵活,适合半结构化或特定模型的数据。
  • 通常更容易做水平扩展,但具体能力取决于数据库类型和部署方式。
  • 查询能力、事务能力、约束能力差异较大,不能一概而论。

适用场景

  • 缓存、计数器、排行榜等高频读写场景。
  • 文档内容、配置、日志、事件等半结构化数据。
  • 图关系、时序数据、大规模分布式数据等特定模型场景。

基于 MIT 许可发布