SQL Server 2012 Deep Dive (rus)

1,413 views
1,405 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.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,413
On SlideShare
0
From Embeds
0
Number of Embeds
656
Actions
Shares
0
Downloads
18
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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. Спасибо!

×