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 帶來了什麼改變。

下一章:遷移與同步