ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

关系型、非关系型、全文检索、向量数据库区别

关系型、非关系型、全文检索、向量数据库区别 1、总览关系数据库 (RDBMS)存结构化表格数据擅长事务、关联查询非关系数据库 (NoSQL)泛指不使用表结构的数据库分文档 / 键值 / 列存储等主打高扩展全文检索库针对文本关键词做分词、倒排索引快速检索包含某个词语的文档向量数据库存储向量 Embedding做相似度检索语义匹配不是关键词匹配。2、误区先厘清一个容易混淆的点这四类并不在同一个分类轴上。关系型 vs 非关系型是数据怎么组织、怎么存的维度存储模型全文检索 vs 向量检索是怎么把想要的东西找出来的维度检索方式所以它们不是互斥的四个格子——一个数据库完全可以身兼多职。比如 PostgreSQL 是关系型但加上扩展后能同时干全文检索和向量检索Elasticsearch 本质是全文检索引擎同时也存文档文档型 NoSQL现在也支持向量。理解这一点选型时才不会陷入四选一的误区。3、关系型数据库MySQL、PostgreSQL、Oracle3.1 数据模型二维表行 列固定 Schema表之间通过外键关联。例用户表 (id,name,phone)订单表 (order_id,user_id,amount)3.2 擅长场景强事务 ACID、多表 JOIN、复杂统计、数据一致性要求高订单、财务、用户基础信息。3.3 查询方式SQL按字段条件过滤、关联、聚合。3.4 短板表结构修改麻烦海量数据、高并发写入水平扩展成本高文本模糊搜索性能差无法原生做语义相似度。3.5 注意PostgreSQL 属于关系库但可以装插件支持全文检索、向量检索。4、非关系数据库 NoSQLMongoDB、Redis、HBase、Cassandra4.1 4个子类型NoSQL 是一大类不是单一数据库包含 4 个子类型键值库 Rediskey→value适合缓存、计数器文档库 MongoDBJSON/BSON 文档Schema 灵活列存储 HBase/Cassandra宽表海量时序、日志写入图数据库 Neo4j节点 关系社交网络、知识图谱。4.2 数据模型无固定表结构无外键。4.3 擅长场景高并发读写、数据结构经常变动、海量数据横向扩容。4.4 短板大多牺牲强事务多表关联查询弱不擅长关键词全文检索更不擅长语义向量检索。4.5 注意MongoDB 也内置简单向量检索属于附加能力不是原生定位。5、全文检索数据库Elasticsearch、Solr5.1 数据模型文档JSON核心是倒排索引。把文本拆成词语分词记录每个词出现在哪些文档。5.2 擅长场景关键词检索网页搜索、商品搜索、日志检索、文档内容检索。例子搜 “苹果手机”找出标题 / 描述里包含这四个字的商品。5.3 查询特点基于词匹配只能匹配字面关键词不懂语义。搜 “手机”不会自动返回 “移动电话”必须同义词词典扩展。5.4 短板不适合强事务不适合大量更新无法直接做语义相似度。6、向量数据库Milvus、Qdrant、PGVector6.1 数据模型存储向量 Embedding 原始元数据。 文本 / 图片 / 音频通过模型转为多维浮点数向量。猫→ [0.12,0.34,-0.05,...768 维]6.2 擅长场景语义相似度检索不是关键词匹配。输入“毛茸茸会抓老鼠的动物”返回 “猫” 的向量哪怕文档里没有 “毛茸茸” 三个字。6.3 查询方式相似度计算余弦距离、欧氏距离找向量空间里距离最近的 TopN。短板不适合复杂事务、多表 JOIN不适合纯关键词检索向量入库、索引构建有开销。7、对比表数据库类型核心索引查询目标典型例子核心能力关系型 RDBMSB 树结构化字段、关联、事务MySQL、PGACID、JOIN、强一致性NoSQL多种哈希、LSM 等灵活数据、高并发MongoDB、Redis水平扩容Schema 自由全文检索倒排索引文本关键词匹配Elasticsearch分词、关键词检索、高亮向量数据库向量索引 (HNSW 等)语义相似度Milvus、QdrantEmbedding 向量近邻搜索8、业务选型选型订单、账户、财务要事务 →MySQL/PG缓存、临时数据、结构经常变 →Redis / MongoDB商品搜索、日志检索、文章关键词查找 →ElasticsearchRAG 知识库、图片检索、语义推荐找相似内容→向量库9、组合使用RAG 系统PG/MySQL 存业务元数据 ES 关键词检索 Milvus 向量检索混合检索电商MySQL 订单 ES 商品搜索PostgreSQL关系库可以通过 pgvector 插件支持向量检索相当于关系库 向量能力但不是专业向量库 Elasticsearch 新版本也支持向量存储是全文检索为主向量为辅。
返回列表