📚 1. 数据库的基本分类
1.1 按 数据模型 分类
-
关系型数据库(RDBMS)
-
使用 表结构(行 + 列) 存储数据。
-
支持 SQL 查询语言。
-
特点:事务支持(ACID)、结构化、强一致性。
-
代表:MySQL、PostgreSQL、Oracle、SQL Server、DB2。
-
-
非关系型数据库(NoSQL)
-
适合大规模、高并发、灵活的数据场景。
-
不严格依赖表结构,支持键值、文档、列族、图存储。
-
代表:
-
键值存储:Redis、Memcached
-
文档存储:MongoDB、CouchDB
-
列式存储:HBase、Cassandra
-
图数据库:Neo4j、JanusGraph
-
-
-
NewSQL
-
兼具关系型数据库的 SQL 功能 + NoSQL 的扩展能力。
-
解决传统 RDBMS 在分布式场景下的性能瓶颈。
-
代表:TiDB、CockroachDB、Google Spanner、VoltDB。
-
1.2 按 存储方式 分类
-
行存储数据库
-
一行完整数据存储在一起。
-
适合 事务操作(OLTP),如 MySQL、PostgreSQL。
-
-
列存储数据库
-
按列存储,相同列数据连续存放。
-
适合 分析型查询(OLAP),如 ClickHouse、Hive、HBase、Cassandra。
-
1.3 按 应用场景 分类
-
事务型数据库(OLTP)
-
主要用于高并发、快速响应的业务系统。
-
代表:MySQL、Oracle、PostgreSQL、SQL Server。
-
-
分析型数据库(OLAP)
-
面向数据仓库、大数据分析,查询量大,数据规模庞大。
-
代表:Hive、ClickHouse、Greenplum、Snowflake。
-
-
时序数据库(Time Series DB)
-
专门存储和查询带时间戳的数据。
-
代表:InfluxDB、TimescaleDB、OpenTSDB。
-
-
图数据库(Graph DB)
-
存储实体及其关系,适合社交网络、知识图谱。
-
代表:Neo4j、ArangoDB、TigerGraph。
-
-
搜索引擎型数据库
-
针对全文检索优化。
-
代表:Elasticsearch、Solr。
-
📊 2. 常见数据库产品列表
类别 | 数据库 | 特点 |
---|---|---|
关系型 | MySQL | 开源、流行度最高、生态庞大 |
PostgreSQL | 功能强大,支持复杂 SQL 和 JSON | |
Oracle | 商业数据库巨头,功能最全 | |
SQL Server | 微软产品,企业常用 | |
MariaDB | MySQL 的社区版分支 | |
NoSQL - 键值 | Redis | 高性能缓存、消息队列 |
Memcached | 内存缓存,轻量级 | |
NoSQL - 文档 | MongoDB | JSON 文档存储,灵活 |
CouchDB | JSON + HTTP API | |
NoSQL - 列族 | HBase | Hadoop 生态,海量数据 |
Cassandra | 高可用、分布式 | |
NoSQL - 图 | Neo4j | 社交关系、知识图谱 |
ArangoDB | 多模型数据库 | |
分析型 | Hive | Hadoop SQL 层 |
ClickHouse | 高性能列式数据库 | |
Greenplum | 分布式分析型数据库 | |
Snowflake | 云原生数据仓库 | |
NewSQL | TiDB | 分布式事务 + SQL |
CockroachDB | 类似 Spanner 的分布式数据库 | |
Google Spanner | 全球分布式数据库 | |
时序 | InfluxDB | IoT/监控常用 |
TimescaleDB | PostgreSQL 扩展,时序优化 |
🔑 3. 总结
-
关系型数据库(MySQL、PostgreSQL、Oracle) → 适合事务系统。
-
NoSQL(Redis、MongoDB、HBase、Neo4j) → 适合高并发、大规模、灵活存储。
-
分析型数据库(ClickHouse、Hive、Snowflake) → 适合大数据分析。
-
时序 / 图数据库(InfluxDB、Neo4j) → 针对特定业务场景。
-
NewSQL(TiDB、CockroachDB) → 结合了 SQL 和分布式的优势。