Skip to content

每個結構都是一份承諾

另有 28 種語言版本

English · Español · 日本語 · Português (Brasil) · Français · Deutsch · Italiano · 한국어 · 简体中文 · Português (Portugal) · Bahasa Indonesia · Türkçe · Polski · Tiếng Việt · ไทย · Nederlands · العربية · עברית · Українська · हिन्दी · Русский · Svenska · Dansk · Norsk bokmål · Suomi · Español (México) · Français (Canada) · Deutsch (Schweiz)

Data Architect 第 3 章,第 1 部分:成為資料架構師。上一章:為含義建模資料。

有一個問題我每堂課都會問。如果有人說「我是做 Salesforce 的」,那麼產品物件的 API 名稱是什麼?

是 Product2。這是我的第一道試金石。在發展過程中的某個時候,Salesforce 構建了產品物件,發現它行不通,只好把它留在身後。他們沒法直接把它拿掉,於是加了 Product2。連 Salesforce 自己都在和它的舊結構共處。

Salesforce 也給自己留出了成長的空間。它的標準物件不帶任何字首或字尾,而我們這些定製 org 的人永遠無法佔用那個空間。所以 Salesforce 可以不斷新增物件,永遠不會和我們構建的任何東西衝突。

這裡的教訓是:建立一個物件只要十分鐘,和它共處卻要好幾年。你新增的每一個物件和每一個欄位都是一份承諾。它佔用儲存。它會碰上限制。它會有一個共用模型,不管你有沒有設計過。每一個接觸它的人都需要一個許可。而現在 AI 也會讀取它,所以你怎麼命名它、怎麼描述它,決定了代理程式對你的資料理解成什麼樣。新增很容易,拿掉很難。

本章把 Salesforce 的各種構建模組變成一個個決定。

一個雨天,一位架構師和一位資深開發人員在玻璃牆上把配送資料分進自有、引用、歸檔和內容四個區域

圖片由 AI 生成。

Salesforce 給了你六個存放資料的地方。我把它們放在一張幻燈片上,因為第一步是知道它們都存在:

結構用途需要注意的地方
標準物件Salesforce 自己的模型:客戶、連絡人、商機、案例、資產等按它們的本意來用,否則它們會和你作對
自訂物件你自己的業務資料容易建立,難以退役
外部物件存在於另一個系統中、在 Salesforce 中展示的資料每次存取都是一次外部呼叫
大物件必須保留但很少開啟的海量資料沒有標準介面或報表;要通過索引來查詢
檔案文件、照片和其他內容檔案儲存增長得很快
附件儲存檔案的老方式遺留功能:請使用檔案

不過,選哪一個只是其中一部分。在結構之前,先要問資料到底應該放在哪裡:放在核心之上,在它原本所在的地方引用,還是歸檔。

這一章內容很多,所以分成十個部分。每個部分都可以單獨閱讀。在第 2 章裡,我們決定了模型應該是什麼樣;在這裡,我們決定它應該如何在 Salesforce 上存在。

  1. **Salesforce 資料平台:不只是資料庫。**Salesforce 有什麼不同,以及為什麼說平台有它的形狀。
  2. **看向母艦:標準資料模型。**Salesforce 已經構建好的 Sales 模型和 Service 模型,檔案,儲存,以及個人帳戶。
  3. **自己動手:自訂物件。**New Custom Object(新建自訂物件)介面決定了什麼,那些不是你建立的欄位,以及如何讀懂任何一個 API 名稱:標準的、自訂的,還是託管軟體包的。
  4. **這些資料放在哪裡?**放在核心之上、引用,還是歸檔:在建立任何物件之前就決定。
  5. 選擇合適的物件。「乾淨契合」測試,標準物件帶來的包袱,個人帳戶,以及決定人們能用什麼的許可。
  6. **欄位也是架構。**逐個欄位類型地講,那些讓人吃驚的行為,以及為什麼每個欄位都要有描述。
  7. **關係會帶來後果。**查閱關係還是主要-詳細資料關係,三層深、兩個父物件寬,邏輯交叉物件與 Salesforce 交叉物件(Junction Object),以及會咬人的限制。
  8. **所有權與生命週期。**誰擁有一條記錄,所有權在哪張共用表裡變成存取權限,以及一條記錄在整個生命週期中會經歷什麼。
  9. **保持資料一致。**一致性階梯:每一層都有代價,而且你永遠不要為了滿足一條新規則去「修正」歷史。
  10. **設計 Salesforce 物理模型。**Steve Trucking 的一個切面,從邏輯模型到 Salesforce,一步一步搭建起來,附帶推理過程。

讀完之後,用本章學習指南檢查一下自己:一份備考清單、考試之外的習慣、必知術語,還有幾道題。

  • **Salesforce 已經建模了什麼,**在發明任何東西之前:看向母艦。
  • **每類資料放在哪裡,**核心之上、引用還是歸檔,在選擇結構之前。
  • **由哪種結構來存放它,**同時知道每一種放棄了什麼。
  • **物件之間如何關聯,誰擁有記錄,**以及這對存取和規模意味著什麼。
  • **模型依賴哪些許可,**在設計物件之前就核實,而不是之後。
  • **資料如何保持一致,**以及每一層一致性措施的代價。

**考試之外:**AI 輔助構建可以在幾分鐘內建立物件和欄位。當新增幾乎免費時,「每個結構都是一份承諾」就變得更重要,而不是更不重要。每個模組的結尾都會講 AI 為那個決定帶來了什麼改變。

下一章:理解企業資料