开篇:不是所有数据都适合放进表格
关系型数据库(MySQL、Oracle)用表格存储数据,简单直观。但当你要存社交网络的关系图谱、用户的行为日志、格式不固定的商品属性时,强行往表格里塞就很别扭了。NoSQL(Not Only SQL)就是为这些场景而生的 -- 不是要取代关系型数据库,而是在它不擅长的领域做补充。
NoSQL 四大家族
NoSQL 数据库按数据模型分为四大类,每类解决不同的问题:
| 类型 | 代表产品 | 数据模型 | 典型场景 |
|---|---|---|---|
| 列存储 | HBase | 列族 | 海量数据的随机读写,如日志分析 |
| K-V 存储 | Redis | 键值对 | 高速缓存、会话管理、排行榜 |
| 文档存储 | MongoDB | JSON/BSON 文档 | 内容管理、商品属性、用户画像 |
| 图存储 | Neo4j | 节点 + 边 | 社交网络、知识图谱、推荐系统 |
大约 6 分钟