03d | 数据架构与飞轮设计
内部机密 | 返回 技术壁垒与产品化路线 | 返回 报告目录
目录
1. 数据分层架构
1.1 四层数据架构总览
GEO平台采用经典的四层数据架构,确保数据从采集到服务的全链路可控:
1.2 各层存储技术选型
| 层级 | 存储引擎 | 数据格式 | 保留周期 | 容量估算(年) |
|---|---|---|---|---|
| Raw Layer | S3/OSS (对象存储) | JSON + Parquet | 永久(Cold) | ~2TB |
| Processed Layer | PostgreSQL + TimescaleDB | 关系表 | 2年(Warm) | ~500GB |
| Analytics Layer | ClickHouse | 列式存储 | 3年(Warm) | ~200GB |
| Serving Layer | Redis + PostgreSQL | KV + 关系表 | 实时(Hot) | ~20GB |
1.3 数据流转全景
2. 时序数据建模
2.1 核心时序数据模型
GEO监测数据天然是时序数据——品牌在每个时间点、每个平台、每个Prompt下的表现构成时间序列。
主表: brand_visibility_metrics
-- TimescaleDB hypertable
CREATE TABLE brand_visibility_metrics (
time TIMESTAMPTZ NOT NULL,
tenant_id UUID NOT NULL,
brand_id UUID NOT NULL,
platform VARCHAR(32) NOT NULL, -- deepseek/chatgpt/...
prompt_id UUID NOT NULL,
language VARCHAR(8) NOT NULL, -- zh/ja/ko/en
-- 核心指标
is_mentioned BOOLEAN,
mention_rank SMALLINT, -- 推荐排位(1=最佳)
sentiment_score FLOAT, -- -1.0 ~ 1.0
accuracy_score FLOAT, -- 0.0 ~ 1.0
visibility_score FLOAT, -- 0 ~ 100 综合得分
-- 详情
response_text_hash VARCHAR(64), -- 原文哈希(去重用)
competitor_brands JSONB, -- 同回答竞品
source_citations JSONB, -- AI引用的信源
raw_response_ref VARCHAR(256) -- 原始回答S3路径
);
SELECT create_hypertable('brand_visibility_metrics', 'time');2.2 分区策略
采用 时间+租户 双维度分区:时间维度按天自动创建chunk,空间维度按tenant_id哈希分区(8分区)。索引策略:主索引(time, tenant_id, brand_id),辅助索引覆盖platform和language维度。
TimescaleDB配置要点:
| 参数 | 配置值 | 说明 |
|---|---|---|
| chunk_time_interval | 1 day | 按天分片 |
| number_partitions | 8 | 空间维度分区数 |
| compress_after | 7 days | 7天后自动压缩 |
| reorder_policy | (time, tenant_id) | 压缩时重排序优化查询 |
2.3 数据保留策略 (Hot/Warm/Cold)
| 层级 | 保留时间 | 存储介质 | 压缩比 | 月存储成本(50客户) |
|---|---|---|---|---|
| Hot | 0-7天 | NVMe SSD | 1:1 | ~¥800 |
| Warm | 7天-6个月 | TimescaleDB压缩 | 10:1 | ~¥200 |
| Cold | 6个月+ | S3/OSS | 20:1 | ~¥50 |
2.4 聚合表设计
为Dashboard和报告提供预计算的聚合数据,避免实时聚合热数据:
| 聚合表 | 粒度 | 用途 | 刷新频率 |
|---|---|---|---|
| metrics_hourly | 小时 | 实时Dashboard趋势图 | 每小时 |
| metrics_daily | 天 | 日报 + 周报 | 每天凌晨 |
| metrics_weekly | 周 | 趋势分析 | 每周一 |
| metrics_monthly | 月 | 月报 + 季度分析 | 每月1日 |
3. 向量数据库设计
3.1 向量数据应用场景
| 场景 | 存储内容 | 向量维度 | 查询方式 |
|---|---|---|---|
| 品牌语义检索 | 品牌描述embedding | 768/1024 | 相似品牌发现 |
| Prompt-Response匹配 | Prompt和Response embedding | 768 | 相似Prompt聚类 |
| 跨语言一致性 | 多语种品牌描述embedding | 1024 | 语义相似度计算 |
| 内容推荐 | 优化内容embedding | 768 | 相似内容推荐 |
| 幻觉检测 | 事实陈述embedding | 768 | 矛盾陈述发现 |
3.2 Pgvector方案设计
选择Pgvector而非独立向量数据库(如Milvus),原因:运维简化(与PostgreSQL共用实例)、事务支持(向量与业务数据同事务更新)、规模适合(初期百万级向量)、成本优势。
向量表核心设计:brand_description_vectors表包含brand_id、platform、language、embedding(vector(1024))、captured_at等字段,使用HNSW索引(m=16, ef_construction=64)实现高效余弦距离检索。
3.3 向量检索典型查询
| 查询场景 | 检索方法 | 用途 |
|---|---|---|
| 品牌跨语言一致性 | 余弦相似度(cosine_distance) | 发现同一品牌在不同语言中语义最远的描述对 |
| 竞品相似度分析 | KNN最近邻检索 | 发现与目标品牌描述最相似的竞品 |
| Prompt聚类 | KNN + 聚类算法 | 将相似Prompt归类,发现高频查询模式 |
| 幻觉候选检测 | 范围检索(range search) | 发现与品牌知识库事实描述语义矛盾的AI回答 |
4. 数据飞轮机制
4.1 飞轮核心逻辑
数据飞轮是GEO平台最重要的长期壁垒。随着客户增多和数据积累,平台的优化效果持续提升,形成正向循环:
4.2 飞轮各环节数据资产
| 飞轮环节 | 数据资产 | 积累方式 | 竞争壁垒强度 |
|---|---|---|---|
| 客户使用 | 品牌知识图谱(品牌名/产品/成分/竞品关系) | 每个新客户贡献新品类数据 | 中 |
| AI回答数据 | 多平台历史回答库(时序变化趋势) | 每日定时采集,数据量线性增长 | 高 |
| Prompt库 | 高价值Prompt模板(按品类/语种/场景分类) | 从实际效果反馈中筛选最优Prompt | 极高 |
| 优化效果 | 优化策略与效果因果数据(什么内容→什么效果) | 每次优化迭代积累因果关系 | 极高 |
| 客户反馈 | 人工审核结果(NER纠正/情感校准/幻觉标注) | 客户使用过程中的隐式和显式反馈 | 高 |
4.3 飞轮启动策略
飞轮冷启动是最困难的阶段。启动策略:
4.4 跨客户数据价值
在保护数据隐私的前提下,跨客户的聚合数据产生额外价值:
| 聚合数据 | 价值 | 隐私保护措施 |
|---|---|---|
| 品类基准值 | ”您的品牌AI可见性得分在同品类中排名第X” | 仅展示排名,不泄露具体品牌数据 |
| 平台趋势 | ”DeepSeek近期对日本美妆品牌的推荐偏好变化” | 聚合统计,不含单一品牌信息 |
| Prompt热度 | ”本月用户最常问AI的美妆问题TOP 10” | 仅展示聚合热度 |
| 优化策略基准 | ”同品类客户平均优化周期为X周” | 匿名化统计 |
5. 数据质量管理
5.1 数据校验规则
数据校验分为三个阶段:
- 摄入校验:JSON schema验证、必填字段完整性、UTF-8编码检查、业务规则校验(sentiment_score范围、platform枚举、brand_id存在性)、response_text_hash去重
- 加工校验:NER实体数量合理性、品牌名注册中心匹配、情感极端值检测、历史趋势偏差检测、NER与情感结果交叉验证
- 异常告警:数据缺失告警(连续N小时无数据)、指标突变告警(Z-score > 3)、校验失败率超阈值告警
5.2 异常检测策略
| 异常类型 | 检测方法 | 阈值 | 处理方式 |
|---|---|---|---|
| 数据缺失 | 定时心跳检测 | 连续2小时无数据 | 告警 + 自动重试采集 |
| 指标突变 | Z-score检测 | Z > 3 或 Z < -3 | 标记待审核 + 告警 |
| AI平台异常 | 回答质量评分 | 回答长度/格式异常 | 标记为低质量,不入聚合 |
| 重复数据 | 哈希去重 | 完全重复 | 自动丢弃 |
| NER误判 | 置信度阈值 | confidence < 0.7 | 进入人工审核队列 |
5.3 数据血缘追踪
每条分析数据可追溯到原始数据来源:原始AI回答(raw_response_id) → NER提取结果(含模型版本) → 情感分析结果 → 可见性评分(含计算公式版本) → 客户报告。所有中间结果记录处理时间戳和模型版本,支持问题排查和审计回溯。
6. 隐私与合规
6.1 多租户数据隔离
四层隔离方案:
| 隔离层 | 措施 |
|---|---|
| 应用层 | 所有API携带tenant_id,中间件自动注入租户过滤,禁止跨租户访问 |
| 数据库层 | Row-Level Security (RLS),每表含tenant_id,时序数据按租户分区 |
| 存储层 | S3按租户前缀存储,向量数据按租户namespace隔离 |
| 网络层 | 租户间API限流独立,审计日志按租户分离 |
6.2 加密方案
| 加密场景 | 方案 | 密钥管理 |
|---|---|---|
| 传输加密 | TLS 1.3 (所有API通信) | 证书自动轮换(Let’s Encrypt/ACM) |
| 存储加密 | AES-256-GCM (静态数据) | 云KMS托管 + 每租户独立密钥 |
| 字段级加密 | AES-256 (品牌名/客户联系人等PII) | 应用层加密,密钥分离存储 |
| API密钥 | bcrypt哈希存储 | 客户端保存明文,服务端仅存哈希 |
| 备份加密 | AES-256 (所有备份文件) | 离线密钥备份 + 双人保管 |
6.3 多法域合规要求
| 法规 | 适用范围 | 核心要求 | 平台应对措施 |
|---|---|---|---|
| PIPL (中国) | 中国用户数据 | 最小必要、知情同意、数据出境安全评估 | 中国数据存于阿里云境内节点 |
| APPI (日本) | 日本用户数据 | 利用目的特定、个人信息保护委员会备案 | 日本相关数据可选存于AWS东京 |
| PIPA (韩国) | 韩国用户数据 | PIPC注册、跨境传输需同意 | 韩文数据隔离处理 |
| GDPR (欧盟) | 如涉及欧盟用户 | 数据最小化、被遗忘权、DPO | 预留GDPR合规接口 |
6.4 数据删除与导出机制
数据删除(Right to Erasure):客户发起删除请求 → 系统扫描所有数据层 → 软删除(30天缓冲) → 硬删除(关系数据+时序分区+向量+S3归档) → 生成删除证明报告。
数据导出(Data Portability):支持JSON完整导出(< 4h)、CSV摘要导出(< 30min)、PDF报告合集导出(< 1h)。
7. 数据迁移与备份
7.1 备份策略
| 备份类型 | 方式 | RPO | 存储位置 |
|---|---|---|---|
| 实时备份 | PostgreSQL流复制 | 0 | 同可用区从库(高可用切换) |
| 增量备份 | pgBackRest每6小时 | < 6h | 同区域OSS/S3(快速恢复) |
| 全量备份 | 每日凌晨,保留90天 | < 24h | 同区域OSS/S3 |
| 跨区域备份 | 每日同步至异地 | < 24h | 异地OSS/S3(灾难恢复) |
7.2 灾备方案
| 灾难场景 | RTO目标 | RPO目标 | 恢复方案 |
|---|---|---|---|
| 单节点故障 | < 30s | 0 | 自动切换到从库(流复制) |
| 可用区故障 | < 5min | 0 | 切换到跨可用区从库 |
| 区域级故障 | < 1h | < 6h | 从异地备份恢复 |
| 数据误删除 | < 2h | < 6h | 从增量备份PITR恢复 |
| 勒索软件攻击 | < 4h | < 24h | 从离线全量备份恢复 |
7.3 双云数据同步
GEO平台需要同时服务中国和海外客户,采用双云架构:
7.4 同步数据分类与迁移方案
| 数据类别 | 同步方向 | 同步策略 | 原因 |
|---|---|---|---|
| 品牌配置 | 双向 | 准实时(< 1min) | 客户在任一区域配置需全局生效 |
| 监测原始数据 | 不同步 | 各区域独立存储 | 数据量大+合规要求 |
| 聚合分析指标 | 双向 | 每小时批量 | Dashboard需展示全球数据 |
| 用户账户 | 不同步 | 各区域独立 | PIPL/APPI合规要求 |
| Prompt模板库 | 双向 | 准实时 | 全球共享Prompt资产 |
| 模型文件 | 单向(中国→海外) | 每周手动 | 模型训练在中国区完成 |
针对未来云厂商迁移,预留Debezium CDC + Kafka跨云迁移能力,同云迁移使用DTS服务(< 8h / 10TB),跨云迁移(< 24h / 10TB),均仅在最终切换时需短暂停机(< 10min)。
返回 技术壁垒与产品化路线 | 返回 报告目录