弄清箭頭的含義
另有 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 裡,大多數資料品質問題都是通過整合進來的。缺少鍵導致的重複。一個悄悄停止執行的批次處理留下的過時值。被一個本不該寫入的系統覆蓋的欄位。資料架構師不必親手構建整合。但資料架構師要決定它被允許對資料做什麼。

Image generated with AI. ⟲
所以這一章是一份拼盤:讓資料架構師嚐嚐整合的味道,正餐在 Integration Architect 課程裡。它從第 4 章停下的地方開始:全景圖上的每個箭頭都需要一種機制。現在,每個箭頭都需要含義。
本章的思想
Section titled “本章的思想 ”- 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. ⟲
整合資料契約
Section titled “整合資料契約 ”Every important arrow gets one, eleven lines: ⟲
| Line | The decision |
|---|---|
| 發起方 | 誰發起對話? |
| 資料方向 | 業務資料往哪個方向流動? |
| Freshness | How current must the data be, in a number? |
| Volume and shape | How much, and as singles, sets or bulk? |
| Key | How do we identify the same record across systems? |
| Write authority | Which system owns, and may write, which fields? |
| Pattern | Request and reply, fire and forget, batch, or events? |
| 機制 | 用什麼來實現? |
| Proof of delivery | Who proves it arrived, and owns recovery? |
| Sensitivity and travel | How sensitive is the data, and where does it pass through? |
| Change | How does the contract change without breaking the other side? |
本章的路線
Section titled “本章的路線 ”四個模組,每個都可以單獨閱讀。
- 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. ⟲
- Keys and Write Ownership. One key per record, upsert and safe retries, add records not fields, field-level authority, and loops. ⟲
- Proof of Delivery. Who proves it arrived, the integration log, restarts and retries, the return receipt, the four shapes and monitoring. ⟲
- 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). ⟲
架構師在這裡決定什麼
Section titled “架構師在這裡決定什麼 ”- What each arrow means: initiator, direction, freshness, volume. ⟲
- **記錄如何在各系統之間保持比對,**以及誰可以修改哪些欄位。
- 每一次資料流動由誰證明完整性、由誰負責恢復。
- 資料到底該不該流動。
**考試之外:**代理程式的每條讀寫路徑都是一個整合箭頭。一個「更新客戶」的代理程式需要一個鍵、一份範圍很窄的寫入契約、安全的重試和可觀測性,因為一個機率性的呼叫方正在呼叫確定性的企業操作。每個模組的結尾都會講 AI 帶來了什麼改變。
- Salesforce Architects, Data Integration with Salesforce (在新標籤頁中開啟) (decision guide), checked 2026-11-01. ⟲
- Salesforce Architects, Integration Patterns (在新標籤頁中開啟), checked 2026-11-01. ⟲
- Salesforce, Best Practices for Deployments with Large Data Volumes (在新標籤頁中開啟), Winter ‘27, checked 2026-11-01. ⟲
下一章:遷移與同步
