Appearance
NoSQL 简介
什么是 NoSQL?
NoSQL(Not Only SQL)泛指非关系型数据库,用于应对高并发、海量数据、灵活 schema 等场景。NoSQL 不依赖传统的关系型表结构,也不强制使用 SQL 作为查询语言。
为什么需要 NoSQL?
- 扩展性:更容易做水平扩展(分片、集群)。
- 灵活性:文档/键值等模型无需预定义严格表结构,适合快速迭代。
- 性能:在特定读写模式(如键值、文档)下可达到更高吞吐。
- 高可用:很多 NoSQL 产品原生支持副本集、多节点部署。
NoSQL 分类
| 类型 | 代表产品 | 特点 |
|---|---|---|
| 文档型 | MongoDB、CouchDB | 数据以文档(如 JSON/BSON)存储,嵌套结构自然 |
| 键值型 | Redis、Memcached | 简单 key-value,常用于缓存、会话 |
| 列族型 | HBase、Cassandra | 按列存储,适合分析、时序 |
| 图数据库 | Neo4j | 节点与关系,适合关系图谱、推荐 |
文档型数据库与 MongoDB
MongoDB 是典型的文档型 NoSQL:数据以 BSON(Binary JSON)文档形式存储在集合(Collection)中,每个文档可拥有不同字段,无需事先建表。下一节将介绍 MongoDB 简介。