






























下面用一张表格,把这些数据库放在一起对比,先看全景,再做补充说明。
| 类型 | 核心数据模型 | 主要查询方式 | 典型使用场景 | 代表产品 |
|---|---|---|---|---|
| 关系型数据库 | 表、行、列,强 Schema | SQL(JOIN、聚合、子查询) | 业务系统、交易、报表 | MySQL、PostgreSQL、Oracle |
| 向量数据库 | 高维向量(embedding) | 近似最近邻搜索(ANN) | 语义搜索、推荐、RAG | Milvus、Pinecone、Weaviate |
| Elasticsearch | JSON 文档,倒排索引 | 全文搜索、聚合分析 | 日志分析、站内搜索、运维监控 | Elasticsearch |
| 缓存 | 简单 KV / 数据结构 | 键值访问 | 热点数据加速、Session、排行榜 | Redis、Memcached |
| 列式数据库 | 按列存储的表 | SQL(OLAP 聚合) | 大数据分析、BI 报表 | ClickHouse、Apache Parquet+Doris |
| 时序数据库 | 时间戳 + 指标 + 标签 | 时间范围聚合、降采样 | 监控、IoT、金融行情 | TimescaleDB、InfluxDB、TDengine |
| 图数据库 | 节点 + 边(属性图) | 图遍历、最短路径、模式匹配 | 社交网络、反欺诈、知识图谱 | Neo4j、JanusGraph、TigerGraph |
尽管定位不同,它们在设计思想和工程共性上有不少重叠:
都是“专用数据管理工具”
每一种都是为了解决某一类特定数据场景的效率问题而设计的,底层都有存储引擎、查询解析器和索引结构。
都支持分布式与横向扩展
除了单机使用外,几乎所有产品都有集群版,支持分片、副本和数据均衡。
都有一定的查询语言或 API
SQL、类 SQL、DSL、Gremlin/Cypher、gRPC 等,目的都是用结构化方式描述“我要什么数据”。
都看重数据索引以加速查询
关系库有 B+ 树、哈希索引;ES 用倒排索引;向量库用 HNSW/IVF 图索引;时序库用时间分区索引等。
在实际架构中往往组合使用
很少有系统只用一种数据库。常见组合如下:
区别:它们分别针对事务型、语义向量、全文搜索、高速缓存、分析型、时间序列、关系网络这七种不同数据特性做了极致优化。
共同点:都是分布式数据存取设施,依赖索引技术,有特定的查询接口,并且经常在同一个系统里互相配合、形成数据中台的不同存储层。
如果你正面临一个具体的架构选型场景(比如“我要做实时日志分析+推荐系统”),可以继续说说需求,我帮你细化组合方案。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。