一、按数据模型分类
关系型数据库 (RDBMS)
• 特点:基于表格结构,使用SQL语言,支持ACID事务。
• 代表数据库:
◦ MySQL(开源,适用于Web应用)
◦ PostgreSQL(开源,支持JSON和扩展性)
◦ Oracle(企业级,高可靠性)
◦ SQL Server(微软生态,集成工具丰富)
◦ SQLite(轻量级,嵌入式设备)非关系型数据库 (NoSQL)
• 文档型数据库:
◦ MongoDB(JSON格式,灵活模式)
◦ CouchDB(分布式,支持离线同步)
• 键值型数据库:
◦ Redis(内存存储,高性能缓存)
◦ DynamoDB(AWS托管,自动扩展)
• 列式数据库:
◦ Cassandra(高可用,适合时序数据)
◦ HBase(基于Hadoop,大数据场景)
• 图数据库:
◦ Neo4j(高效处理关系网络)
◦ ArangoDB(多模型,支持图+文档)时序数据库
• 特点:优化时间序列数据存储(如传感器、监控数据)。
• 代表:InfluxDB、TimescaleDB(基于PostgreSQL扩展)。搜索引擎数据库
• 特点:全文检索和数据分析。
• 代表:Elasticsearch、Solr。
二、按部署方式分类
- 本地数据库
• 如:MySQL、SQL Server(需自行维护服务器)。 - 云数据库
• AWS:RDS、Aurora
• Google Cloud:Firestore、Bigtable
• 阿里云:PolarDB、AnalyticDB
三、特殊用途数据库
- 内存数据库
• Redis、Memcached(高速缓存)。 - 嵌入式数据库
• SQLite、LevelDB(集成到应用中)。 - 区块链数据库
• 如BigchainDB(去中心化存储)。
四、新兴数据库技术
- NewSQL
• 结合NoSQL扩展性与SQL一致性,如CockroachDB、TiDB。 - 多模型数据库
• 支持多种数据模型,如ArangoDB、Cosmos DB。
五、如何选择数据库?
考虑因素:
• 数据结构(关系型/非结构化)
• 读写性能需求
• 扩展性(垂直/水平)
• 事务一致性要求
• 成本(开源/商业许可)常见场景:
• 金融系统:PostgreSQL(强事务)
• 实时分析:MongoDB/Elasticsearch
• IoT数据:InfluxDB
附:学习资源
• 实践平台:
• DB-Engines Ranking(数据库流行度排名)
• 在线实验:MongoDB Atlas、Firebase实时数据库