每个结构都是一份承诺
另有 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(英文)
下一章:理解企业数据
