每個結構都是一份承諾
另有 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 生成。
各種結構一覽
Section titled “各種結構一覽 ”Salesforce 給了你六個存放資料的地方。我把它們放在一張幻燈片上,因為第一步是知道它們都存在:
| 結構 | 用途 | 需要注意的地方 |
|---|---|---|
| 標準物件 | Salesforce 自己的模型:客戶、連絡人、商機、案例、資產等 | 按它們的本意來用,否則它們會和你作對 |
| 自訂物件 | 你自己的業務資料 | 容易建立,難以退役 |
| 外部物件 | 存在於另一個系統中、在 Salesforce 中展示的資料 | 每次存取都是一次外部呼叫 |
| 大物件 | 必須保留但很少開啟的海量資料 | 沒有標準介面或報表;要通過索引來查詢 |
| 檔案 | 文件、照片和其他內容 | 檔案儲存增長得很快 |
| 附件 | 儲存檔案的老方式 | 遺留功能:請使用檔案 |
不過,選哪一個只是其中一部分。在結構之前,先要問資料到底應該放在哪裡:放在核心之上,在它原本所在的地方引用,還是歸檔。
本章的路線
Section titled “本章的路線 ”這一章內容很多,所以分成十個部分。每個部分都可以單獨閱讀。在第 2 章裡,我們決定了模型應該是什麼樣;在這裡,我們決定它應該如何在 Salesforce 上存在。
- **Salesforce 資料平台:不只是資料庫。**Salesforce 有什麼不同,以及為什麼說平台有它的形狀。
- **看向母艦:標準資料模型。**Salesforce 已經構建好的 Sales 模型和 Service 模型,檔案,儲存,以及個人帳戶。
- **自己動手:自訂物件。**New Custom Object(新建自訂物件)介面決定了什麼,那些不是你建立的欄位,以及如何讀懂任何一個 API 名稱:標準的、自訂的,還是託管軟體包的。
- **這些資料放在哪裡?**放在核心之上、引用,還是歸檔:在建立任何物件之前就決定。
- 選擇合適的物件。「乾淨契合」測試,標準物件帶來的包袱,個人帳戶,以及決定人們能用什麼的許可。
- **欄位也是架構。**逐個欄位類型地講,那些讓人吃驚的行為,以及為什麼每個欄位都要有描述。
- **關係會帶來後果。**查閱關係還是主要-詳細資料關係,三層深、兩個父物件寬,邏輯交叉物件與 Salesforce 交叉物件(Junction Object),以及會咬人的限制。
- **所有權與生命週期。**誰擁有一條記錄,所有權在哪張共用表裡變成存取權限,以及一條記錄在整個生命週期中會經歷什麼。
- **保持資料一致。**一致性階梯:每一層都有代價,而且你永遠不要為了滿足一條新規則去「修正」歷史。
- **設計 Salesforce 物理模型。**Steve Trucking 的一個切面,從邏輯模型到 Salesforce,一步一步搭建起來,附帶推理過程。
讀完之後,用本章學習指南檢查一下自己:一份備考清單、考試之外的習慣、必知術語,還有幾道題。
架構師在這裡決定什麼
Section titled “架構師在這裡決定什麼 ”- **Salesforce 已經建模了什麼,**在發明任何東西之前:看向母艦。
- **每類資料放在哪裡,**核心之上、引用還是歸檔,在選擇結構之前。
- **由哪種結構來存放它,**同時知道每一種放棄了什麼。
- **物件之間如何關聯,誰擁有記錄,**以及這對存取和規模意味著什麼。
- **模型依賴哪些許可,**在設計物件之前就核實,而不是之後。
- **資料如何保持一致,**以及每一層一致性措施的代價。
**考試之外:**AI 輔助構建可以在幾分鐘內建立物件和欄位。當新增幾乎免費時,「每個結構都是一份承諾」就變得更重要,而不是更不重要。每個模組的結尾都會講 AI 為那個決定帶來了什麼改變。
- Salesforce Data Storage: Estimated Record Size by Object Type (opens in a new tab),Salesforce Help(英文)
- Standard User Licenses (opens in a new tab),Salesforce Help(英文)
下一章:理解企業資料
