+ All Categories
Home > Documents > Kevin Kline, SQL Sentry Director of Engineering Services, [email protected] Microsoft SQL Server...

Kevin Kline, SQL Sentry Director of Engineering Services, [email protected] Microsoft SQL Server...

Date post: 23-Dec-2015
Category:
Upload: nathan-short
View: 217 times
Download: 2 times
Share this document with a friend
Popular Tags:
12
SQL SERVER INTERNALS & ARCHITECTURE Kevin Kline, SQL Sentry Director of Engineering Services, [email protected] Microsoft SQL Server MVP since 2003 Twitter , Facebook, LinkedIn @ KEKline Website: http://KevinEKline.com/ , http://ForITPros.com
Transcript

SQL SERVER INTERNALS & ARCHITECTURE

Kevin Kline, SQL SentryDirector of Engineering Services, [email protected] SQL Server MVP since 2003Twitter , Facebook, LinkedIn @ KEKlineWebsite: http://KevinEKline.com/, http://ForITPros.com

FOR FRIENDS OF SQL SENTRY• Free Plan Explorer download:

http://www.sqlsentry.net/plan-explorer/

• Free query tuning consultations: http://answers.sqlperformance.com.

• Free new ebook (regularly $10) to attendees. Send request to [email protected].

• SQL Server educational videos, scripts, and slides: http://SQLSentry.TV

• Tuning blog: http://www.sqlperformance.com/

• Monthly eNews tips and tricks: http://www.sqlsentry.net/newsletter-archive.asp

DROPPING ACID - WHY DOES SQL SERVER DO WHAT IT DOES?

• ACID properties of Transactionso Atomico Consism tento Isolatedo Durable

• Speed, scalability, and

performance; Maximize hardware• Competitive features

OUR TOUR GUIDE

Talk nerdy to me, baby!

OK, WE’RE DONE

Relational EngineOptimizer

Query Executor

Cmd Parser

Storage EngineTrans-action Manager

Buffer Manager

Access Methods

Protocol LayerSNI

Data File

T-Log

Buffer Pool- - - - - - - - - - - -Data Cache

- - - - - - - - - - - - Plan Cache

SQL Server Network Interface

TDS

LanguageEvent

SELECT

?

QueryTree

QueryPlan

OLEDB

?

SQLOS AND SCHEDULERS • 1 Cash Register = 1 Scheduler• Users are assigned

to a thread

Uh oh! The out of soda!

No problem. Step aside… More syrup for the sodas!

Goes to the waiting, i.e.“suspended queue”

Yeah! I’m next in line!

Relational EngineOptimizer

Query Executor

Cmd Parser

Storage EngineTrans-action Manager: Log & Lock Mgr

Buffer Manager

Access Methods

Protocol LayerSNI

Data File(s)

T-Log

Buffer Pool- - - - - - - - - - - -Data Cache

- - - - - - - - - - - - Plan Cache

SQL Server Network Interface

TDS

LanguageEvent

SQLOS

?

QueryTree

QueryPlan

OLEDB

DataWrite ?

Check Point

Lazywriter

Latches

Locks

TROUBLE-SHOOTING WAIT

STATS?Async_Network_IO

SOS_Scheduler_Yield

Pagelatch_x, Latch_x, Resource_Semaphore

LCK_x, LCK_M_x

Writelog, Logbuffer

PageIOLatch_x, Async_IO_Completion,

IO_Completion

CACHES?

• How long does a page of data or a block of code stay in cache?

• Uses a LRU algorithm• Usually performed by the lazy-

writer, but can also be done by any worker thread after scheduling its own I/O

CACHE AGING & LRU-K BEHAVIOR

getord

Memory

finduser

sp_1 sp_4

16 16

7

2233 02

7

1

564

01

14151312

What about buffer cache?

BUT WAIT! THERE’S MORE!

Relational EngineOptimizer

Query Executor

Cmd Parser

Storage EngineTransaction Manager: Log & Lock Mgr

Buffer Manager

Access Methods

Protocol LayerSNI

Data File

T-Log

Buffer Pool- - - - - - - - - - - -Data Cache

- - - - - - - - - - - - Plan Cache

SQL Server Network Interface

TDS

LanguageEvent

INSERT, UPDATE, orDELETE

?

QueryTree

QueryPlan

OLEDB

DataWrite ?

Oooh! So dirty!

CheckPoint

Lazywriter

Relational EngineOptimizer

Query Executor

Cmd Parser

Storage EngineTrans-action Manager: Log & Lock Mgr

Buffer Manager

Access Methods

Protocol LayerSNI

Data File(s)

T-Log

Buffer Pool- - - - - - - - - - - -Data Cache

- - - - - - - - - - - - Plan Cache

SQL Server Network Interface

TDS

LanguageEvent

SQLOS

?

QueryTree

QueryPlan

OLEDB

DataWrite ?

Check Point

Lazywriter

Latches

Locks

HEKATON, A.K.A. IN-MEMORY OLTP

SUMMARYUnderstanding the internals is as

important as any other bit of info

you might haveRemember:ACID!!!key components of the relational engine?key components of the storage

engine?Key areas of cache?Key areas of the transaction

manager?What two processes conduct

writes?More info?


Recommended