SlideShare une entreprise Scribd logo
1  sur  39
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
Optimizer
Phase 0
Упрощение запроса с использованием
синтаксических преобразований.
Возвращается TP plan
Загрузка статистики
Оценочная стоимость плана < 0.2
Optimizer
Optimizer
Phase 1
Поднабор правил оптимизации
Возвращается так называемый quick
plan
Оценочная стоимость плана < 1.0
Использование индексированных
представлений
Optimizer
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
SX
Виды блокировок – Intent
блокировки
S
ISIS
Демонстрация
Немного о дедлоках
SQL OS
Execution model
Thread Pool
Running
Suspended
Runnable
Scheduler Logical CPU
Демонстрация
SQL OS
DAC подключение
Ресурсы
• SQL Server 2012 Internals and Troubleshouting
• Microsoft® SQL Server® 2008 Internals
• The Guru's Guide to SQL Server Stored
Procedures
• SQL Server SQLOS team blog
Заповни Анкету
Виграй Приз
http://anketa.msswit.in.ua
Контакты
• http://reznik.uneta.com.ua
• @denisreznik
• denisreznik@live.ru
Спасибо!
SQL Server 2012 Deep Dive (rus)

Contenu connexe

Tendances

Александр Соловьёв, Griddynamics.com
Александр Соловьёв, Griddynamics.comАлександр Соловьёв, Griddynamics.com
Александр Соловьёв, Griddynamics.comOntico
 
Опыт построения компании-разработчика Интернет проектов на Drupal
Опыт построения компании-разработчика Интернет проектов на DrupalОпыт построения компании-разработчика Интернет проектов на Drupal
Опыт построения компании-разработчика Интернет проектов на DrupalPVasili
 
Распределённый кэш или хранилище данных. Что выбрать?
Распределённый кэш или хранилище данных. Что выбрать?Распределённый кэш или хранилище данных. Что выбрать?
Распределённый кэш или хранилище данных. Что выбрать?aragozin
 
CodeFest 2012. Сапегин А. — Архитектура сайта Alawar.ru с учетом высоких нагр...
CodeFest 2012. Сапегин А. — Архитектура сайта Alawar.ru с учетом высоких нагр...CodeFest 2012. Сапегин А. — Архитектура сайта Alawar.ru с учетом высоких нагр...
CodeFest 2012. Сапегин А. — Архитектура сайта Alawar.ru с учетом высоких нагр...CodeFest
 
DrupalTour. Vinnytsia — Борьба с нагрузкой на MySQL (Andrey Leshchuk, LetyShops)
DrupalTour. Vinnytsia — Борьба с нагрузкой на MySQL (Andrey Leshchuk, LetyShops)DrupalTour. Vinnytsia — Борьба с нагрузкой на MySQL (Andrey Leshchuk, LetyShops)
DrupalTour. Vinnytsia — Борьба с нагрузкой на MySQL (Andrey Leshchuk, LetyShops)Drupaltour
 
Edition Based Redefinition . Обновление приложений на “лету”
Edition Based Redefinition. Обновление приложений на “лету”Edition Based Redefinition. Обновление приложений на “лету”
Edition Based Redefinition . Обновление приложений на “лету”Andrey Akulov
 
Поиск на своем сайте, обзор open source решений
Поиск на своем сайте, обзор open source решенийПоиск на своем сайте, обзор open source решений
Поиск на своем сайте, обзор open source решенийaragozin
 
AzovDevMeetup 2016 | HBase и Phoenix в качестве основы ETL-приложения на Node...
AzovDevMeetup 2016 | HBase и Phoenix в качестве основы ETL-приложения на Node...AzovDevMeetup 2016 | HBase и Phoenix в качестве основы ETL-приложения на Node...
AzovDevMeetup 2016 | HBase и Phoenix в качестве основы ETL-приложения на Node...JSC “Arcadia Inc”
 
Миграция существующих приложений в Windows Azure
Миграция существующих приложений в Windows AzureМиграция существующих приложений в Windows Azure
Миграция существующих приложений в Windows AzureNatalia Efimtseva
 
Отказоустойчивые решения SQL
Отказоустойчивые решения SQLОтказоустойчивые решения SQL
Отказоустойчивые решения SQLAndrey Korshikov
 
Андрей Зайчиков "Архитектура распределенных кластеров NoSQL на AWS"
Андрей Зайчиков "Архитектура распределенных кластеров NoSQL на AWS"Андрей Зайчиков "Архитектура распределенных кластеров NoSQL на AWS"
Андрей Зайчиков "Архитектура распределенных кластеров NoSQL на AWS"IT Event
 

Tendances (11)

Александр Соловьёв, Griddynamics.com
Александр Соловьёв, Griddynamics.comАлександр Соловьёв, Griddynamics.com
Александр Соловьёв, Griddynamics.com
 
Опыт построения компании-разработчика Интернет проектов на Drupal
Опыт построения компании-разработчика Интернет проектов на DrupalОпыт построения компании-разработчика Интернет проектов на Drupal
Опыт построения компании-разработчика Интернет проектов на Drupal
 
Распределённый кэш или хранилище данных. Что выбрать?
Распределённый кэш или хранилище данных. Что выбрать?Распределённый кэш или хранилище данных. Что выбрать?
Распределённый кэш или хранилище данных. Что выбрать?
 
CodeFest 2012. Сапегин А. — Архитектура сайта Alawar.ru с учетом высоких нагр...
CodeFest 2012. Сапегин А. — Архитектура сайта Alawar.ru с учетом высоких нагр...CodeFest 2012. Сапегин А. — Архитектура сайта Alawar.ru с учетом высоких нагр...
CodeFest 2012. Сапегин А. — Архитектура сайта Alawar.ru с учетом высоких нагр...
 
DrupalTour. Vinnytsia — Борьба с нагрузкой на MySQL (Andrey Leshchuk, LetyShops)
DrupalTour. Vinnytsia — Борьба с нагрузкой на MySQL (Andrey Leshchuk, LetyShops)DrupalTour. Vinnytsia — Борьба с нагрузкой на MySQL (Andrey Leshchuk, LetyShops)
DrupalTour. Vinnytsia — Борьба с нагрузкой на MySQL (Andrey Leshchuk, LetyShops)
 
Edition Based Redefinition . Обновление приложений на “лету”
Edition Based Redefinition. Обновление приложений на “лету”Edition Based Redefinition. Обновление приложений на “лету”
Edition Based Redefinition . Обновление приложений на “лету”
 
Поиск на своем сайте, обзор open source решений
Поиск на своем сайте, обзор open source решенийПоиск на своем сайте, обзор open source решений
Поиск на своем сайте, обзор open source решений
 
AzovDevMeetup 2016 | HBase и Phoenix в качестве основы ETL-приложения на Node...
AzovDevMeetup 2016 | HBase и Phoenix в качестве основы ETL-приложения на Node...AzovDevMeetup 2016 | HBase и Phoenix в качестве основы ETL-приложения на Node...
AzovDevMeetup 2016 | HBase и Phoenix в качестве основы ETL-приложения на Node...
 
Миграция существующих приложений в Windows Azure
Миграция существующих приложений в Windows AzureМиграция существующих приложений в Windows Azure
Миграция существующих приложений в Windows Azure
 
Отказоустойчивые решения SQL
Отказоустойчивые решения SQLОтказоустойчивые решения SQL
Отказоустойчивые решения SQL
 
Андрей Зайчиков "Архитектура распределенных кластеров NoSQL на AWS"
Андрей Зайчиков "Архитектура распределенных кластеров NoSQL на AWS"Андрей Зайчиков "Архитектура распределенных кластеров NoSQL на AWS"
Андрей Зайчиков "Архитектура распределенных кластеров NoSQL на AWS"
 

Similaire à SQL Server 2012 Deep Dive (rus)

Подход Oracle к управлению метаданными для аналитических систем
Подход Oracle к управлению метаданными для аналитических системПодход Oracle к управлению метаданными для аналитических систем
Подход Oracle к управлению метаданными для аналитических системAndrey Akulov
 
Data Destribution service OMG standart
Data Destribution service OMG standart Data Destribution service OMG standart
Data Destribution service OMG standart Sergei Seleznev
 
Репликация базы данных CUCM
Репликация базы данных CUCMРепликация базы данных CUCM
Репликация базы данных CUCMCisco Russia
 
Qlogic: Технологии Ethernet
Qlogic: Технологии EthernetQlogic: Технологии Ethernet
Qlogic: Технологии EthernetExpolink
 
ECP и API управления процессами. InterSystems Meetup Sankt-Peterburg 2014
ECP и API управления процессами. InterSystems Meetup Sankt-Peterburg 2014ECP и API управления процессами. InterSystems Meetup Sankt-Peterburg 2014
ECP и API управления процессами. InterSystems Meetup Sankt-Peterburg 2014InterSystems
 
Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)
Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)
Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)Ontico
 
Чему мы научились разрабатывая микросервисы?
Чему мы научились разрабатывая микросервисы?Чему мы научились разрабатывая микросервисы?
Чему мы научились разрабатывая микросервисы?Vadim Madison
 
Fors и big data appliance
Fors и big data applianceFors и big data appliance
Fors и big data applianceCleverDATA
 
Создание географически-распределенных датацентров на базе инженерных систем
Создание географически-распределенных датацентров на базе инженерных системСоздание географически-распределенных датацентров на базе инженерных систем
Создание географически-распределенных датацентров на базе инженерных системAndrey Akulov
 
Учет и управление IP-ресурсами сети
Учет и управление IP-ресурсами сетиУчет и управление IP-ресурсами сети
Учет и управление IP-ресурсами сетиCisco Russia
 
Инфрраструктура ЦОД - интерконнект от Qlogik
Инфрраструктура ЦОД - интерконнект от QlogikИнфрраструктура ЦОД - интерконнект от Qlogik
Инфрраструктура ЦОД - интерконнект от QlogikExpolink
 
Опыт использования NoSQL-хранилищ (Андрей Новиков)
Опыт использования NoSQL-хранилищ (Андрей Новиков)Опыт использования NoSQL-хранилищ (Андрей Новиков)
Опыт использования NoSQL-хранилищ (Андрей Новиков)Olga Lavrentieva
 
владивосток форум новости технологий 2015
владивосток форум новости технологий 2015владивосток форум новости технологий 2015
владивосток форум новости технологий 2015Elena Ometova
 
Протокол HTTP. Клиент-серверная модель взаимодействия. Servlet API
Протокол HTTP. Клиент-серверная модель взаимодействия. Servlet APIПротокол HTTP. Клиент-серверная модель взаимодействия. Servlet API
Протокол HTTP. Клиент-серверная модель взаимодействия. Servlet APIEkaterina Kuchinskaya
 
Net core and linux in production
Net core and linux in productionNet core and linux in production
Net core and linux in productionAnatoly Popov
 
как из трех стоек сделать две.
как из трех стоек сделать две.как из трех стоек сделать две.
как из трех стоек сделать две.Serguei Gitinsky
 
BigПочта: как мы строили DataLake в Почте России / Алексей Вовченко (Luxoft)
BigПочта: как мы строили DataLake в Почте России / Алексей Вовченко (Luxoft)BigПочта: как мы строили DataLake в Почте России / Алексей Вовченко (Luxoft)
BigПочта: как мы строили DataLake в Почте России / Алексей Вовченко (Luxoft)Ontico
 
Производительность MySQL для DevOps
 Производительность MySQL для DevOps Производительность MySQL для DevOps
Производительность MySQL для DevOpsSveta Smirnova
 

Similaire à SQL Server 2012 Deep Dive (rus) (20)

Подход Oracle к управлению метаданными для аналитических систем
Подход Oracle к управлению метаданными для аналитических системПодход Oracle к управлению метаданными для аналитических систем
Подход Oracle к управлению метаданными для аналитических систем
 
Data Destribution service OMG standart
Data Destribution service OMG standart Data Destribution service OMG standart
Data Destribution service OMG standart
 
Репликация базы данных CUCM
Репликация базы данных CUCMРепликация базы данных CUCM
Репликация базы данных CUCM
 
Qlogic: Технологии Ethernet
Qlogic: Технологии EthernetQlogic: Технологии Ethernet
Qlogic: Технологии Ethernet
 
ECP и API управления процессами. InterSystems Meetup Sankt-Peterburg 2014
ECP и API управления процессами. InterSystems Meetup Sankt-Peterburg 2014ECP и API управления процессами. InterSystems Meetup Sankt-Peterburg 2014
ECP и API управления процессами. InterSystems Meetup Sankt-Peterburg 2014
 
Cassandra db
Cassandra dbCassandra db
Cassandra db
 
Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)
Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)
Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)
 
Чему мы научились разрабатывая микросервисы?
Чему мы научились разрабатывая микросервисы?Чему мы научились разрабатывая микросервисы?
Чему мы научились разрабатывая микросервисы?
 
Fors и big data appliance
Fors и big data applianceFors и big data appliance
Fors и big data appliance
 
Создание географически-распределенных датацентров на базе инженерных систем
Создание географически-распределенных датацентров на базе инженерных системСоздание географически-распределенных датацентров на базе инженерных систем
Создание географически-распределенных датацентров на базе инженерных систем
 
Учет и управление IP-ресурсами сети
Учет и управление IP-ресурсами сетиУчет и управление IP-ресурсами сети
Учет и управление IP-ресурсами сети
 
Инфрраструктура ЦОД - интерконнект от Qlogik
Инфрраструктура ЦОД - интерконнект от QlogikИнфрраструктура ЦОД - интерконнект от Qlogik
Инфрраструктура ЦОД - интерконнект от Qlogik
 
Опыт использования NoSQL-хранилищ (Андрей Новиков)
Опыт использования NoSQL-хранилищ (Андрей Новиков)Опыт использования NoSQL-хранилищ (Андрей Новиков)
Опыт использования NoSQL-хранилищ (Андрей Новиков)
 
владивосток форум новости технологий 2015
владивосток форум новости технологий 2015владивосток форум новости технологий 2015
владивосток форум новости технологий 2015
 
DNS
DNSDNS
DNS
 
Протокол HTTP. Клиент-серверная модель взаимодействия. Servlet API
Протокол HTTP. Клиент-серверная модель взаимодействия. Servlet APIПротокол HTTP. Клиент-серверная модель взаимодействия. Servlet API
Протокол HTTP. Клиент-серверная модель взаимодействия. Servlet API
 
Net core and linux in production
Net core and linux in productionNet core and linux in production
Net core and linux in production
 
как из трех стоек сделать две.
как из трех стоек сделать две.как из трех стоек сделать две.
как из трех стоек сделать две.
 
BigПочта: как мы строили DataLake в Почте России / Алексей Вовченко (Luxoft)
BigПочта: как мы строили DataLake в Почте России / Алексей Вовченко (Luxoft)BigПочта: как мы строили DataLake в Почте России / Алексей Вовченко (Luxoft)
BigПочта: как мы строили DataLake в Почте России / Алексей Вовченко (Luxoft)
 
Производительность MySQL для DevOps
 Производительность MySQL для DevOps Производительность MySQL для DevOps
Производительность MySQL для DevOps
 

Plus de Денис Резник

MS DevDay - SQLServer 2014 for Developers
MS DevDay - SQLServer 2014 for DevelopersMS DevDay - SQLServer 2014 for Developers
MS DevDay - SQLServer 2014 for DevelopersДенис Резник
 
TechEd 2012 - Сценарии хранения и обработки данных в windows azure
TechEd 2012 - Сценарии хранения и обработки данных в windows azureTechEd 2012 - Сценарии хранения и обработки данных в windows azure
TechEd 2012 - Сценарии хранения и обработки данных в windows azureДенис Резник
 
MS Swit 2012 - Windows 8 Application Lifecycle
MS Swit 2012 - Windows 8 Application LifecycleMS Swit 2012 - Windows 8 Application Lifecycle
MS Swit 2012 - Windows 8 Application LifecycleДенис Резник
 
Масштабирование в SQL Azure - SQL Azure Federations
Масштабирование в SQL Azure - SQL Azure FederationsМасштабирование в SQL Azure - SQL Azure Federations
Масштабирование в SQL Azure - SQL Azure FederationsДенис Резник
 
Масштабирование в SQL Azure - SQL Azure Federations
Масштабирование в SQL Azure - SQL Azure FederationsМасштабирование в SQL Azure - SQL Azure Federations
Масштабирование в SQL Azure - SQL Azure FederationsДенис Резник
 
масштабирование в Sql azure
масштабирование в Sql azureмасштабирование в Sql azure
масштабирование в Sql azureДенис Резник
 
SQL Server StreamIinsight - data processing in real time
SQL Server StreamIinsight - data processing in real timeSQL Server StreamIinsight - data processing in real time
SQL Server StreamIinsight - data processing in real timeДенис Резник
 

Plus de Денис Резник (18)

iForum 2015: SQL vs. NoSQL
iForum 2015: SQL vs. NoSQLiForum 2015: SQL vs. NoSQL
iForum 2015: SQL vs. NoSQL
 
MS DevDay - SQLServer 2014 for Developers
MS DevDay - SQLServer 2014 for DevelopersMS DevDay - SQLServer 2014 for Developers
MS DevDay - SQLServer 2014 for Developers
 
SqlSaturday199 - Deadlocks
SqlSaturday199 - DeadlocksSqlSaturday199 - Deadlocks
SqlSaturday199 - Deadlocks
 
SqlSaturday199 - Columnstore Indexes
SqlSaturday199 - Columnstore IndexesSqlSaturday199 - Columnstore Indexes
SqlSaturday199 - Columnstore Indexes
 
Sql rally 2013 columnstore indexes
Sql rally 2013   columnstore indexesSql rally 2013   columnstore indexes
Sql rally 2013 columnstore indexes
 
24 hop - Deadlocks
24 hop - Deadlocks24 hop - Deadlocks
24 hop - Deadlocks
 
TechEd 2012 - Сценарии хранения и обработки данных в windows azure
TechEd 2012 - Сценарии хранения и обработки данных в windows azureTechEd 2012 - Сценарии хранения и обработки данных в windows azure
TechEd 2012 - Сценарии хранения и обработки данных в windows azure
 
MS Swit 2012 - Windows 8 Application Lifecycle
MS Swit 2012 - Windows 8 Application LifecycleMS Swit 2012 - Windows 8 Application Lifecycle
MS Swit 2012 - Windows 8 Application Lifecycle
 
Масштабирование в SQL Azure - SQL Azure Federations
Масштабирование в SQL Azure - SQL Azure FederationsМасштабирование в SQL Azure - SQL Azure Federations
Масштабирование в SQL Azure - SQL Azure Federations
 
Масштабирование в SQL Azure - SQL Azure Federations
Масштабирование в SQL Azure - SQL Azure FederationsМасштабирование в SQL Azure - SQL Azure Federations
Масштабирование в SQL Azure - SQL Azure Federations
 
SQL Server Denali
SQL Server DenaliSQL Server Denali
SQL Server Denali
 
Sql azure и все, все, все...
Sql azure и все, все, все...Sql azure и все, все, все...
Sql azure и все, все, все...
 
Sql server 2011
Sql server 2011Sql server 2011
Sql server 2011
 
MS Swit 2010
MS Swit 2010MS Swit 2010
MS Swit 2010
 
масштабирование в Sql azure
масштабирование в Sql azureмасштабирование в Sql azure
масштабирование в Sql azure
 
WebMatrix
WebMatrixWebMatrix
WebMatrix
 
ASP.NET MVC 3
ASP.NET MVC 3ASP.NET MVC 3
ASP.NET MVC 3
 
SQL Server StreamIinsight - data processing in real time
SQL Server StreamIinsight - data processing in real timeSQL Server StreamIinsight - data processing in real time
SQL Server StreamIinsight - data processing in real time
 

SQL Server 2012 Deep Dive (rus)