bid.hao.work/docs
Document

26-multi-db-spec.md

未找到提交记录 · 文件更新时间:2026-01-24 22:14:52 +08:00

多数据库格式支持与统一数据规范

为确保跨系统数据交互的稳定性与一致性,所有业务数据落库必须遵循 “Golden Record” 统一规范。本规范定义标准字段命名、类型约束及必填性校验逻辑,适用于 PostgreSQL、MySQL、MongoDB、Elasticsearch 与离线文件存储等场景。

1. 统一数据规范与必填字段

1.1 基础字段定义

字段名 数据类型 必填 说明与约束
id BigInt/String 全局唯一标识。推荐使用雪花算法(Snowflake)生成的 64 位整数,或 UUID v4。
biz_id String 业务主键(如订单号、用户 ID),支持幂等性校验。
created_at Timestamp 创建时间,统一存储为 UTC+8,精度至少到秒。
updated_at Timestamp 更新时间,随数据变更自动刷新。
version Integer 乐观锁版本号,初始值为 1,每次更新自增。
is_deleted Boolean/Int 软删除标识。0=正常,1=已删除。物理删除需经归档流程。
source String 数据溯源字段,记录数据来源系统或采集点。

1.2 设计原则

2. 多数据库格式映射与适配

不同存储引擎在数据类型与索引机制上存在差异。下表列出核心字段在主流数据库及文件格式中的映射实践。

2.1 类型映射表

标准类型 PostgreSQL MySQL MongoDB Elasticsearch Parquet
ID (Int64) BIGINT BIGINT Long / ObjectId long INT64
String TEXT VARCHAR(N) String keyword / text BINARY (UTF8)
JSON JSONB JSON Object object / nested STRUCT / MAP
Timestamp TIMESTAMPTZ DATETIME(6) Date date INT96 / INT64

2.2 差异化适配策略

3. 标准 Schema 与示例定义

以下展示通用 “文档实体 (Doc Entity)” 标准 Schema 及实现示例。

3.1 PostgreSQL DDL

CREATE TABLE docs (
  id BIGINT PRIMARY KEY,
  biz_id VARCHAR(64) NOT NULL UNIQUE,
  title TEXT NOT NULL,
  content JSONB DEFAULT '{}',
  status SMALLINT DEFAULT 0,
  tags TEXT[],
  created_at TIMESTAMPTZ DEFAULT NOW(),
  updated_at TIMESTAMPTZ DEFAULT NOW(),
  version INT DEFAULT 1,
  is_deleted BOOLEAN DEFAULT FALSE
);
CREATE INDEX idx_docs_biz_id ON docs(biz_id);
CREATE INDEX idx_docs_tags ON docs USING GIN(tags);

3.2 Elasticsearch Mapping

{
  "mappings": {
    "properties": {
      "id": { "type": "long" },
      "biz_id": { "type": "keyword" },
      "title": { "type": "text", "analyzer": "ik_max_word" },
      "content": { "type": "object" },
      "status": { "type": "integer" },
      "tags": { "type": "keyword" },
      "created_at": { "type": "date" },
      "version": { "type": "integer" }
    }
  }
}

3.3 数据流向架构

建议与数据入口与同步架构统一设计,参见 docs/25-ingestion-architecture.mddocs/28-crawling-and-sync.md

4. 数据质量与一致性策略

在分布式异构存储环境中,保证数据的一致性与完整性是首要挑战。采用 “事前防御 + 事后对账” 的双重保障策略。

4.1 写入阶段:幂等与去重

4.2 同步阶段:延迟与重试

4.3 校验阶段:T+1 对账

4.4 生命周期:归档与冷热分离

4.5 一致性校验流程

一致性校验与对账策略详见 docs/28-crawling-and-sync.md

5. 发布与版本管理

本规范文档发布与版本管理统一走知识库文档系统接口:

6. 关联文档