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

DP-800, эпизод 2: кейс Fabrikam Healthcare (DAB, реестр, ловушка параллелизма и CI/CD)

MSExamLab

0:00 / 0:00

DP-800, эпизод 2: кейс Fabrikam Healthcare (DAB, реестр, ловушка параллелизма и CI/CD)

68 просмотров · 13 дн. назад
MSExamLab
158 подписчиков
68 просмотров · 13 дн. назад
Добро пожаловать во второй эпизод серии сертификации Microsoft DP-800: Разработка решений для баз данных с поддержкой ИИ. В этом эпизоде ​​мы разберем полный кейс Fabrikam Healthcare Solutions по 6 сценариям соответствия требованиям, DevOps и параллельной обработки. Мы проанализируем разрешения Data API Builder, проверку CI/CD проекта базы данных SQL в стиле SDK, защищенные от несанкционированного изменения обновляемые таблицы реестра с помощью Azure Confidential Ledger, ловушки уровня изоляции транзакций, детерминированные оконные функции и оптимизацию запросов с помощью коротких замыканий. Каждый ответ проверен непосредственно по официальной документации Microsoft Learn. 🚨 КЛЮЧЕВАЯ ЛОВУШКА В ЭТОМ ЭПИЗОДЕ: В вопросе 4 мы разберем, почему изоляция снимков с подтверждением чтения (RCSI) по умолчанию в Azure SQL Database НЕ защищает длительные транзакции чтения-записи от одновременных изменений. Оптимистическое версионирование строк изменяет только поведение READ COMMITTED — оно не удерживает разделяемые блокировки. Для предотвращения одновременного обновления данных, которое может привести к нарушению транзакции, необходимо явно указать параметры REPEATABLE READ или SERIALIZABLE. ━━━━━━━━━━━━━━━━━━━━━ 📌 ТЕМЫ, РАССМОТРЕННЫЕ В РАМКАХ: • Разрешения сущностей в Data API Builder (DAB): массивы CRUD для таблиц против действий выполнения хранимых процедур • Проверка конвейера CI/CD: триггеры, управляемые запросами на слияние (pull_request), против развертывания после слияния (push) • Таблицы реестра: обновляемые таблицы против таблиц только с добавлением данных и удаленное криптографическое хранилище дайджестов через Azure Confidential Ledger • Параллелизм и изоляция: почему стандартное версионирование строк RCSI не блокирует одновременную запись и когда следует использовать REPEATABLE READ • Семантика агрегирования окон: сброс текущих итогов с помощью PARTITION BY, детерминированные составные механизмы разрешения конфликтов и ROWS против ROWS Формирование диапазона • Оптимизация запросов: сокращенная оценка полусоединения с использованием WHERE EXISTS по сравнению с умножением строк со стандартным JOIN ━━━━━━━━━━━━━━━━━━━━━ ⏱️ ВРЕМЕННЫЕ МЕТКИ: 00:00 - Введение и область применения кейса Fabrikam 00:40 - Архитектура среды и соответствия требованиям 00:58 - Схема базы данных и регулируемые таблицы 01:16 - Архитектура эпизода и дорожная карта 01:34 - Вопрос 1: Настройка разрешений Data API Builder (DAB) 03:15 - Вопрос 2: Проверка запросов на слияние в конвейере CI/CD (GitHub Actions и dotnet build) 04:56 - Вопрос 3: Защита от несанкционированного доступа Обновляемые таблицы реестра и конфиденциальный реестр Azure 06:58 - Вопрос 4: Уровни изоляции параллельного доступа (почему значения RCSI по умолчанию недостаточно) 08:57 - Вопрос 5: Детерминированные скользящие итоги (строки между значениями и диапазоны) 10:50 - Вопрос 6: Оптимизация запросов (где существует значение и мультипликативное соединение) 12:46 - Краткий обзор Fabrikam Healthcare и основные выводы ━━━━━━━━━━━━━━━━━━━━━ 📖 ОФИЦИАЛЬНЫЕ ССЫЛКИ: • Разрешения Data API Builder: https://learn.microsoft.com/azure/dat... • База данных SQL Проекты CI/CD: https://learn.microsoft.com/sql/azure... • Azure SQL Database Ledger: https://learn.microsoft.com/sql/relat... • Уровни изоляции транзакций в Azure SQL: https://learn.microsoft.com/sql/t-sql... • Оконные функции и фрейминг: https://learn.microsoft.com/sql/t-sql... Подпишитесь на @MSExamLab, чтобы получать проверенные исходные коды и ответы на вопросы экзамена без догадок. #DP800 #AzureSQL #DataAPIBuilder #DatabaseLedger #ConcurrencyControl #CICD #MicrosoftLearn #MSExamLab