Daily Study
更新: 12/20/2025 字数: 0 字 时长: 0 分钟
Daily Plan
#todo
- [ ]
图谱实际落地
图数据库选型:
Neo4j
- 定位:行业标准,生态最成熟的原生图数据库。
- 适用场景:POC 阶段或中小规模图谱。它的查询语言 Cypher 非常直观,适合快速验证复杂的溯源路径(如多跳查询)。
- 局限:社区版在处理亿级节点时性能瓶颈较为明显,分布式集群能力在商业版中才提供。
NebulaGraph
- 定位:高性能分布式图数据库,在腾讯内部广泛使用(腾讯是其主要贡献者和用户之一)。
- 适用场景:生产环境的海量数据。它在存储计算分离架构上做了深度优化,非常适合处理网络安全中海量的日志节点和边。
- 查询语言:nGQL(类 SQL 风格,对开发人员友好)。
HugeGraph
百度开源,支持大规模图数据存储,也是国内常用的选择之一
RAG 向量数据库选型
Milvus
- 定位:云原生向量数据库,性能强悍,支持百亿级向量。
- 适用场景:独立的、大规模的知识库存储。如果你的威胁情报库达到千万级,Milvus 是首选。它提供 Go 和 Python SDK。
ElasticSearch
- 定位:搜索引擎,但近年增加了 kNN 向量搜索功能。
- 适用场景:安全运营场景的首选。因为企业的安全日志本身就存储在 ES 中。使用 ES 做向量存储可以避免引入新的运维组件,实现“倒排索引(关键词)+ 向量索引(语义)”的混合检索(Hybrid Search)
架构集成方案
在实际实现图谱 + RAG时,通常不只使用一种数据库,而是组合使用。以下是一个典型的企业级架构:
存储层:
- NebulaGraph:存储结构化拓扑(如:IP_A --属于--> 子网_B,攻击者_X --使用--> 工具_Y)。
- Milvus/ES:存储非结构化文本的向量(如:威胁报告的文本片段、历史告警的处置记录)。
逻辑层:使用 Python (LangGraph) 调用 LLM 进行推理。
检索策略:
- 先通过 Milvus 找到语义相似的历史案例。
- 再通过 NebulaGraph 查询当前实体的两跳(2-hop)邻居,获取上下文关联。
将相似案例 + 图谱上下文拼接成 Prompt,喂给 LLM 生成最终研判。
