Перейти к содержимому

Каждая структура — это обязательство

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

Глава 3 курса Data Architect, Часть 1: Как стать архитектором данных. Назад: Моделирование данных ради смысла.

Вот вопрос, который я задаю на каждом занятии. Если кто-то говорит «я работаю с Salesforce», какое API-имя у объекта продукта?

Это Product2. Это моя первая лакмусовая бумажка. Когда-то Salesforce построил объект продукта, понял, что он не работает, и вынужден был оставить его позади. Просто убрать его было нельзя, поэтому добавили Product2. Даже Salesforce живет со своими старыми структурами.

А еще Salesforce оставил себе место для роста. Его стандартные объекты не имеют ни префикса, ни суффикса, и мы, люди, которые настраивают org, никогда не можем занять это пространство. Поэтому Salesforce может добавлять объекты и никогда не столкнется ни с чем из того, что строим мы.

Урок здесь такой: создание объекта занимает десять минут. Жить с ним — годы. Каждый объект и каждое поле, которые вы добавляете, — это обязательство. Они занимают хранилище. Они упираются в лимиты. Они получают модель общего доступа, проектировали вы ее или нет. Им нужна лицензия для каждого человека, который к ним прикасается. А теперь их читает и ИИ, так что то, как вы их называете и описываете, определяет, что агент поймет о ваших данных. Добавлять легко. Убирать трудно.

Эта глава превращает строительные блоки Salesforce в решения.

Архитектор и старший разработчик в дождливый день раскладывают данные о доставках по зонам на стеклянной стене: собственные, по ссылке, в архиве и контент

Изображение создано с помощью ИИ.

Salesforce дает вам шесть мест для хранения данных. Я помещаю их на один слайд, потому что первая задача — знать, что все они существуют:

СтруктураДля чегоПодвох
Стандартные объектыСобственная модель Salesforce: организация (Account), контакт, возможность, обращение, актив и остальныеИспользуйте их по назначению, иначе они будут с вами бороться
Пользовательские объектыВаши собственные бизнес-данныеЛегко создать, трудно вывести из употребления
Внешние объектыДанные, которые живут в другой системе и показываются в SalesforceКаждое обращение — это вызов (callout)
Big objectsОгромные объемы, которые нужно хранить, но редко открыватьНет стандартного интерфейса и отчетов; запросы идут через индекс
ФайлыДокументы, фотографии и другой контентФайловое хранилище быстро растет
ВложенияСтарый способ хранить файлыУстаревший: используйте Files

Выбор структуры — только часть дела. До структуры идет вопрос, где данным вообще жить: в ядре (on core), по ссылке там, где они уже находятся, или в архиве.

Глава большая, поэтому она состоит из десяти частей. Каждая самостоятельна. В главе 2 мы решили, какой должна быть модель; здесь мы решаем, как она должна жить в Salesforce.

  1. Платформа данных Salesforce: больше, чем база данных. Чем Salesforce отличается и почему у платформы есть форма.
  2. Смотрите на корабль-носитель: стандартные модели данных. Модели продаж и обслуживания, которые Salesforce уже построил, файлы, хранилище и персональные учетные записи.
  3. Постройте свое: пользовательские объекты. Что решает экран New Custom Object, поля, которые вы не создавали, и как читать любое API-имя: стандартное, пользовательское или из управляемого пакета.
  4. Где живут эти данные? В ядре, по ссылке или в архиве — решено до того, как создан хоть один объект.
  5. Выберите правильный объект. Тест на чистое соответствие, багаж, который приносят стандартные объекты, персональные учетные записи и лицензии, которые определяют, чем люди могут пользоваться.
  6. Поля — это тоже архитектура. Тип поля за типом поля, поведение, которое удивляет людей, и почему у каждого поля должно быть описание.
  7. У связей есть последствия. Lookup или master-detail, три уровня в глубину и два родителя в ширину, логический связующий объект и связующий объект Salesforce (Salesforce Junction Object), а также лимиты, которые кусаются.
  8. Владение и жизненный цикл. Кто владеет записью, таблица общего доступа, где владение превращается в доступ, и что происходит с записью на протяжении ее жизни.
  9. Как сохранять данные согласованными. Лестница согласованности: у каждого уровня есть цена, и вы никогда не «исправляете» историю, чтобы удовлетворить новое правило.
  10. Спроектируйте физическую модель Salesforce. Срез Steve Trucking от логической модели до Salesforce, выстроенный шаг за шагом, с рассуждениями.

Когда закончите, проверьте себя по учебному пособию главы: там чек-лист для экзамена, привычки за его пределами, ключевые термины и несколько вопросов.

  • Что Salesforce уже моделирует, прежде чем что-то изобретать: смотрите на корабль-носитель.
  • Где живет каждый вид данных — в ядре, по ссылке или в архиве, — прежде чем выбирать структуру.
  • Какая структура их хранит, зная, чем жертвует каждая.
  • Как связаны объекты, кто владеет записями и что это значит для доступа и масштаба.
  • От каких лицензий зависит модель — проверено до проектирования объектов, а не после.
  • Как данные остаются согласованными и чего стоит каждый уровень согласованности.

За пределами экзамена: сборка с помощью ИИ может создать объекты и поля за минуты. Когда добавлять почти ничего не стоит, принцип «каждая структура — это обязательство» становится не менее, а более важным. Каждый модуль заканчивается тем, что ИИ меняет для этого решения.

Далее: Понимание корпоративных данных