Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
SQL Server 2012 Deep DiveДенис РезникDatabase Architect at The Frayman Group
SQL Server NetworkInterface
SQL Server Protocols• Shared Memory• TCP/IP• Named Pipes• VIA (Deprecated)
TDS EndpointsTCP/IPShared MemoryNamed PipesVIADACTCP/IPNote: TDS – Tabular Data Stream
Protocol Layer• Распаковка TDS пакета• Определение SQL команды• Передача обработки следующему компоненту• Упаковка данных ...
Query processor
Query Processor• Задача – выполнить SQL-запрос,представленный в текстовом виде
Parser• Проверяет есть ли план в кэше• Проверяет на базовые соответствия SQL-синтаксису• На выходе получаем ParseTree
Algebrizer• Проверка того что объекты существуют ивидимы в текущем контексте• Определение типов для каждого узла вParseTre...
Optimizer• Задача – получить оптимальный планвыполненияOptimizerQuery TreePre-OptimizationПоиск простого плана. Если не на...
OptimizerOptimizerPhase 0Упрощение запроса с использованиемсинтаксических преобразований.Возвращается TP planЗагрузка стат...
OptimizerOptimizerPhase 1Поднабор правил оптимизацииВозвращается так называемый quickplanОценочная стоимость плана < 1.0
Использование индексированныхпредставленийOptimizerOptimizerPhase 2Полная оптимизация.Возвращается full planПроверка и сра...
Optimizer• Индексы
Статистика• Хранит в себе распределение данных
Executor• Задача выполнить запрос на основе планавыполнения• Запрашивает у Storage Engine необходимыеданные
ДемонстрацияИндексы, статистика и планызапроса
Storage engine
Access methods• Структуры данных и интерфейс длямодификации и доступа к данным
Buffer Manager• Обслуживает Buffer Pool• Задача - вернуть необходимые страницыданных
Buffer ManagerBuffer PoolData CacheDatabase FileAccess MethodsBuffer Manager
Log Manager Buffer PoolData CacheDatabase FileAccess MethodsBuffer ManagerTransaction LogLog Manager
Lock Manager• Задача - обработка конкурентного доступа кданным
Виды блокировок - SharedS SX
Виды блокировок - ExclusiveXXS
Виды блокировок - UpdateUUSSX
Виды блокировок – IntentблокировкиSISIS
ДемонстрацияНемного о дедлоках
SQL OS
Execution modelThread PoolRunningSuspendedRunnableScheduler Logical CPU
ДемонстрацияSQL OSDAC подключение
Ресурсы• SQL Server 2012 Internals and Troubleshouting• Microsoft® SQL Server® 2008 Internals• The Gurus Guide to SQL Serv...
Заповни АнкетуВиграй Призhttp://anketa.msswit.in.ua
Контакты• http://reznik.uneta.com.ua• @denisreznik• denisreznik@live.ru
Спасибо!
SQL Server 2012 Deep Dive (rus)
SQL Server 2012 Deep Dive (rus)
SQL Server 2012 Deep Dive (rus)
SQL Server 2012 Deep Dive (rus)
Upcoming SlideShare
Loading in …5
×

SQL Server 2012 Deep Dive (rus)

1,654 views

Published on

Talk is called Deep Dive, so be prepared to hold your breath. In this talk we will take a look at the mechanisms of the SQL Server and literally dive into the bowels of SQL Server, going through all the stages of the request processing.

  • Be the first to comment

  • Be the first to like this

SQL Server 2012 Deep Dive (rus)

  1. 1. SQL Server 2012 Deep DiveДенис РезникDatabase Architect at The Frayman Group
  2. 2. SQL Server NetworkInterface
  3. 3. SQL Server Protocols• Shared Memory• TCP/IP• Named Pipes• VIA (Deprecated)
  4. 4. TDS EndpointsTCP/IPShared MemoryNamed PipesVIADACTCP/IPNote: TDS – Tabular Data Stream
  5. 5. Protocol Layer• Распаковка TDS пакета• Определение SQL команды• Передача обработки следующему компоненту• Упаковка данных в TDS пакет для передачиклиенту
  6. 6. Query processor
  7. 7. Query Processor• Задача – выполнить SQL-запрос,представленный в текстовом виде
  8. 8. Parser• Проверяет есть ли план в кэше• Проверяет на базовые соответствия SQL-синтаксису• На выходе получаем ParseTree
  9. 9. Algebrizer• Проверка того что объекты существуют ивидимы в текущем контексте• Определение типов для каждого узла вParseTree• Поиск агрегатных операций• На выходе получаем QueryTree
  10. 10. Optimizer• Задача – получить оптимальный планвыполненияOptimizerQuery TreePre-OptimizationПоиск простого плана. Если не найден –переход к следующей фазе
  11. 11. OptimizerOptimizerPhase 0Упрощение запроса с использованиемсинтаксических преобразований.Возвращается TP planЗагрузка статистикиОценочная стоимость плана < 0.2
  12. 12. OptimizerOptimizerPhase 1Поднабор правил оптимизацииВозвращается так называемый quickplanОценочная стоимость плана < 1.0
  13. 13. Использование индексированныхпредставленийOptimizerOptimizerPhase 2Полная оптимизация.Возвращается full planПроверка и сравнение параллельногоплана
  14. 14. Optimizer• Индексы
  15. 15. Статистика• Хранит в себе распределение данных
  16. 16. Executor• Задача выполнить запрос на основе планавыполнения• Запрашивает у Storage Engine необходимыеданные
  17. 17. ДемонстрацияИндексы, статистика и планызапроса
  18. 18. Storage engine
  19. 19. Access methods• Структуры данных и интерфейс длямодификации и доступа к данным
  20. 20. Buffer Manager• Обслуживает Buffer Pool• Задача - вернуть необходимые страницыданных
  21. 21. Buffer ManagerBuffer PoolData CacheDatabase FileAccess MethodsBuffer Manager
  22. 22. Log Manager Buffer PoolData CacheDatabase FileAccess MethodsBuffer ManagerTransaction LogLog Manager
  23. 23. Lock Manager• Задача - обработка конкурентного доступа кданным
  24. 24. Виды блокировок - SharedS SX
  25. 25. Виды блокировок - ExclusiveXXS
  26. 26. Виды блокировок - UpdateUUSSX
  27. 27. Виды блокировок – IntentблокировкиSISIS
  28. 28. ДемонстрацияНемного о дедлоках
  29. 29. SQL OS
  30. 30. Execution modelThread PoolRunningSuspendedRunnableScheduler Logical CPU
  31. 31. ДемонстрацияSQL OSDAC подключение
  32. 32. Ресурсы• SQL Server 2012 Internals and Troubleshouting• Microsoft® SQL Server® 2008 Internals• The Gurus Guide to SQL Server StoredProcedures• SQL Server SQLOS team blog
  33. 33. Заповни АнкетуВиграй Призhttp://anketa.msswit.in.ua
  34. 34. Контакты• http://reznik.uneta.com.ua• @denisreznik• denisreznik@live.ru
  35. 35. Спасибо!

×