Перейти до вмісту

Де живуть ці дані?

Також доступно 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)

A desk in the foreground, a filing cabinet in the next room through an open door, and through the window a shed with archive boxes at the back of the yard.
Зображення згенеровано ШІ

Модуль 4 з 10 розділу Архітектура даних Salesforce, розділ 3 курсу Data Architect. Кожен модуль самостійний. Попередній: Побудуйте своє: користувацькі об’єкти · Наступний: Оберіть правильний об’єкт

Питання, на яке відповідає цей модуль: перш ніж створювати об’єкт, де насправді мають жити ці дані: в ядрі Salesforce, за посиланням там, де вони вже є, чи в архіві?

Дозвольте запитати. На ваш стіл лягає нова вимога. Що ви робите першим?

Якщо ви такі, як більшість із нас, ви відкриваєте Setup і створюєте користувацький об’єкт. Я розумію. За десять хвилин у вас є вкладка, макет сторінки і подання списку. І ось що я кажу кожній групі: щойно ви створили цей новий об’єкт, ви вже мислите як архітектор, хотіли того чи ні. Бо кожен створений об’єкт — це зобов’язання. Він займає сховище. Він обростає лімітами. Він отримує модель спільного доступу, проєктували ви її чи ні. Він потребує ліцензії для кожного, хто його торкається. А щойно від нього залежать люди й інтеграції — успіхів вам його прибрати.

Тож перше архітектурне рішення — не який об’єкт. Воно — де мають жити ці дані? Зробіть це правильно, і тип об’єкта майже обере себе сам.

Спершу слово, яке я вживатиму часто: ядро (core). Ядро — це платформа Salesforce, на якій працює ваша org: метаданими керована мультитенантна платформа з модуля 1, де живуть об’єкти продажів і обслуговування з модуля 2 і кожен користувацький об’єкт, який ви будуєте в модулі 3. Коли я кажу, що дані в ядрі (on core), я маю на увазі, що вони зберігаються у вашій org, в її об’єктах.

Не всі дані живуть там. Data 360 тримає свої дані у власному сховищі, поза об’єктами вашої org (це поряд з ядром (near-core): керується в ядрі, а його дані розміщуються поза ядром; докладніше в розділі 4). А ще є все, що працює у вашій компанії і взагалі не є Salesforce: ERP, склад, система замовлень, платформа партнера. Усе це — поза ядром (off core). Salesforce може до цього дотягнутися, показати і використати, але ваша org цього не зберігає.

В ядрі є два види об’єктів, які справді містять ваші записи: sObjects, стандартні й користувацькі (__c), і big objects (__b). Поза ядром ви дістаєтеся до даних через зовнішні об’єкти (__x) та інші інструменти інтеграції. Пам’ятайте ці суфікси з модуля 3: вони кажуть вам, де живуть дані, лише за назвою.

Я думаю про це як про офіс. Деякі речі мають лежати на вашому столі, де ви користуєтеся ними щодня. Деякі речі вам треба лише подивитися в чужій шафі з документами. А деякі йдуть у коробках у сарай на подвір’ї. Це дає мені три відповіді.

1. В ядрі: вони лежать на вашому столі

Section titled “1. В ядрі: вони лежать на вашому столі ”

Дані щодня створюються, змінюються й використовуються в Salesforce: акаунти, звернення, можливості, робочі замовлення. Тримати їх у sObjects — це як тримати їх на передньому плані офісу. Саме для цього існують стандартні й користувацькі об’єкти, і ви отримуєте все: макети сторінок, спільний доступ, автоматизацію, звітність, пошук, а тепер і функції ШІ, побудовані на моделі даних.

Утім, ваш стіл не безкоштовний. Дані в ядрі коштують сховища, порахованого так, як рахує Salesforce, — запис за записом, а не колонка за колонкою, — а документи окремо рахуються у сховищі файлів. Ми розглянули обидва в модулі 2. Великим обсягам фото і сканів часто місце поза ядром, а Salesforce зберігає лише посилання.

2. За посиланням: вони лежать у чужій шафі з документами

Section titled “2. За посиланням: вони лежать у чужій шафі з документами ”

Дані належать іншій системі (ERP, сховищу даних, платформі замовлень), і ця система лишається джерелом правди. Користувачам треба бачити їх у Salesforce, можливо, пов’язати із записом, але Salesforce не потрібна власна копія. Ви також почуєте, як це називають віртуальними даними: вони з’являються в Salesforce віртуально, ніколи там не зберігаючись.

Це зовнішні об’єкти через Salesforce Connect. Я люблю казати: воно виглядає як качка і ходить як качка, але це не качка. Воно з’являється як sObject: його можна поставити на макет сторінки й у пов’язані списки і пов’язати з вашими записами через зовнішні й непрямі lookup. Але дані не зберігаються в ядрі. Щоразу, коли ви його торкаєтеся, він робить callout. Відкрийте запис, завантажте пов’язаний список, запустіть звіт — і Salesforce іде й питає іншу систему. Це означає затримку, і ваша сторінка доступна рівно настільки, наскільки доступна система за нею.

Люди сперечаються через вартість ліцензії, тож порахуйте так, як я рахую на заняттях. Connect ліцензується за кінцевою точкою, і одна кінцева точка може приносити багато об’єктів. А тепер запитайте, скільки коштує збудувати й підтримувати альтернативу: користувацький компонент, код callout за ним і розробника на чергуванні, коли щось ламається. Часто ліцензія дешевша, а ваші адміністратори можуть налаштувати це без жодного рядка коду. Де це не працює: дані, які ваші користувачі редагують увесь день або на яких активно будують звіти.

Посилатися можна й на документи. Якщо контракт уже живе в SharePoint Online, OneDrive, Google Drive чи Box, Files Connect дає користувачам дістатися до нього із Salesforce, не копіюючи його всередину.

Salesforce Connect — не єдиний спосіб посилатися на дані. Іноді це власна логіка: код, що в реальному часі викликає іншу систему і показує її дані на сторінці, не зберігаючи копії. Це дає повний контроль — і повну відповідальність за callout, помилки й підтримку. А ще Data 360 теж може федерувати без копіювання. Цьому вибору присвячено окремий розділ (Віртуалізація, федерація і zero-copy). Тут суть — саме рішення: посилайтеся, а не копіюйте.

3. В архіві: вони йдуть у сарай на подвір’ї

Section titled “3. В архіві: вони йдуть у сарай на подвір’ї ”

Історія, журнали аудиту, старі транзакції. Їх треба зберігати, іноді роками, але майже ніхто їх не відкриває. І саме це команди відкладають. Коли група каже мені, що має об’єкт на 50 мільйонів записів, і питає, навіщо архівувати, я питаю у відповідь: якщо ви не архівуєте сьогодні, чи будете ви колись архівувати? Із 50 мільйонами сьогодні ви прямуєте до 100, 150, 200 мільйонів.

Сараїв два. Один — в ядрі: big objects. Думайте про них як про зберігання даних у гаражі. Можна зберігати величезну кількість записів, але не можна поставити їх на макет сторінки, немає стандартного інтерфейсу чи звітності, а запити йдуть через індекс big object — за точним збігом або діапазоном (Big Objects Best Practices (opens in a new tab)). Безпека — лише дозволи на об’єкт і поля, без спільного доступу до записів, і автоматизація на них не працює. Я десятки разів використовував Salesforce Connect і big objects лише раз чи двічі. Вони працюють, але незграбні, і я написав свою частку обхідних рішень, щоб дістатися до даних. Тож моя порада: зробіть прототип, перш ніж пропонувати їх, і сплануйте, як люди знаходитимуть дані, перш ніж їх обрати.

Інший сарай — поза ядром: сховище даних чи база даних деінде (Проєктування для масштабу). Часто це кращий сарай, і він не мусить бути поза полем зору. Архівні дані поза ядром усе ще можуть з’являтися у звітах через інструменти на кшталт Tableau і залишатися доступними із Salesforce — через Salesforce Connect чи інший спосіб віртуалізації, — коли комусь треба озирнутися назад.

Розповім про проєкт, де ми зробили це правильно від самого початку. Роздрібний клієнт мав понад 1 200 локацій. Мені сказали: «У нас лише сто записів на прийом на день на магазин. Нічого страшного». Потім я порахував: сто на день, шість днів на тиждень (близько 305 днів на рік), на 1 200 локаціях — це понад 36 мільйонів записів на прийом на рік. Потім згадали, що кожен візит створював два записи: один на передній стійці, другий для задньої частини магазину, — понад 73 мільйони записів на рік. Потім захотіли п’ять років історії: понад 360 мільйонів записів, ще без жодного зростання. Ми ще не запустилися, а я вже бачив потяг, що мчить просто на станцію великих обсягів даних. Тож архів збудували ще до того, як зібрали хоч один запис: старіші записи переїжджали в big objects, а екран пошуку показував поточні записи з архівними одразу під ними. Роки потому все досі працює добре.

Де живуть ці дані? Три панелі. В ядрі — ваш стіл: дані, з якими працюють щодня, у стандартних і користувацьких sObjects із закінченням __c, з макетами, спільним доступом, автоматизацією і звітами; вони займають сховище даних і файлів. За посиланням — чужа шафа з документами: джерело істини — інша система, до якої звертаються віртуально, через зовнішні об’єкти Salesforce Connect із закінченням __x або власні виклики в реальному часі; кожне звернення — це callout, і дані доступні лише тоді, коли доступне джерело. В архіві — сарай на подвір’ї: зберігаються роками й рідко відкриваються, в ядрі — у big objects із закінченням __b, або поза ядром — у сховищі даних чи базі даних, і їх усе ще можна знайти через Tableau чи Salesforce Connect. Внизу: в ядрі означає, що дані зберігаються у вашій org; поза ядром — це власне сховище Data 360 і кожна система, яка не є Salesforce. В ядрі ваш стіл Робота щодня Стандартні й користувацькі sObjects, __c Макети, спільний доступ, автоматизація, звіти Займає сховище даних і файлів За посиланням чужа шафа з документами Джерело істини — інша система Віртуально: Connect __x або власні виклики Кожне звернення — це callout Доступне лише тоді, коли доступне джерело В архіві сарай на подвір’ї Зберігається роками, відкривається рідко В ядрі: big objects, __b Поза ядром: сховище даних чи база даних Усе ще знаходиться: Tableau, Connect В ядрі: зберігається у вашій org. Поза ядром: власне сховище Data 360 і кожна система, яка не є Salesforce. © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Steve Trucking — наш наскрізний сценарій: сімейна компанія доставки «останньої милі», що забирає побутову техніку й електроніку з розподільчих центрів великих мереж, а потім доставляє і встановлює її в домівках клієнтів. Чотири види її даних, три відповіді:

ДаніДе вони живутьЧому
Сьогоднішні доставки, бригади й візитиВ ядріДиспетчери й бригади працюють у них увесь день
Деталі замовлення роздрібної мережіЗа посиланням (або тонка копія в ядрі)Система мережі — джерело правди
Історія доставок трирічної давниниВ архівіЗберігається для претензій і трендів; майже ніхто не відкриває
Фото доставокПоза ядром, з посиланнямТисячі на день; зберігаються поза Salesforce з посиланням на доставці

Ось те саме у вигляді моделі даних. Доставка живе в ядрі, де люди працюють із нею цілий день. Через три роки вона переїжджає в Історію доставок, big object: усе ще в ядрі, але вже в сараї. Замовлення партнера з’являється як зовнішній об’єкт, __x: Salesforce пов’язує з ним доставку, але дані лишаються в системі роздрібної мережі. А фото живуть повністю поза ядром, з посиланням від доставки. Одна модель, три домівки.

Steve Trucking в ядрі і поза ядром Дані Steve Trucking у двох зонах. В ядрі: роздрібний партнер надсилає доставки, і кожна доставка через три роки переходить в Історію доставок — big object із закінченням __b, який усе ще в ядрі, але в архіві. Поза ядром: кожна доставка виконує одне замовлення партнера — зовнішній об’єкт із закінченням __x, дані якого лишаються в системі роздрібної мережі, — і посилається на фото доставки, що зберігаються у сховищі фото поза Salesforce. В ЯДРІ ПОЗА ЯДРОМ надсилає виконує посилається на переходить у Роздрібний партнер в ядрі: Account Доставка в ядрі: робота весь день Історія доставок (__b) в ядрі, в архіві: big object Замовлення партнера (__x) поза ядром: система роздрібної мережі Фото доставки поза ядром: сховище фото рівно один нуль або один один або багато нуль або багато © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Кожна справжня org має всі три. У біду потрапляють ті, хто клав усе в ядро, бо створити об’єкт було кнопкою за замовчуванням.

Що тут вирішує архітектор

Section titled “Що тут вирішує архітектор ”
  • Дім для кожного виду даних, до проєктування будь-якого об’єкта: в ядрі, за посиланням чи в архіві.
  • Джерело правди. Якщо даними володіє інша система, Salesforce не повинен тихо ставати другим майстром.
  • Шлях доступу до всього, що поза ядром. Даним за посиланням потрібні доступне джерело і прийнятна затримка; архівним даним — спосіб, яким люди їх знаходитимуть.
  • Зростання сховища. Порахуйте зараз (записи на день, помножені на зростання, помножені на строк зберігання), а не тоді, коли прийде попередження про сховище.

За межами іспиту: ШІ підвищує ставки «в ядрі». Функції ШІ й агенти найкраще працюють із даними, які розуміє платформа: даними в стандартних і користувацьких об’єктах, добре названими й добре описаними. Це тягне до того, щоб класти в ядро більше. Опирайтеся цьому для не тих даних. Агент, заземлений на застарілій копії даних ERP, дає впевнені хибні відповіді. Часто краще посилатися на живе джерело або тримати в ядрі невеликий, добре описаний зріз. Те, де ШІ читає дані, тепер частина рішення про те, де дані живуть.