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 第 10 章,第 2 部分:大规模架构。上一章:集成与数据流动。

迁移是数据架构与现实相遇的地方。我们做过的每一个建模、质量、主数据和数据量决定,都会在几百万条记录同时到达的那一天接受检验。而一次“加载成功”的迁移依然可能是失败的:错误的所有人、断开的关系、重复的客户、一百万封欢迎邮件、被锁定的记录,或者一个时间用完了的切换周末。

On a new distribution center's first morning, a forklift carries the first pallet in from a truck at the dock, while the next truck backs in.

Image generated with AI. ⟲

Every CTA scenario has a legacy system to bring across, and the candidate has to say how the data comes in, how it’s cleaned and how it’s de-duplicated. This chapter is that answer, from the source extract to the moment the old system stops mattering, and then the copies that keep going. ⟲

One example runs through all five modules: Steve Trucking retiring RouteDesk, its old dispatch tool, with eight years and about 5 million deliveries. What comes into Salesforce, how it’s prepared, how it loads, what the automation does about it, and the weekend it all happens. Then the other direction: Salesforce, now the system of record, keeping Snowflake’s copy in step. ⟲

  • Migration is a quality project first, and a migration is an integration with an end. ⟲
  • Migrate, archive or discard, and know why every class of data moves, or doesn’t. ⟲
  • Prepare outside, then load the result: a preparation data store, the raw source kept, no step that loses fidelity, and three sets of keys (the source’s, the transformations, Salesforce’s). ⟲
  • The model sets the load order, and every child finds its parent by a key, never by a name. ⟲
  • The Bulk API is the loading dock behind the bank, and the dock still needs a plan: insert before upsert, sort by parent, the load user, and the IDs brought back. ⟲
  • Any time you turn automation off, you own that business logic not happening. The bypass is part of the original design, tested on and off and deployed long before it’s needed. ⟲
  • Production cutover should be boring: rehearsed, run from a runbook, loaded early and hidden by sharing, with go/no-go and a rollback clock decided in advance. ⟲
  • **用四种方式证明它:**数量、合计、抽查和汇总报表。
  • Getting data out isn’t leaving Salesforce. Migration has a defined start and end; synchronization is ongoing, and the mirror is never the master. ⟲

五个模块,每个都可以单独阅读。

  1. Migration Is a Quality Project First. RouteDesk on the landscape; migrate, archive or discard; the preparation data store; Steve’s five steps; loading by keys; merged records and their children; three sets of keys. ⟲
  2. Loading at Volume. The teller window and the loading dock; Bulk API 2.0 and 1.0; insert, update or upsert; sorting by parent; the load user; bringing the keys back; rehearsing the whole run. ⟲
  3. Automation During the Load. The arrows a load sets off; don’t need it, simulate it, defer it; what a bypass looks like in Apex, flows and validation rules; sharing; the automation inventory. ⟲
  4. Cutover Weekend. The runbook; Day −7, Day −1, Day 0 and the rollback point; locking users out; the four proofs; authority moves on Day 0. ⟲
  5. Getting Data Out: Keeping Another System in Step. Salesforce stays the system of record; Snowflake needs a mirror. The ways out, PK chunking, keeping it current, a copy once or a copy forever. ⟲
  • **到底什么要迁移:**迁移、归档还是丢弃,以及为什么。
  • **数据在到达之前如何变得合格,**以及每条记录如何保持可追溯到它的来源。
  • **加载计划:**顺序、键、并发、身份和所有权。
  • **加载被允许触发什么,**以及正常运行如何恢复。
  • **切换如何执行和证明,**以及回滚什么时候不再是一个选项。
  • Where migration ends, what keeps another system’s copy in step afterward, and who owns each value. ⟲

**考试之外:**AI 加快了迁移中分析的那一半:数据剖析、映射、异常检测、编写脚本。一步一步地使用它,并跟踪每一条生成的命令。验证、对账和 go/no-go 依然是确定性的,由人负责。每个模块的结尾都会讲 AI 带来了什么改变。

Next: Transactions, Concurrency, and Reliability ⟲