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