数据库与知识图谱
文章平均质量分 90
佑瞻
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
MongoDB 变更流(Change Streams)完全指南:从基础到实战的实时数据监控方案
变更流是 MongoDB 提供的实时数据变更订阅机制,允许应用程序 “监听” 集合、数据库或整个部署的变更事件(插入、更新、删除、替换等),并在事件发生时实时获取变更详情。如前所述,通过管道仅保留 “库存字段更新” 的update事件:python},"_id": 1 # 保留恢复令牌MongoDB 变更流是实时数据监控的 “利器”,相比传统轮询或 oplog 解析,它更简单、更可靠、更灵活。适用场景:实时库存监控、数据同步、缓存刷新、业务预警等;核心能力。原创 2025-09-18 22:43:26 · 1202 阅读 · 0 评论 -
MongoDB 数据建模从入门到精通:核心思想、实操步骤与最佳实践
以查询为导向:高频查询优先,所有设计为 “减少查询延迟” 服务;优先嵌入,合理引用:能嵌入的不引用,避免频繁$lookup;控制文档大小:避免单文档超过 16MB,用子集 / 引用拆分大数据;索引精简化:只为高频查询创建索引,定期清理无用索引;灵活迭代:业务变化后,通过重新分析工作负载,调整模型。原创 2025-09-18 22:39:01 · 1099 阅读 · 0 评论 -
MongoDB 索引从入门到精通:原理、实战与性能优化指南
MongoDB 索引是提升查询性能的核心工具,但需在 “查询效率” 和 “写入性能” 之间找到平衡。基础认知:索引是 “排序的数据副本”,基于 B-tree 实现,能减少扫描文档数,但会损耗写入性能。核心操作:掌握索引的创建(按场景选类型)、查看(确认存在)、删除(清理无用)、修改(无缝过渡)。类型选择:单字段索引适配简单查询,复合索引适配多字段查询,多键索引适配数组,通配符索引适配动态字段。性能优化:通过识别无用索引,用验证索引效果,大集合建索引用避免锁表。原创 2025-09-17 19:36:37 · 764 阅读 · 0 评论 -
MongoDB 高可用与海量数据实战:从副本集、分片到事务全解析
保障高可用、实现水平扩展、确保数据一致性。本文将由浅入深,从架构原理到开发实践,带你掌握这些技术的核心逻辑与落地要点。原创 2025-09-17 19:23:19 · 784 阅读 · 0 评论 -
MongoDB CRUD 操作详解:从基础到实战,一篇掌握数据增删改查
let。原创 2025-09-16 15:48:09 · 1314 阅读 · 0 评论 -
MongoDB 入门到实践:从核心概念到聚合管道,一篇搞定
若内置角色无法满足需求(如 “仅允许查询orders集合,禁止查询其他集合”),可创建自定义角色:javascript// 自定义角色需在目标数据库创建role: "order_viewer", // 角色名privileges: [ // 权限列表resource: { db: "ecommerce_db", collection: "orders" }, // 权限作用范围(电商库的orders集合)actions: [ "find" ] // 允许的操作(仅查询)],原创 2025-09-16 12:22:30 · 1771 阅读 · 0 评论 -
Redis 分布式锁实现与实践
Redis 分布式锁是解决分布式系统资源竞争的有效方案,单实例实现简单但存在单点风险,适合对可靠性要求不高的场景;Redlock 算法通过多实例部署提供了更高的可靠性,适用于对一致性要求严格的业务场景。在实际应用中,需根据业务特性选择合适的实现方案,并重点关注锁的安全性、有效性和容错性设计。目前已有多个成熟的开源库实现了 Redlock 算法(如 Redisson、redlock-py 等),可根据技术栈选择使用。原创 2025-07-09 18:18:41 · 931 阅读 · 0 评论 -
Redis OM for Python 实战:用 Flask 构建 Redis 文档型 API
在person.pyPerson(主模型)和Address(嵌入式模型):python# 嵌入式地址模型(作为Person的字段)# 街道号码(必选,索引)# 单元号(可选,不索引)# 街道名称(必选,索引)# 城市(必选,索引)# 州/省(必选,索引)# 邮编(必选,索引)# 国家(必选,索引,默认英国)# 人员主模型# 名(必选,索引)# 姓(必选,索引)# 年龄(必选,正整数,索引)# 地址(必选,嵌入式模型)# 个人陈述(必选,支持全文搜索)原创 2025-07-09 17:53:41 · 16210 阅读 · 0 评论 -
Redis 性能优化实战:管道、事务、缓存与连接管理全解析
管道与事务:解决批量命令的网络开销和原子性问题;扫描迭代:安全遍历海量数据,避免服务器阻塞;客户端缓存:本地保存热点数据,减少网络往返;连接管理:通过连接池或多路复用降低连接开销。这些工具在实际开发中往往组合使用 —— 比如用连接池管理连接,通过管道批量执行命令,同时用客户端缓存加速读操作。原创 2025-07-09 17:28:09 · 1004 阅读 · 0 评论 -
Redis 进阶:向量集嵌入与概率数据类型实战指南
今天我们一起探索了 Redis 的两个强大功能:向量集嵌入让文本检索突破关键词限制,实现语义级匹配;概率数据类型则用可控误差换来了内存和效率的大幅提升,非常适合海量数据场景。原创 2025-07-09 17:04:54 · 1229 阅读 · 0 评论 -
Redis-py 实战指南:从安装到向量索引,Python 操作 Redis 全解析
今天我们从 redis-py 的安装开始,逐步讲解了基础连接、集群与 TLS 安全连接、客户端缓存优化,再到 JSON / 哈希文档的索引查询,最后实战了向量索引与语义查询。这些内容基本覆盖了 redis-py 的核心用法,无论是日常开发还是进阶场景,应该都能帮到你。原创 2025-07-09 16:50:56 · 1202 阅读 · 0 评论 -
基于 Redis 构建高效 RAG 应用:从原理到实践入门指南
简单来说,RAG 是一种增强 LLMs 能力的技术:LLMs 本身的训练数据是固定的,无法实时更新,而 RAG 通过 “检索外部数据→增强提示→生成回复” 的流程,让 LLMs 能调用最新、最相关的信息,避免 “一本正经地胡说八道”。检索:根据用户查询,从外部数据库(比如 Redis)中找到相关信息(用向量搜索和过滤器实现);增强:把用户查询、检索到的上下文和额外指令整合成新的提示,喂给 LLMs;生成:LLMs 基于增强后的提示生成回复,确保内容既符合语境又有事实依据。原创 2025-07-08 19:30:56 · 1118 阅读 · 0 评论 -
Redis 实战指南:从数据结构到向量数据库的全方位入门
非结构化数据(比如自行车描述文本)不好直接搜索,我们可以把它转换成向量(一串数字)—— 这就是向量嵌入。向量数据库能存储这些向量,并通过计算向量间的距离(比如余弦距离),找到语义相似的数据。比如 “儿童山地车” 和 “适合小孩的山地自行车”,文字不同但意思相近,它们的向量会很 “近”。作为数据结构存储,用字符串、哈希高效存储键值数据;作为文档数据库,用 JSON 和二级索引轻松管理和搜索结构化文档;作为向量数据库,通过向量嵌入和 KNN 搜索处理非结构化数据的语义匹配。原创 2025-07-08 19:16:25 · 1322 阅读 · 0 评论 -
LlamaIndex 图检索增强生成 (Graph RAG) 实战:从知识图谱到智能问答
关系建模能力:通过知识图谱的节点和边结构,显式表示实体间的复杂关系上下文构建方式:基于查询相关的实体子图构建上下文,而非碎片化文本块语义理解深度:能处理 "多跳关系查询"(如 "找出 A 公司投资的 B 公司的竞争对手")维度向量 RAGGraph RAG数据结构文本嵌入向量图结构(节点 + 关系)检索单元文本块实体子图关系处理隐式语义关联显式关系路径复杂查询依赖 LLM 推理直接检索关系路径通过 Graph RAG,我们实现了从 "文本匹配" 到 "关系推理" 的跨越。原创 2025-06-12 16:46:53 · 1064 阅读 · 0 评论 -
LlamaIndex 属性图存储实战:基于 Neo4j 的图数据库集成与操作指南
通过直接操作属性图存储,我们绕过索引层实现了更灵活的图数据管理。从简单的实体关系到复杂的语义网络,Neo4j 与 LlamaIndex 的结合为知识图谱应用提供了强大支撑。原创 2025-06-12 16:31:45 · 874 阅读 · 0 评论 -
NebulaGraph 查询优化与作业管理实战:从执行计划到任务调度的全流程解析
从查询性能分析到后台作业调度,NebulaGraph 提供了一套完整的工具链。EXPLAIN 和 PROFILE 帮助我们看透查询的 "本质",而作业管理体系则保障了集群的稳定运行。实际开发中,建议建立常态化的监控机制:每天查看一次执行计划,每周分析一次作业日志,每月进行一次分片均衡。希望这些经验能帮助大家在图数据库开发中少走弯路。原创 2025-05-06 17:17:33 · 1131 阅读 · 0 评论 -
NebulaGraph 索引深度解析:从基础语法到实战优化的完整指南
ngqlWHERE ES_QUERY(user_full_idx, "name:华* AND bio:工程师")-- 显示匹配分数ngqlWHERE ES_QUERY(user_full_idx, "name:小*^4 OR bio:小*")-- 姓名匹配结果分数更高plaintext查询类型 → 结构化查询?├─ 是 → 单属性/复合索引(数值/短字符串)├─ 否 → 全文索引(长文本/模糊搜索)└─ 按类型筛选 → 标签/边类型索引。原创 2025-05-06 17:07:07 · 1061 阅读 · 0 评论 -
NebulaGraph 图空间与 Schema 设计基础:从创建到管理的详细指南
图空间是 NebulaGraph 中数据隔离的核心单元,类似 MySQL 中的 database,但支持分布式存储参数配置。每个图空间包含独立的点、边、Tag、Edge type 等数据,不同空间之间完全隔离,需通过USE语句切换。ngqlCREATE TAG [IF NOT EXISTS] <标签名> (<属性名> <数据类型> [NULL | NOT NULL] [DEFAULT <默认值>] [COMMENT '<描述>']-- 可定义多个属性,用逗号分隔。原创 2025-05-06 12:16:18 · 1457 阅读 · 0 评论 -
NebulaGraph 复合查询实战:从子句组合到变量引用的全场景通关指南
在原生 nGQL 中用$var声明,仅在当前复合查询有效,例如缓存中间结果减少重复计算:ngql# 定义变量存储关注者ID# 使用变量发起新查询命名规则:仅支持字母、数字、下划线,区分大小写(如$Var与$var是不同变量)。生命周期:执行结束后自动释放,无法在其他会话或查询中复用。支持提取边的类型、方向、rank 等内置属性,以及自定义属性:ngql# 自定义属性(degree)# 内置属性(起始点、目的点、类型编码、rank)方向判断_type。原创 2025-05-06 11:52:50 · 1036 阅读 · 0 评论 -
NebulaGraph 查询语句深度解析:从数据聚合到结果控制的全攻略
在MATCH等 OpenCypher 兼容语句中使用,支持返回复杂结构和表达式:ngql# 返回点、边及属性# 返回表达式计算结果(支持函数、谓词)特殊功能:可返回点 / 边的完整信息(如RETURN v)、路径属性(length(p)),甚至 Map 类型(注意 Key 顺序不固定)。需求场景推荐语句核心语法已知 ID 查属性属性值查 IDLOOKUP ON(需索引)单起点多跳遍历GO复杂模式匹配MATCH分组聚合GROUP BY(显式)/count(*)(隐式)显式:`GO ...原创 2025-05-06 11:38:18 · 1625 阅读 · 0 评论 -
NebulaGraph 核心查询语句实战指南:从基础检索到复杂图遍历的深度解析
已知 ID 查属性→FETCH PROP ON属性值查 ID→LOOKUP ON(需索引)单起点多跳遍历→GO(推荐复合查询)复杂模式匹配→MATCH(善用 WITH 子句)路径分析→FIND PATH(优先设置跳数限制)子图提取→GET SUBGRAPH(结合过滤条件)作为开发者,我们既要掌握每条语句的 “术”(语法细节),更要理解其 “道”(适用场景)。建议在项目初期绘制查询场景矩阵图,针对每个业务需求匹配最优语句,并通过EXPLAIN持续优化。原创 2025-05-06 11:04:44 · 1803 阅读 · 0 评论 -
NebulaGraph 内置函数实战总结:从数学计算到数据处理的全场景应用
NebulaGraph 的内置函数涵盖了数据处理的各个方面,从简单的数学计算到复杂的数据分析,从基础的字符串操作到灵活的类型转换,每一个函数都有其独特的应用场景和优势。在实际开发中,我们需要根据具体的业务需求,选择合适的函数,并注意函数的使用细节和性能优化。希望这些总结能帮到正在使用 NebulaGraph 的你,如果你在实际开发中遇到了其他问题,或者有更多的实践经验,欢迎在评论区分享交流。原创 2025-05-06 10:26:59 · 838 阅读 · 0 评论 -
深度解析 NebulaGraph 运算符:从基础语法到复杂查询的实战指南
类型匹配优先:比较操作前确保数据类型一致,避免因类型差异导致的NULL结果优先级明确:复杂逻辑用括号显式标注运算顺序,避免依赖默认优先级引发错误分拆优化:大数据量时拆分管道符查询,避免单语句性能瓶颈,集合运算前确保列定义一致掌握 NebulaGraph 的运算符体系,能让我们更灵活地组合查询条件,高效处理复杂业务逻辑。在实际开发中,建议针对高频查询场景进行运算符组合测试,结合执行计划分析性能瓶颈。如果你在使用过程中遇到特殊运算符问题,欢迎在评论区留言讨论,共同探索最优解决方案。原创 2025-05-05 16:54:43 · 996 阅读 · 0 评论 -
全面解析 NebulaGraph 数据类型:从基础语法到实战细节
类型匹配优先:根据业务需求选择类型,如高频 ID 查询用定长字符串,时间范围检索用 TIMESTAMP文档清晰化:在 Schema 设计中明确标注每个属性的类型、范围、默认值,例如:plaintext- user_id: FIXED_STRING(32) (必填,节点VID)- birth_year: INT16 (范围1900~2100,默认1970)- register_time: TIMESTAMP (自动赋值当前时间戳)测试覆盖。原创 2025-05-05 16:42:16 · 1033 阅读 · 0 评论 -
从入门到精通:nGQL 图模式的完整解析与实战指南
先设计 Schema:nGQL 的强 Schema 要求提前定义 Tag 和 Edge type,建议用思维导图规划节点类型、边关系及属性,避免后续重构成本。从单步到变长:复杂路径先写,再逐步添加[*n..m]和属性过滤,配合EXPLAIN优化执行效率。善用官方资源GitHub 的features目录有 2500 + 经过测试的 nGQL 示例官网文档 “兼容性” 章节详细列出与 openCypher 的差异掌握图模式,就掌握了 nGQL 的核心能力。原创 2025-05-02 16:36:10 · 1173 阅读 · 0 评论 -
一篇文章吃透 NebulaGraph 核心概念:从图数据库基础到数据模型详解
看完这些,相信你对 NebulaGraph 的核心概念已经有了清晰认知:它用 “点边属性图” 模型简化关系数据建模,用分布式架构应对海量数据,用兼容 openCypher 的查询语言降低使用门槛。无论是做知识图谱、实时推荐还是社交网络,这些基础概念都是落地的第一步。如果你正打算尝试图数据库,不妨从创建第一个图空间开始,用示例数据跑跑简单查询,感受一下 “直接操作关系” 的畅快。关系数据的魅力,就藏在这张 “图” 里。现在,你准备好解锁它了吗?原创 2025-05-01 19:41:28 · 1143 阅读 · 0 评论 -
Milvus 构建高效 RAG 全攻略:从基础实现到全链路RAG性能优化技术解析
通过 Milvus 构建 RAG 管道,我们实现了从 “数据存储” 到 “智能生成” 的全流程优化。从基础的向量检索到高级的性能调优,每个环节都需要根据业务需求精细设计。随着 RAG 应用的普及,如何在检索效率与生成质量间找到平衡,将成为持续优化的核心课题。如果你在搭建过程中遇到问题,欢迎在评论区交流!原创 2025-04-29 15:06:44 · 1466 阅读 · 0 评论 -
深入理解 Milvus 向量搜索:从基础操作到高级技巧的全面解析
Milvus 的向量搜索功能丰富多样,从基本的单向量搜索到高级的混合搜索,从过滤搜索到全文搜索,每个功能都有其适用场景。我们需要根据数据特点、查询需求和性能要求,灵活选择合适的搜索方法和参数。希望这篇文章能帮助你更好地理解和使用 Milvus 的向量搜索功能。原创 2025-04-29 10:12:00 · 1472 阅读 · 0 评论 -
深度解析 Milvus 索引:从原理到实践的性能优化指南
Milvus 的索引体系通过数据结构的粗过滤、量化的高效计算和精炼器的精度调整,实现了精度与性能的自适应优化。在实际应用中,咱们需要根据数据规模、数据类型、查询延迟、召回率要求以及内存资源等多方面因素,综合选择合适的索引类型。希望这篇文章能帮助大家更好地理解 Milvus 索引,在处理向量数据时少走弯路,高效地实现性能优化。原创 2025-04-29 09:05:31 · 1097 阅读 · 0 评论 -
Milvus 索引深度解析:从向量到标量的高效检索方案
自动索引:Milvus 根据字段类型自动选择索引(如 VARCHAR 用倒排索引,INT 用排序索引),无需手动配置。python运行# 自动索引示例(省略index_type)自定义索引:手动指定索引类型,满足特殊需求:倒排索引(INVERTED):适合高基数字符串字段(如标签、长文本)。位图索引(BITMAP):适合低基数字段(如布尔值、少量枚举值),通过位运算加速过滤。python运行# 位图索引配置。原创 2025-04-29 09:00:46 · 1614 阅读 · 0 评论 -
Milvus 分析器深度解析:从文本处理到高效检索的核心组件
当内置分析器无法满足需求时,可组合标记器和过滤器自定义:python运行# 示例:标准标记器+小写+长度过滤+停用词过滤"tokenizer": "standard", # 必选:标记器"lowercase", # 内置过滤器:转小写"type": "length", # 自定义过滤器:最大长度40"max": 40},"type": "stop", # 自定义过滤器:删除指定停用词python运行# 使用内置english分析器处理英文标题。原创 2025-04-28 17:09:07 · 1308 阅读 · 0 评论 -
Milvus 标量字段使用指南:从基础类型到高级特性详解
python运行# 连接Milvus服务# 创建模式enable_dynamic_fields=True # 允许动态字段,可选# 添加带默认值的字符串字段(允许空值)default_value="Unknown" # 未提供值时使用默认值# 添加无默认值的字符串字段(允许空值)# 添加主键和向量字段python运行# 添加字符串数组(最大10个元素,每个元素最长65535字符)max_length=65535, # 仅字符串数组需要# 添加整数数组(最大5个元素)原创 2025-04-28 11:25:42 · 1335 阅读 · 0 评论 -
Milvus Schema 设计全解析:从字段定义到向量类型的核心实践
数据一致性:强制实体遵循预设字段规则,避免 “脏数据” 混入。性能优化:合理的字段顺序和索引配置,能让检索效率提升数倍。语义表达:通过向量字段和标量字段的组合,完整描述数据的特征与元信息。Schema 设计是 Milvus 数据建模的基石,直接影响后续的检索效率和数据管理成本。从主键类型的选择到向量字段的匹配,每一个决策都需要结合数据特征和业务目标。希望这篇解析能帮你建立清晰的 Schema 设计思路,在向量数据的海洋中搭建稳固的 “数据灯塔”。原创 2025-04-28 11:18:04 · 1246 阅读 · 0 评论 -
深入理解 Milvus 集合(Collection):从 Schema 设计到高效检索的核心要素
集合可以看作是一个二维表,每一列是一个字段(Field),每一行是一个实体(Entity)。向量字段:支持存储浮点型向量(如),需指定维度(如dim=128),这是向量检索的核心载体。元数据字段:支持整数、字符串等类型(如INT64VARCHAR),用于描述向量的附加信息。创建集合前,我们需要先定义 Schema,明确每个字段的类型和约束:python运行# 初始化 Schema,关闭自动 ID 生成(需手动指定主键)# 添加字段:主键(必填,唯一标识实体)原创 2025-04-28 09:32:12 · 1706 阅读 · 0 评论 -
MacOS 搭建 Milvus Standalone 版本全攻略:从安装到数据库管理详解
通过 Docker 容器化部署,咱们在 MacOS 上搭建 Milvus Standalone 版本变得非常便捷,从安装到数据库管理的全流程都能轻松掌握。无论是本地开发还是小型项目,这套方案都能满足高效的数据存储与检索需求。有任何问题欢迎在评论区交流,咱们一起把向量数据库玩得更转!原创 2025-04-28 08:43:29 · 2125 阅读 · 0 评论 -
向量嵌入与向量数据库入门:从语义理解到 Milvus 实战
简单来说,向量嵌入就是将非结构化数据(如文本、图像)转换为多维空间中的数值向量,让 “语义相似” 的数据在向量空间中距离更近。比如 “猫” 和 “狗” 的向量会比 “猫” 和 “代码” 的向量距离更近,因为它们都属于 “动物” 范畴。这个过程依赖神经网络或 Transformer 架构,比如处理文本时常用 BERT 模型,图像则用 CNN。通过这些模型,我们能将数据映射到一个密集向量空间,每个向量维度都隐含着某种语义特征。向量嵌入让非结构化数据具备了 “语义可计算性”原创 2025-04-27 16:31:47 · 806 阅读 · 0 评论
分享