Database 指引
# 数据库分类
# 关系型数据库 (RDBMS)
- MySQL: 开源、广泛使用、适合 Web 应用
- PostgreSQL: 功能强大、标准兼容性好、适合复杂查询
- SQLite: 轻量级、嵌入式、适合小型应用
# NoSQL 数据库
- Redis: 内存数据库、高性能缓存、支持多种数据结构
- MongoDB: 文档数据库、灵活的数据模型
- Cassandra: 分布式、高可用、适合大数据场景
# 新兴数据库
- 向量数据库: 用于 AI/ML 场景的相似性搜索
- 时序数据库: InfluxDB、TimescaleDB 等
# 数据库对比
# PostgreSQL vs MySQL
https://aws.amazon.com/cn/compare/the-difference-between-mysql-vs-postgresql/ (opens new window)
主要差异:
- 数据类型: PostgreSQL 支持更丰富的数据类型(数组、JSON、自定义类型等)
- 标准兼容: PostgreSQL 更严格遵循 SQL 标准
- 性能: MySQL 在简单查询场景下可能更快,PostgreSQL 在复杂查询和并发场景下表现更好
- 扩展性: PostgreSQL 支持更多扩展(PostGIS、全文搜索等)
- 事务: 两者都支持 ACID,但 PostgreSQL 的 MVCC 实现更成熟
# Redis vs MySQL
- 存储方式: Redis 内存存储,MySQL 磁盘存储
- 数据结构: Redis 支持字符串、列表、集合、哈希、有序集合等
- 使用场景: Redis 用于缓存、会话存储、消息队列;MySQL 用于持久化数据存储
- 性能: Redis 读写速度极快,但数据容量受内存限制
# 学习路径
# 基础阶段
SQL 基础语法
- SELECT、INSERT、UPDATE、DELETE
- JOIN、子查询、聚合函数
- 索引、约束、事务
数据库设计
- 范式理论
- ER 模型
- 表结构设计
# 进阶阶段
性能优化
- 索引优化
- 查询优化
- 分区表
- 读写分离
高可用与备份
- 主从复制
- 备份策略
- 灾难恢复
特定数据库深入学习
- MySQL 存储引擎、锁机制
- PostgreSQL 扩展、JSON 查询
- Redis 持久化、集群
# 内容组织
本目录下的内容组织如下:
- MySQL 基础: MySQL 基础概念与使用
- MySQL 命令: 常用 SQL 命令与操作
- MySQL 案例: 实际应用案例
- MySQL FAQ: 常见问题解答
- PostgreSQL: PostgreSQL 使用指南
- SQLite: SQLite 轻量级数据库
- Redis: Redis 内存数据库
- MySQL 迁移到 PostgreSQL: 数据库迁移指南
# 相关资源
# 官方文档
- MySQL Documentation (opens new window)
- PostgreSQL Documentation (opens new window)
- Redis Documentation (opens new window)
- SQLite Documentation (opens new window)
# 学习资源
- 资讯
# 工具推荐
数据库管理工具
- DBeaver: 跨平台数据库管理工具
- DataGrip: JetBrains 出品的数据库 IDE
- pgAdmin: PostgreSQL 管理工具
- MySQL Workbench: MySQL 官方工具
在线工具
- SQL Fiddle: 在线 SQL 测试
- DB Fiddle: 多数据库在线测试平台
上次更新: 2025/11/13, 15:56:03