View
217
Download
0
Category
Tags:
Preview:
Citation preview
SQL SERVER INTERNALS & ARCHITECTURE
Kevin Kline, SQL SentryDirector of Engineering Services, kekline@sqlsentry.netMicrosoft SQL Server MVP since 2003Twitter , Facebook, LinkedIn @ KEKlineWebsite: http://KevinEKline.com/, http://ForITPros.com
NEW eBOOKAVAILABLE!
Monthly tips and tricks inour eNews at http://
www.sqlsentry.net/newsletter-archive.asp
Win one of 3 Rookie Experience packages and 3 Ride Along packages from the
Richard Petty Driving Experience at Charlotte Motor Speedway after PASS Summit 2013!
October 18, 2013. Details at http://sqlsentry.net/webinarlistings.aspx
AGENDA• Droppin’ Acid with RDBMSes• Our Host and Tour Guide• The Life of a Read Statement• Dancing for Cache• The Life of a Write Statement• Summary• Q & A
DROPPING ACID - WHY DOES SQL SERVER DO WHAT IT DOES?
• ACID properties of Transactionso Atomico Consistento Isolatedo Durable
• Speed, scalability, and • performance• Maximize hardware• Competitive features
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!
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
getordMemory
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
Recommended