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

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

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

An open sketchbook on a drafting table at dawn, a building sketched on one page and a data model on the other, with a pencil, an eraser, a cup and a lamp.
Изображение создано с помощью ИИ

Учебное пособие к главе 4 курса Data Architect. Сначала прочитайте шесть модулей; эта страница поможет проверить, что запомнилось.

Об этом учебном пособии. Оно построено только на материалах этого курса и на списке целей из опубликованного руководства Salesforce по экзамену. Оно никогда не основано на реальных экзаменационных вопросах и не претендует на знание того, что будет на экзамене. Если вы сдавали экзамен, пожалуйста, не присылайте мне вопросы из него: соглашение о сертификации запрещает ими делиться, а заучивание ответов — все равно неправильный путь к тому, чтобы стать архитектором.

В руководстве по экзамену сказано, что он не проверяет концепции баз данных, не относящиеся к Salesforce, а большая часть этой главы — о предприятии вокруг Salesforce. Поэтому, как и в главе 1, этот чек-лист указывает, какие цели поддерживает каждый пункт. Но не пропускайте его: многие экзаменационные сценарии начинаются с ERP, хранилища или второго org, и ответ зависит от того, кто владеет данными.

Отмечайте пункты по ходу. Каждый ведет туда, где эта тема разбирается.

Кто владеет данными (поддерживает SDM-2, SDM-3 и главу о мастер-данных)

Виды данных и их нагрузки (поддерживает DM-1, LDV-1 и MDM-4)

  • Я могу различить мастер-данные, справочные, транзакционные, метаданные, аналитические и неструктурированные данные и знаю, что каждый вид означает для того, где они живут. (Начните с вида, а не с объекта)
  • Я знаю, что справочных данных мало, но именно в них прячутся допущения интеграции (Delivered, Complete, D). (Справочные данные)
  • Я могу различить операционную (OLTP), аналитическую (OLAP) и потоковую нагрузки: org ведет бизнес, хранилища и озера данных его анализируют. (Вид — это только половина вопроса)
  • Я знаю, что такое синхронно (ждать у двери), асинхронно (заниматься своим и разобраться, когда придет ответ) и пакетно (раз в час, раз в несколько часов, раз в день), когда пакетной обработки достаточно и что у реального времени есть цена. (Как быстро это должно двигаться?)
  • Я задаю каждому набору данных четыре вопроса: кто им владеет, как быстро он меняется, насколько большим он становится и каков его жизненный цикл. (Четыре вопроса за категориями)

Системы вокруг Salesforce (поддерживает SDM-3, LDV-3 и главы об интеграции)

Org и размещение (поддерживает SDM-4)

  • Я начинаю с одного org и ищу реальную границу (резидентность данных, регулирование, юридическое разделение, другая операционная модель, поглощение), прежде чем добавлять еще один. (Начните с одного org, Ищите реальные границы)
  • Я знаю, во что обходится несколько org: глобальная отчетность, мастер-данные, интеграция, удостоверения и развертывания, и все это умножается. (Снова пройдите по стрелкам)
  • Я знаю, что Hyperforce дает выбор региона, где хранятся данные org (а не облачного провайдера), но не обещает, что каждый сервис останется там; и что GDPR сам по себе не требует отдельного org: он устанавливает правила для персональных данных, покидающих ЕС, и компания может выбрать европейский org, чтобы им соответствовать. (Размещение — часть рисунка, Когда у Европы свой org)

Как рисовать и читать ландшафт (поддерживает любой сценарий)

  • Я могу нарисовать ландшафт: люди слева, Salesforce в середине, его сообщества касаются его снизу, удостоверения сверху, интеграция и бэк-офис справа, Data 360 под слоем интеграции, каналы внизу, данные внутрь и наружу справа внизу. (Схема ландшафта Steve)
  • На ландшафте стрелка начинается у системы, которая открывает соединение, а ее подпись говорит, что движется и в какую сторону; на диаграмме потоков данных стрелки следуют за данными. Два потока — две стрелки. (Теперь нарисуйте стрелки)
  • Для каждой стрелки я знаю, что обеспечивает клиент, а что определяет сервер: куда, аутентификация, протокол и контракт, полезная нагрузка, время, трассировка, ошибки. Named Credential и его External Credential, когда Salesforce вызывает внешнюю систему; External Client App и пользователь интеграции только с доступом к API, когда что-то вызывает Salesforce. (У каждой стрелки должен быть механизм)
  • Я считаю, прежде чем рисовать стрелки: объем идет в инвентаризацию и определяет механизм, а может даже поменять направление стрелки. (Запишите нули в инвентаризацию)
  • Я рисую swim lane (диаграмму с дорожками) только тогда, когда в процессе больше одного-двух обменов туда и обратно. (Стрелки на ландшафте, диалоги — в дорожках)

Экзамен — это пол, а не потолок. Вот привычки из этой главы, которые нужны архитектору, независимо от того, спросят ли о них когда-нибудь на экзамене.

  • Нарисуйте ландшафт, прежде чем проектировать org. Начните с чистого холста.
  • Отодвиньте камеру. Salesforce — одна система среди многих.
  • Новая волна редко отменяет старую. Проектируйте предприятие, которое существует, а не то, что в рекламном буклете.
  • Читайте ландшафт как набор обязанностей, а не логотипов.
  • Односторонние стрелки меня настораживают. От чего зависит этот поток и что приходит обратно?
  • У каждой стрелки должен быть механизм. «Отправил и забыл» — это не ответ.
  • Стрелки на ландшафте, диалоги — в дорожках.
  • Считайте, прежде чем рисовать стрелки. Нули идут в инвентаризацию, и они выбирают механизм.
  • Нарисуйте текущее состояние, прежде чем его чинить: таблицу, выгрузку на SFTP, систему, «которую мы выводим из эксплуатации».
  • Отмечайте текущее состояние честно: красным плохой процесс, штриховой линией ручную работу, красными точками то, чего не хватает. Каждая красная линия — это требование, которое ждет, чтобы его записали.
  • Два потока — две стрелки. Двусторонняя стрелка — только для коннектора.
  • Не играйте в юриста. Спросите, какое конкретное требование вы выполняете, и переведите его в архитектуру вместе с теми, кто за него отвечает.
  • Отдельно не значит просто.
ТерминВ одной строке
Системный ландшафтСистемы вокруг Salesforce, люди, которые ими пользуются, и важные потоки между ними
Система записи (system of record)Где хранится авторитетная версия определенного вида данных
Система взаимодействияГде люди выполняют работу
Справочная системаГде система находит нужную ей информацию, которой она не владеет
Аналитическая системаГде данные сходятся, чтобы измерять, анализировать и прогнозировать
ERPСистема бэк-офиса для финансов, продуктов, запасов, закупок и исполнения заказов
Мастер-данныеДолговечные сущности, вокруг которых работает бизнес: клиенты, продукты, места
Справочные данныеОбщий словарь, который классифицирует другие данные: коды, статусы, категории
Транзакционные данныеЗаписи о том, что произошло: заказы, доставки, платежи, обращения
Аналитические данныеДанные, выведенные из других данных, чтобы измерять и сравнивать
Неструктурированные данныеДокументы, изображения, аудио, видео, расшифровки
Хранилище данных / озеро / lakehouseСтруктурированное аналитическое хранилище / сырые данные в больших масштабах / смесь того и другого
ESB / iPaaSСлой интеграции, который служит посредником между системами
OLTP / OLAPОперационная работа с несколькими записями за раз / анализ по множеству записей
Рядом с ядром (near-core)Управляется в ядре, размещается вне ядра: Data 360
Named Credential / External CredentialГде Salesforce хранит исходящую конечную точку / ее аутентификацию
External Client AppКак внешней системе разрешают вызывать Salesforce
Текущее состояниеЛандшафт таким, какой он сегодня, до проектирования; с отметками о том, что не так
Поставщик удостоверений (IdP)Система, которая аутентифицирует пользователей и устанавливает удостоверение, которому доверяет Salesforce
Синхронно / асинхронно / пакетноЖдать ответа / продолжать работу и обработать ответ, когда он придет / перемещать данные группой по расписанию
HyperforceSalesforce на инфраструктуре публичного облака, с выбором региона
Zero copyЗапрос данных там, где они живут, без их копирования

Короткие сценарии в стиле курса. Решите, каким будет ваш ответ, прежде чем его открыть.

1. Продавцы работают с организациями в Salesforce, но официальный номер клиента выдает ERP, когда клиент совершает покупку. Salesforce отправляет заказы в ERP. Что нужно спроектировать?

Кто владеет клиентом на каждом этапе; номер из ERP как External ID на организации (Account); какие поля Salesforce может менять; как быстро приходят изменения из ERP; и что возвращается после отправки заказа (принят, отклонен, отгружен, выставлен счет). Перечитайте Ландшафт меняет модель данных.

2. Руководство хочет видеть показатели своевременности за пять лет по регионам вместе с финансовыми данными. Строить это на отчетах Salesforce?

Скорее всего, нет. Это аналитическая нагрузка по нескольким хранилищам, поэтому ее место там, где данные сходятся: в хранилище данных, с CRM Analytics или Tableau поверх. Аналитика живет там, где живут данные. Перечитайте Аналитика живет там, где живут данные.

3. Компания работает в 30 странах и просит по одному org на страну. О чем вы спросите?

Какое требование связано с каждой страной: хранение, обработка, трансграничная передача, договоры, другое размещение. Без реальной границы начните с одного org, потому что каждый дополнительный org умножает отчетность, мастер-данные, интеграцию, удостоверения и развертывания. Перечитайте География — еще не стратегия org.

4. Грузовики присылают 200 000 показаний GPS в день. Должен ли Salesforce хранить их все?

Скорее всего, нет. Это потоковые данные: диспетчеру нужна текущая позиция, а история и тренды должны жить на платформе, построенной для такого объема. Посчитайте нули (больше 70 млн в год) и отделите «где он сейчас?» от «что было в прошлом квартале?». Перечитайте Вид — это только половина вопроса.

5. Бригады отрабатывают свои остановки в Salesforce, но маршруты строятся в устаревшем инструменте диспетчеризации, и их ничто не связывает. Как нарисовать сегодняшнее состояние?

Как есть, с пометкой «текущее состояние»: маршруты перебиваются в Salesforce, а выполненные остановки — обратно, штриховой линией, потому что это делают люди, и красным, потому что это неправильно. Не рисуйте интеграцию, которую вам хотелось бы иметь; каждая красная линия становится требованием к проекту. Перечитайте Отметьте, что не так и RouteDesk никуда не делся.

6. Кто-то говорит, что европейское законодательство о конфиденциальности требует отдельного org. Что вы ответите?

Не принимайте это вслепую и не отметайте. GDPR сам по себе не требует отдельного org; он устанавливает правила для персональных данных, в том числе для их передачи за пределы ЕС. Спросите, какое конкретное требование это выполняет (хранение, обработка, передача, доступ поддержки, договор, политика), а затем вместе со специалистами по конфиденциальности, юристами и безопасностью превратите его в архитектуру. Перечитайте Не играйте в юриста и Когда у Европы свой org.

7. Salesforce отправляет заказы в API ERP. Какая сторона отвечает за повторные попытки и где Salesforce хранит секрет?

Salesforce — клиент: он открывает соединение, видит весь цикл запроса и ответа и только он может повторить попытку. Named Credential хранит конечную точку, а его External Credential — аутентификацию. ERP, сервер, определяет контракт и проверяет то, что приходит. Перечитайте У каждой стрелки должен быть механизм.

8. Интеграция сегодня отправляет пару записей в минуту, а в следующем году бизнес ожидает десятки тысяч в час. Меняется ли стрелка?

Возможно, ее механизм и даже направление. Несколько записей в минуту могут быть вызовом (callout) из Salesforce; гораздо больше может означать публикацию событий, на которые подписывается другая система, и тогда стрелка начинается с другого конца; миллионы за ночь — это пакетная обработка. Знайте цифры, прежде чем выбирать. Перечитайте Запишите нули в инвентаризацию.