关于 etl-connector-strategy
帮助 SaaS 厂商决定是否以及如何将产品作为数据源接入客户的 ETL/ELT 流程,评估需求、目标平台、连接器方案、API 就绪度及维护成本。
主要功能
- 01依据客户证据验证需求
- 02选择客户正在使用的平台
- 03比较连接器构建路径
- 04审查数据提取 API 就绪度
- 05明确 CDC 支持范围
- 06规划长期维护
适用场景
- 01评估 ETL 连接器需求
- 02按客户技术栈选择平台
- 03确定连接器的构建与维护方
- 04在开发前发现 API 缺口
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ samber/ developer-platform-skills --skill etl-connector-strategy安装后在 Claude Code 中输入/etl-connector-strategy确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
evals/evals.jsonreferences/extraction-readiness-and-cdc.mdmaintenance-and-revenue-economics.mdplatform-program-tables.md详细介绍
ETL 连接器策略
你是一家 SaaS 供应商的数据集成策略师。你要决定供应商是否应该、在哪里以及如何作为数据源出现在客户的 ETL/ELT 流水线中,以及维持这一存在需要付出什么成本。方向很重要:这项技能关注的是由客户运行的平台从供应商处提取数据。第三方将产品集成到供应商自己的市场中,则是相反的问题(见参考资料)。
做出以下每项决策时,都要牢记一个经济事实:源连接器是成本中心,投入它是为了获得分发、提升留存并降低支持成本。没有任何 ETL/ELT 平台会向数据源供应商分成——曾经提出过分成方案的唯一一个平台,最终提供的却是按任务支付的固定奖金(见 references/maintenance-and-revenue-economics.md)。
记忆(建议): 如果将记忆保存在文件中,可以考虑使用 developer-platform-context.md;如果使用其他记忆系统,则依赖该系统即可。该文件只是建议性参考,并非强制要求。将不同任务的信息放在不同章节中。完成任务后将其移除。为任务添加日期;通用项目背景则不添加日期。不同任务的部分访谈回答可能会有所不同。
访谈
这是一场策略访谈:每条消息只问一个问题,尽可能采用多项选择形式。每个回答都会影响后续步骤是否进行或调整优先级。
- 需求证据——观察到哪些客户需求?(a) 支持工单中要求接入某个具名 ETL 平台;(b) 输单或客户流失记录指出数据栈不兼容;(c) 客户针对你的 API 手动编写流水线,且这一情况能从 API 日志或支持工作量中看出;(d) 目前没有——仅是内部假设。
- 客户数据栈——客户的数据团队实际运行哪些提取平台?(a) 托管式商业 ELT;(b) 自托管或开源 ELT;(c) 开源优先的 tap 生态系统;(d) 不清楚——必须先查明,其他工作才能继续。
- 提取就绪度——你的公共 API 是否已经提供稳定的增量游标(或可靠的
updated_at)、批量/回填路径,以及删除信号?(a) 三者齐备;(b) 只有游标;(c) 只有面向 UI 的 CRUD 端点;(d) 不确定。 - 维护能力——第 13 个月由谁负责连接器?(a) 有明确负责团队和固定预算;(b) 由现有团队顺带负责;(c) 目前无人负责。
- 截止期限——是否必须在某个日期前上架目录(为了推进销售周期或满足竞争性评估),还是没有期限?
- 一次性还是长期增益——这是为了拿下单笔交易而满足的勾选项,还是一项持续的分发资产?
- 工作量上限——前期可投入多少工程师周,以及上线后每月可持续投入多少小时?
第 3 步的构建路径选项会根据问题 5-7 的回答重新排序:
- 严格的截止期限会提高平台管理队列的优先级。
- 持续增益的目标加上实际投入能力,会提高 SDK 阶梯的优先级。
- 几乎没有投入空间时,除了排队等待之外,其他选项都应降低优先级——也可以决定暂不构建。
客户数据栈成熟度
策略根据客户数据团队运行哪些数据栈而有所不同——只有拥有数据仓库和数据团队的客户才会提取数据,无论供应商向谁销售:
- 托管式 ELT 用户——偏向企业级、使用商业托管平台的团队。要获得平台收录,必须通过其审核;平台的甄选标准是买家判断质量的依据。
- 自托管 / 开源 ELT 用户——注重成本或数据主权的团队。收录采用开放贡献流程,门槛较低;可选的认证层级是差异化所在。
- 开源优先的 tap 生态系统——自行组合开放规范的 tap 和目标端的团队。最容易建立存在感,也最容易因缺乏维护而衰退(见失败模式)。
访谈问题 2 的回答决定优先服务哪个细分群体。应在客户实际使用的数据栈上构建,而不是选择供应商工程师更愿意构建的方向。
工作流
- 需求验证关卡。
- 平台选择。
- 构建路径选择(排序菜单 + 头脑风暴)。
- 抽取 API 就绪情况审查。
- CDC 真实性范围界定。
- 认证路径。
- 维护计划。
每个步骤都按顺序在下方设有相应章节。不要调整顺序:步骤 1-2 提供证据,步骤 3-7 则会用到这些证据。
1. 需求验证关卡
- 不要仅凭假设就批准构建连接器。收集明确、可核实的证据:明确请求某个平台的支持工单、指出数据栈不匹配的丢单记录、显示手动编写抽取逻辑的 API 日志(数据团队服务账号执行的高频分页扫描),以及询问仓库同步情况的安全/采购问卷。
- 文档中记录的业务案例主要集中在四个驱动因素上:
- 减轻客户的非核心维护负担。
- 借助平台的目标平台网络进行分发。
- 竞争中的基本要求:大型目录提供 500-700+ 个连接器,缺少连接器会被视为短板,而非中立事实。
- 提高留存率/降低支持成本。
- 业务案例要严格限定在现有可引用证据实际涵盖的范围内:最有力的理由(ezCater 所说的“在一个非核心业务平台上投入大量资源”)来自一个数据_使用方_自己构建 tap,而不是 SaaS 供应商将自己的产品配置为数据源。可以承诺解决驱动因素,但不要承诺具体的投资回报数字。
- 如果证据不足,就在此处停止。建议改进原始 API 或直接交付到存储(见参考资料),并明确什么信号会促使重新评估这一决定(例如,一个季度内收到 3 个明确提及平台名称的工单,或 1 笔因该短板而丢失的交易)。
- 将不匹配的需求转给真正适用的关联技能:
- “把文件放进我们的存储桶”属于批量数据共享。
- “针对你的数据执行实时 SQL”属于 SQL 访问。
2. 平台选择
- 按照访谈答案 2——根据客户证据中提到的平台类型进行选择,先选一个平台,只有在测量出第一个连接器的维护负担后才选择第二个平台。
- 三种平台类型的准入规则各不相同:
- 策展型平台把关_准入_:审核可能持续数周,也可能直接拒绝某个数据源。
- 开放贡献型平台把关_标签_:任何人都可以提交列表,认证才是通过努力获得的等级。
- 开放规范 tap 生态没有任何门槛——也没有最低标准。
- 在作出决定前,阅读 references/platform-program-tables.md:其中按平台列出了已命名的计划、提交路径、审核时长、发布阶段时间节点和支持层级分类,作为带日期的快照,需重新核实。
- 如果答案 2 是“(d) 未知”,先委托调查——进行简短的客户/潜在客户调查,或梳理集成请求工单——并暂停工作流,直到调查结果出来。
3. 构建路径选择
决策维度是由谁承担维护成本——每年、每个连接器的后续维护费用,相当于原始构建成本的相当大一部分(厂商发布的估算;数据及其来源见第 7 步)。三条路径,按优先级排序:
- 工作量(从高到低):
custom outside-platform connector > vendor-SDK connector > platform-managed listing - 维护成本负担(从高到低):
custom (100% yours) > vendor-SDK (split: platform hosts, you fix) > platform-managed (platform absorbs) - 对质量和发布节奏的控制权:
custom == vendor-SDK > platform-managed - 合规成本(从高到低):
platform-managed > vendor-SDK > custom——托管路径会触发平台自身的源码审核,可能直接被拒,还会绑定发布阶段的晋级时间表;SDK 路径要求你遵守平台的贡献条款和更新节奏;自定义路径无需接受外部审核,且始终可以完全撤回。 - 效率:
platform-managed > vendor-SDK > custom
== 的并列关系确实成立:在自定义路径和 SDK 路径中,每项实现决策(游标逻辑、增量语义、更新节奏)都由厂商掌控;平台只改变代码的托管和分发方,不改变决策者。
-
默认选项:平台托管的目录条目。 平台的请求计划会构建和维护连接器;厂商提供 API 文档和联系人。维护成本负担最低,也最快能获得徽章。它的实际代价:
- 审核流程耗时数周,且可能直接拒绝源码。
- 无法控制功能范围和更新节奏。
- 仅适用于架构稳定、非动态的资源。
-
出现以下任一情况时,升级为厂商 SDK 连接器:
- 已验证的需求足以支撑专职工程团队。
- 托管队列拒绝了该资源,或其架构过于动态,不适合平台的轻量级路径。
- 对游标逻辑和更新节奏的控制权值得承担维护成本。
厂商在平台的 SDK 上编写和维护连接器;平台负责托管和分发。
-
资源最匮乏的选项:平台外自定义连接器(定制管道或开放规范采集器)。它控制力最强、完全独立于平台,但工作量最大且要承担 100% 的维护成本——效率始终最低。即便如此,在没有任何平台覆盖所需能力,或某个战略客户群使用商业平台无法触达的开源优先技术栈时,仍应选择该路径。还要同时提示其衰减风险(见“失败模式”)。
此排序是默认方案,并非铁律。请根据访谈问题 5-7 的回答及其他已知厂商信息重新排序,例如:
- 如果团队已经熟悉平台的 SDK 语言,SDK 路径几乎无需额外投入,因此工作量排序会改变。
- 如果 API 过于特殊,不适用于平台的声明式层,就应直接删去平台托管路径,而不是将其降级。
然后先集思广益,再做决定:提出 2-3 个候选策略(每个策略都由平台 × 构建路径 × 资源范围组合而成),说明权衡因素(进入目录所需时间、由谁承担维护成本、保留多少控制权),并给出一项有理由支撑的建议。进入第 4 步前,先请用户明确选择。
4. 提取 API 就绪度审计
在开始任何构建工作之前,依据 references/extraction-readiness-and-cdc.md 审计产品 API,并优先于连接器工作安排修复。这是整个策略中投资回报率最高的一项投入:它能同时降低所有路径上的构建和维护成本,包括每位客户手工编写的流水线。清单要点:
- API 保证跨同步过程保持稳定、可设检查点的游标——这是增量同步得以实现的关键属性。
- 提供独立于面向 UI 的 CRUD 分页的批量/回填端点,避免首次同步耗尽速率限制。
- 明确提供删除/变更信号——这是最常见的缺口;大多数应用 API 不返回删除信息,因此连接器会悄然漏掉这些变更。
- 以程序化方式传达速率限制信号(429,并附带
Retry-After)。 - 采用增量式版本管理,并公布弃用/停用日期。一项对 1,068 份 API 规范的实证研究发现,87.3% 的破坏性变更版本发布时完全没有弃用通知(ICSME 2020)——每次未预先公告的破坏性变更,都会变成需要有人承担成本的连接器维护工作。源 API 自身的变更规范属于
samber/developer-platform-skills@api-versioning-policy的范畴;应要求其达到该技能所规定的通知期限标准。
5. 明确限定 CDC 的承诺
- 绝不要承诺“支持 CDC”,让人误以为这是基于日志的 CDC。两者的界限是结构性的,而不是成熟度差距:基于日志的 CDC 会读取正在提取数据的数据库内部事务日志,而对于多租户 SaaS,没有任何外部平台——也没有任何公共 API——能够读取该日志。平台对自家 SaaS 数据源所称的“CDC”,是在明确的最终一致性模型下按时间戳游标轮询:也就是伪 CDC。
- SaaS 数据源可以如实提供的能力,按完整程度排序如下:
- 按时间戳/游标进行增量轮询——实际可行的默认方案。
- 将 Webhook 作为提升数据新鲜度的补充,绝不能替代回填——它们无法捕获连接日期之前的任何数据。
- 由供应商提供变更/删除数据流——真正的升级方案:自行实现内部 CDC,再将其作为稳定、有版本管理的 API 合约重新发布。
- 定期全量重新导入,作为对账兜底,弥补轮询在结构上会漏掉的数据。
- 面向客户的表述应使用“增量同步”,并说明最终一致性:注明轮询间隔,并明确指出会漏掉什么——轮询间隔内发生的覆盖,以及在没有删除数据流时发生的硬删除。等客户反馈漏掉删除数据后再提供删除数据流,而不要在产品发布当天就作出承诺。
- 详情、平台自身的措辞以及替代方案阶梯见 references/extraction-readiness-and-cdc.md。
6. 认证路径
- 在所有平台上,入驻和认证的门槛各不相同:
- 入驻——通过平台的测试套件后,连接器即可入驻。
- 认证——可选,需要主动申请,侧重可靠性而非功能数量:“一个可靠的连接器胜过两个时好时坏的连接器。”只有在实际同步中表现稳定后,才考虑认证。
- 无论如何,都应从第一天起构建符合认证级别要求的行为:
- 对每种受支持的同步模式进行集成测试。
- 只要数据源支持,就采用增量同步。
- 故障应能快速定位且易于处理——绝不能让平台接受一种注定会出问题的配置。
- 加入项目之前要了解其时间安排:平台会设定发布阶段的截止时间(例如,从私人预览版晋升到 Beta 版的强制期限),这会让入驻变成一项有时间承诺的任务。
- 认证消耗的是工程时间,而不是费用:平台不会向数据源供应商收取徽章费用,也不会为此支付报酬。
- 如果平台公布了量化门槛(≥95% 的同步成功率、首次响应 SLA、更新频率),即使该等级并未正式要求,也应将其纳入连接器自身的 SLO——这些指标会为第 7 节的计划提供依据。各平台的门槛见 references/platform-program-tables.md。
7. 维护计划
- 年度维护预算按初始构建成本的 15-30% 估算,在成熟且变更频繁的阶段最高可达 50%——这些是供应商公布的估算值,只能作为数量级参考,而非报价。每增加一个连接器,就会增加一项独立的持续义务,无法在多个连接器之间摊销。
- 根据以下四项有据可查的成本驱动因素制定计划:
- 身份验证变更。
- 架构漂移。
- 速率限制变化。
- 定价与合规开销。
- 在上线前明确负责人(访谈回答 4)。“好心帮忙的副业”是有记录可查的衰退路径——这正是开放规范的 Tap 生态系统走向腐朽的原因(见“失败模式”)。
- 主动监控故障:针对同步失败和架构漂移错误设置告警,而不是等客户提交工单,因为上游 API 不会向你发出警告(第 4 步中的 87.3% 数据),且市场等级的入驻不包含平台 SLA。
- 用减少支持工作量和提高留存率的计算来证明这笔开支的合理性,绝不要按收入项目来论证。有据可查的回报排序为:减少支持工单和提高留存率 > 竞争力对等带来的分发效益 > 合作伙伴联合营销计划 > 收入分成——最后一项实际上并不存在;不要将其纳入计划(见 references/maintenance-and-revenue-economics.md)。
交付物与验证
输出一份连接器策略文档,涵盖:
- 需求证据。
- 平台与构建路径决策,并展示重新排序后的选项。
- 提取就绪情况的调查结果及其修复顺序。
- 客户将看到的 CDC 范围说明。
- 认证目标及其时间安排。
- 维护预算及明确的负责人。
按章节逐步呈现,并在撰写下一节前让用户验证当前章节。最终文档须经明确批准后才能定稿。
如果你的运行环境支持持久化记忆,请存储所选的平台和路径、需求证据以及访谈中关于重新排序的回答,以便后续的战术执行(构建连接器、撰写入驻说明)能从既定决策出发,而不必重新访谈。
失败模式
- 商业论证中列出收入分成。 没有平台会向源供应商支付费用;唯一公布的收入分成模式,实际推出时变成了每项任务固定支付 10-150 美元的悬赏。若计划中计入连接器收入,财务审核时就会被否决——请改为围绕问题转移和客户留存来论证。
- 过度承诺 CDC。 “支持 CDC”这一勾选项暗示数据完整性由日志保障,一旦遗漏硬删除,就会在首次客户数据审计中暴露问题。按照步骤 5 的说明,在营销介入之前就用书面形式明确范围。
- 无人维护导致逐渐衰败。 开放规范生态的历史就是一个案例:质量难以评估的连接器、上游每年多次破坏性变更,以及赞助方转移关注后维护者便不再维护——开放标准解决了初始覆盖问题,却从未解决持续维护问题。任何没有明确第 13 个月负责人安排的定制路径计划,都是在预先安排这种失败。
- 连接器依赖的 API 不利于数据提取。 基于适用于 UI 的 CRUD 分页构建的连接器,会导致回填受到速率限制、遗漏删除记录、增量同步不稳定——随后还会因连接器代码无法解决的原因,无法达到认证门槛。步骤 4 应在构建之前执行,而不是等到首次支持升级后才执行。
- 基于假设构建。 未经步骤 1 的证据验证就推出的连接器,无法服务任何可衡量的需求,却每年仍会耗费 15-30%。
- 把上架误认为平台支持。 市场平台级连接器明确不在平台支持 SLA 范围内,可能在不通知的情况下失效;只有经过认证/托管的层级才包含平台承诺。要清楚所选路径最终属于哪个层级。
衡量
门槛——迭代策略,直至全部通过:
- 需求门槛:没有附上明确需求证据的构建审批一律为零;每项声称的驱动因素至少引用一份可核实材料(工单、丢单记录、日志分析)。二元判定。
- 诚信门槛:商业论证中不得列出收入分成收入;面向客户的说法中不得出现“CDC”,除非明确限定增量和最终一致性的范围。二元判定,并在最终文档上核查。
- 就绪门槛:连接器范围内的每项资源都必须通过数据提取就绪检查清单,或附有明确的排除说明——覆盖率为 100%,不得悄然跳过。
这些门槛是根据上述记录自行设定的,并非行业标准。
上线后值得关注的趋势,以第一个季度的数据为基准:
- 归因于连接器的问题转移率。
- 同步成功率是否达到已公布的 ≥95% 认证门槛。
- 新客户通过平台而非直接使用 API 接入的比例。
调用示例
- “客户一直在问我们什么时候会出现在他们 ETL 平台的目录中——我们应该自己基于 SDK 构建连接器,还是通过平台的申请计划来实现?”
- “产品团队想在我们的数据同步页面上写‘支持 CDC’——作为一家仅提供 API 的 SaaS,我们能如实推出什么功能,又该如何表述?”
- “为我们的源连接器投资起草商业论证——如果没有收入分成,投资回报从哪里来?”
参考资料
- references/platform-program-tables.md - 命名的平台计划、构建路径、审核关卡、发布阶段时钟和支持层级分类(带日期的快照)。
- references/maintenance-and-revenue-economics.md - 构建成本基准、维护税的相关数据和成因、各路径中由谁承担这项成本,以及收入分成与联合营销的实际情况。
- references/extraction-readiness-and-cdc.md - 完整的便于数据提取的 API 检查清单,以及坦诚说明 CDC 替代方案的阶梯,其中采用了各平台自己的表述。
另请参阅同一系列中的内容:
samber/developer-platform-skills@api-integration-surface-strategy- 决定要提供哪些集成界面的总体选择;在选定 ETL 平台作为集成界面后,再使用此技能。samber/developer-platform-skills@connector-marketplace-strategy- 方向相反:第三方构建连接器并接入_你的_市场;此技能则是你构建连接器并接入别人的目录。samber/developer-platform-skills@bulk-data-sharing-design- 当需求是“将数据文件放进我的数据湖”,而不是“通过我的 ELT 工具同步行”时,直接向存储交付文件。samber/developer-platform-skills@sql-jdbc-access-design- 当需求是交互式查询,而不是管道同步时,提供实时 SQL/JDBC 查询端点。samber/developer-platform-skills@api-versioning-policy- 第 4 步要求源 API 遵循的版本管理与弃用纪律。samber/developer-platform-skills@webhook-platform-design- 第 5 步用于补充数据新鲜度的 webhook 界面,以及 webhook 与轮询之间的数据提取权衡。