NoSQL 数据库主要分为四大核心类型,它们的设计目标、数据模型和适用场景各有不同,具体如下:
1. 键值型数据库(Key-Value Store)
这是最基础、最简单的 NoSQL 数据库类型。
- 核心模型 :以
键(Key)- 值(Value)对的形式存储数据,键是唯一标识符,值可以是任意格式的数据(字符串、二进制、JSON 等)。 - 核心特点:读写速度极快,支持高并发;但不支持复杂查询,只能通过键来检索数据。
- 典型应用:缓存系统、会话存储、购物车数据、实时推荐。
- 代表产品 :Redis、Memcached、Amazon DynamoDB。
2. 文档型数据库(Document Store)
将数据以文档的形式存储,是使用最广泛的 NoSQL 类型之一。
- 核心模型:数据以类似 JSON/BSON 的文档格式存储,文档内部可以包含嵌套的键值对和数组,结构灵活。
- 核心特点:支持复杂的查询操作(如按文档内字段筛选),无需预先定义表结构;扩展性好。
- 典型应用:内容管理系统(CMS)、电商平台商品数据、用户画像、博客系统。
- 代表产品:MongoDB、CouchDB、RavenDB。
3. 列族型数据库(Column-Family Store)
也叫宽列数据库,为大规模分布式存储和分析优化设计。
- 核心模型 :数据按列族组织,列族是一组相关列的集合;表可以看作是行的集合,每行可以有不同的列,列可以动态添加。
- 核心特点:适合海量数据的高并发读写和批量查询,擅长处理结构化和半结构化数据;写入性能优异。
- 典型应用:大数据分析、日志存储、时序数据、分布式数据仓库。
- 代表产品 :HBase、Cassandra、Amazon SimpleDB。
4. 图数据库(Graph Database)
专为存储和处理图结构数据设计,聚焦于实体之间的关系。
- 核心模型 :以
节点(Node)表示实体,边(Edge)表示实体之间的关系,节点和边都可以携带属性。 - 核心特点:能高效处理复杂的关系查询(如社交网络的好友推荐、路径搜索),查询效率远高于传统关系型数据库。
- 典型应用:社交网络、知识图谱、推荐系统、欺诈检测、物流路径规划。
- 代表产品:Neo4j、JanusGraph、ArangoDB。