Skip to content

弄清箭头的含义

另有 19 种语言版本

English · Español · 日本語 · Português (Brasil) · Français · Deutsch · Italiano · 한국어 · Português (Portugal) · 繁體中文 · Bahasa Indonesia · Türkçe · Polski · Tiếng Việt · ไทย · Українська · Español (México) · Français (Canada) · Deutsch (Schweiz)

Data Architect 第 9 章,第 2 部分:大规模架构。上一章:查询与检索架构。

在一个互联的 org 里,大多数数据质量问题都是通过集成进来的。缺少键导致的重复。一个悄悄停止运行的批处理留下的过时值。被一个本不该写入的系统覆盖的字段。数据架构师不必亲手构建集成。但数据架构师要决定它被允许对数据做什么。

In a relay race, one runner's hand presses the baton into the next runner's open hand: for an instant, both hold it.

Image generated with AI. ⟲

所以这一章是一份拼盘:让数据架构师尝尝集成的味道,正餐在 Integration Architect 课程里。它从第 4 章停下的地方开始:全景图上的每个箭头都需要一种机制。现在,每个箭头都需要含义。

  • Zoom out, then zoom in. Start with the whole landscape, then take one arrow at a time and ask what it means to the data. ⟲
  • **了解集成架构师在计划什么,**即使构建它的是别人。流量的形状会改变数据设计。
  • **谁发起对话,不等于数据往哪个方向流动,**而且只有客户端能看到完整的往返。
  • Freshness is a requirement, not a default. And a database stores; a process calls: polling needs a process, and polling for nothing is waste. ⟲
  • Singles, sets or bulk: respect the zeros. Integration volume becomes data volume. ⟲
  • One key per record, one-to-one, in an External ID field marked unique. When one customer has several external records, add records, not fields: a hierarchy, peers or a child object (chapter 6), never a key field per system. ⟲
  • A key isn’t authority. Integrations write the fields their system owns, not “the Account.” Two-way movement still has one owner per field. ⟲
  • Proof of delivery: the client owns the conversation; whoever knows what should arrive proves that it did. Log every call, restart gracefully, retry safely, and send increments, not the universe. ⟲
  • **平台事件是骨干;出站消息是遗留功能,**仍受支持,但不是新设计的起点。
  • Every important arrow gets a contract, written before the mechanism is chosen, and it outlives the technology. ⟲

Every important arrow gets one, eleven lines: ⟲

LineThe decision
发起方谁发起对话?
数据方向业务数据往哪个方向流动?
FreshnessHow current must the data be, in a number?
Volume and shapeHow much, and as singles, sets or bulk?
KeyHow do we identify the same record across systems?
Write authorityWhich system owns, and may write, which fields?
PatternRequest and reply, fire and forget, batch, or events?
机制用什么来实现?
Proof of deliveryWho proves it arrived, and owns recovery?
Sensitivity and travelHow sensitive is the data, and where does it pass through?
ChangeHow does the contract change without breaking the other side?

四个模块,每个都可以单独阅读。

  1. Before the Arrow. Steve Trucking’s landscape, then one arrow: who starts it and which way the data moves, how current, polling or listening, singles, sets and bulk, and what happens when it fails. ⟲
  2. Keys and Write Ownership. One key per record, upsert and safe retries, add records not fields, field-level authority, and loops. ⟲
  3. Proof of Delivery. Who proves it arrived, the integration log, restarts and retries, the return receipt, the four shapes and monitoring. ⟲
  4. The Integration Data Contract. Nine contracts on the landscape, one line by line; requirement, then pattern, then mechanism; the standard API or your own; where the data travels; and when the contract says don’t move it. ⟲

Not moving data at all (Salesforce Connect, mashups, zero copy) is chapter 14, Virtualization, Federation, and Zero-Copy (coming soon). ⟲

  • What each arrow means: initiator, direction, freshness, volume. ⟲
  • **记录如何在各系统之间保持匹配,**以及谁可以修改哪些字段。
  • 每一次数据流动由谁证明完整性、由谁负责恢复。
  • 数据到底该不该流动。

**考试之外:**智能体的每条读写路径都是一个集成箭头。一个“更新客户”的智能体需要一个键、一份范围很窄的写入契约、安全的重试和可观测性,因为一个概率性的调用方正在调用确定性的企业操作。每个模块的结尾都会讲 AI 带来了什么改变。

下一章:迁移与同步