SQL Server 2012 Deep Dive Денис Резник Database Architect at The Frayman Group
SQL Server Network Interface
SQL Server Protocols Shared Memory TCP/IP Named Pipes VIA (Deprecated)
TDS Endpoints TCP/IP Shared Memory Named Pipes VIA DAC TCP/IP Note: TDS – Tabular Data Stream
Protocol Layer Распаковка TDS пакета Определение SQL команды Передача обработки следующему компоненту Упаковка данных в TDS пакет для передачи клиенту
Query processor
Query Processor Задача – выполнить SQL-запрос, представленный в текстовом виде
Parser Проверяет есть ли план в кэше Проверяет на базовые соответствия SQL- синтаксису На выходе получаем ParseTree
Algebrizer Проверка того что объекты существуют и видимы в текущем контексте Определение типов для каждого узла в ParseTree Поиск агрегатных операций На выходе получаем QueryTree
Optimizer Задача – получить оптимальный план выполнения Optimizer Query Tree Pre-Optimization Поиск простого плана. Если не найден – переход к следующей фазе
Optimizer Phase 0 Упрощение запроса с использованием синтаксических преобразований. Возвращается TP plan Загрузка статистики Оценочная стоимость плана < 0.2
Optimizer Phase 1 Поднабор правил оптимизации Возвращается так называемый quick plan Оценочная стоимость плана < 1.0
Использование индексированных представлений Optimizer Phase 2 Полная оптимизация. Возвращается full plan Проверка и сравнение параллельного плана
Optimizer Индексы
Статистика Хранит в себе распределение данных
Executor Задача выполнить запрос на основе плана выполнения Запрашивает у Storage Engine необходимые данные
Демонстрация Индексы, статистика и планы запроса
Storage engine
Access methods Структуры данных и интерфейс для модификации и доступа к данным
Buffer Manager Обслуживает Buffer Pool Задача - вернуть необходимые страницы данных
Buffer Manager Buffer Pool Data Cache Database File Access Methods Buffer Manager
Log Manager Buffer Pool Data Cache Database File Access Methods Buffer Manager Transaction Log Log Manager
Lock Manager Задача - обработка конкурентного доступа к данным
Виды блокировок - Shared S S X
Виды блокировок - Exclusive X X S
Виды блокировок - Update U U S S X
Виды блокировок – Intent блокировки S IS
Демонстрация Немного о дедлоках
SQL OS
Execution model session Thread Pool Running Suspended Runnable task(s) SchedulerLogical CPU
Демонстрация SQL OS DAC подключение
Ресурсы SQL Server 2012 Internals and Troubleshouting Microsoft® SQL Server® 2008 Internals The Guru's Guide to SQL Server Stored Procedures The Guru's Guide to SQL Server Stored Procedures SQL Server SQLOS team blog SQL Server SQLOS team blog
Заповни Анкету Виграй Приз
Контакты
Спасибо!