数据库同步

电子表格不再够用时:把电商平台数据放入 PostgreSQL

从目标访问权限到字段映射、写入模式和监控,设计第一条 Spyliner Hub 数据管道。

Spyliner 团队·阅读约 9 分钟

电子表格是很好的运营工具,但当多家店铺、长期历史、仪表板和内部应用都依赖同一文件时,它就不适合作为原始数据层。

Spyliner Hub 将平台数据集连接到现有 PostgreSQL 表。真正重要的是三个决定:表结构、字段映射,以及重复出现的记录如何写入。

01

选择合适的目标

当数据有多个使用方时,PostgreSQL 更合适

如果 BI 仪表板、转换任务、内部工具或多个团队需要稳定来源,可选择 Database Sync;如果主要需要灵活可见的工作空间,则继续使用 Google Sheets。

第一条管道应从一家店铺、一个数据集和非关键表开始,验证结构和更新方式后再复制。

02

安全优先于便利

准备可放心用于生产环境的目标

  • ✓使用专用数据库角色,只授予必要的 schema 和表权限。
  • ✓通过批准的网络路径连接,不要为了方便而广泛暴露数据库。
  • ✓只为真正需要的平台字段创建兼容列。
  • ✓不要在工单、截图、源码或聊天中分享连接字符串。
03

Hub 操作流程

建立并测试从来源到表的映射

  1. 1

    添加 PostgreSQL

    打开 Destinations,添加 PostgreSQL,测试连接并保存。

  2. 2

    选择来源

    打开 Syncs,创建同步,选择店铺和数据集。

  3. 3

    选择表

    Hub 检查列之后,选择目标、schema 和现有表。

  4. 4

    映射并测试

    将来源字段匹配到兼容列,并运行 Test write access。

  5. 5

    设置排程

    复查配置,选择排程并创建同步。

04

决定重复记录的处理方式

变化的记录使用 upsert;追加日志使用 insert-only

订单和绩效记录通常会变化。Upsert 插入新行,并通过 conflict key 更新匹配行;目标列需要兼容的唯一约束或索引。

Insert-only 不修改旧行,只按 PostgreSQL 约束追加新记录。只有在追加行为符合数据模型时才使用。

  • ✓使用默认记录身份时,将 spylinerSyncKey 映射到 text 或 varchar。
  • ✓作为 upsert 冲突目标时,确保身份列唯一。
  • ✓记录写入模式和负责人,让以后修改更有依据。

快速解答

大家常问的问题

Spyliner Hub 支持 MySQL 或数据仓库吗?+

目前支持的数据库目标是 PostgreSQL。

手动运行使用不同设置吗?+

不使用。手动和定时运行共用同一来源、映射、目标和写入模式。

订单应该使用哪种写入模式?+

通常使用 upsert,因为订单状态可能改变。请确保 conflict key 有兼容的唯一约束。