首页/数据/NoSQL 速查/NoSQL 数据库分类与代表产品
选型与架构50 条

NoSQL 数据库分类与代表产品

NoSQL 按数据模型与访问模式分为文档、键值、宽列、搜索、时序、图等类别,各自解决的问题不同;选型从查询模式与一致性要求倒推,而不是先挑产品。

NoSQL 速查数据更新于 2026-10-12

类别对照

类别数据模型代表产品典型场景
文档库JSON/BSON 文档MongoDB内容、订单、用户档案等半结构化数据
键值库key → valueRedis、Memcached缓存、会话、计数器
宽列库行键 + 列族HBase、Cassandra超大规模写入、稀疏列
搜索引擎倒排索引 + 文档Elasticsearch全文检索、日志分析
列式分析库列式存储 + SQLClickHouse、DorisOLAP 聚合、报表
时序库时间戳 + 标签InfluxDB、Prometheus监控指标、IoT 采集
图数据库顶点 + 边Neo4j 等关系网络、路径查询

同一需求的多库示例

同一需求的多库示例
查询某个用户最近 10 条订单:
- MongoDB: db.orders.find({ userId: 7 }).sort({ ts: -1 }).limit(10)
- Elasticsearch: GET /orders/_search {"size": 10, "query": {"term": {"userId": 7}}, "sort": [{"ts": "desc"}]}
- ClickHouse: SELECT * FROM orders WHERE userId = 7 ORDER BY ts DESC LIMIT 10
- Redis: ZREVRANGE orders:7 0 9
大多数业务系统是组合方案:关系库做交易主存储,搜索库做检索,列式库做分析;先画数据流再定组件。

易错点

  • 按产品热度选型而忽略查询模式,落地后才发现核心查询走不动索引
  • 把"支持 SQL"当成同类能力:不同库的 SQL 方言、事务与一致性语义差异很大

数据来源与参考

  • MongoDB Manual: Introduction
  • Elasticsearch Guide: What is Elasticsearch
  • ClickHouse Docs: Overview
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌