SlideShare uma empresa Scribd logo
1 de 29
Charley Hanania :: QS2 AG – Quality Software Solutions
B.Sc (Computing), MCP
, MCDBA, MCITP
,MCTS, MCT
, Microsoft MVP: SQL Server
Principal Consultant - Senior Database Specialist
Database Design Patterns for
Keeping Database Applications
Available and Performing Well.
About Charley Hanania
Now:
Microsoft MVP: SQL Server
Database Consultant at QS2 AG
Formerly:
Production Product Owner of MS SQL Server Platform at UBS Investment Bank
Consultant
DB Team Leader at Other Banks
ITIL v3 Certified
SQL Server Certified since 1998
On SQL Server since 1995
Version 4 on OS/2
IT Professional since 1992
PASS
Chapter Leader – Switzerland
Regional Mentor – Europe
24 Hours of PASS Committee Member
Event Speaker
Presentation Summary
DBA's will give you reasons and methods for achieving database availability
for your application, but not many can broach the concept of keeping parts
of your application running during an outage from the development
perspective through partitioning your application database logically
into levels of criticality.
Adding this logical Layer to your database design and development allows
you to bring your core application functionality online faster and
more simply during failures and in disaster scenarios decide which
areas of your application should come online first to maintain basic
application operations. It also allows you to place your data better to
cater for space and performance for an overall better performing system.
This presentation will drill into this conceptually as well as provide some
examples you can take back to the workplace to incorporate into your next
evolutionary changes.
Agenda
Design Patterns by any Other Name…
Industry “norms” in using databases
Logically Partitioning your DB for Clarity
Logically Partitioning your DB for Performance
Logically Partitioning your DB for Availability
Appendixes (time permitting):
Partitioned Tables and Views
Asynchronous Queues
Agenda
Design Patterns by any Other Name…
Design Patterns are template-like methodologies.
Focussed on particular goals.
Architect-level focussed, but with follow-on
implementation considerations.
Design Patterns by any Other Name…
Evolutionary Growth of Features and Functions
Industry “norms” in Using Databases
Industry “norms” in Using Databases
Industry “norms” in Using Databases
Logically Partitioning your DB for Clarity
Interdependent Objects
Differing schema complexities
Differing Criticalities
Differing Interfaces
Differing “Personalities”
Logically Partitioning your DB for Clarity
Logically Partitioning your DB for Clarity
Step 1 - User Schema Separation
Separating out objects into schemas to help define
business use and Criticality
Logically Partitioning your DB for Performance
Logically Partitioning your DB for Performance
Performance-related issues:
Disk I/O is the one most critical element to improving
performance for data intensive workloads.
When data objects are created in the default filegroup
they share space and allocate more as needed.
Extent fragmentation occurs as data from objects with
differing “personalities” are persisted.
Hotspots can occur on system pages that track the
allocation and use of pages in the file.
Read-ahead is affected as the data you’re retrieving is
not laid out contiguously.
User Schema Separation is done, now to look at the next layer down.
Logically Partitioning your DB for Performance
Resolutions:
Creating additional files and filegroups helps to isolate
where the objects are written to and lowers
fragmentation.
System pages are spread out per file, lowering contention.
With Trace Flag 1117 and correct sizing of your data
files, “Round-Robin” writes are possible, giving higher
throughput on insert intensive workloads.*
Performance Critical data can be placed on LUNS/Disk
Arrays that have more spindles (eg RAID 1+0 mirrored)
or on mirrored Solid State Drives. Conversely, archive
data can be placed on inexpensive (eg. slower) disks.
*Note: Recommendation valid for systems that have >1 CPU/Core and >1 Disk Spindle
otherwise zero or detrimental performance may be experienced. Test First!
Step 2 - Filegroup Separation
Separating out objects into filegroups for isolation,
placing them according to granular performance
needs.
Quick Recap – So Far
1. Don’t put user defined objects in the Primary Filegroup
i. Allows the Primary Filegroup to load faster
2. Schema Separate user defined objects
i. For clarity of purpose and operational use
ii. Try not to use dbo schema (good design/operational practice)
iii. DBA’s will schematize objects in a similar fashion to what was in
the Adventureworks sample. You should look to map your
schema’s around your application’s core functionality / use cases
/ criticality
3. Create Filegroups for each Schema
i. Multiple if you want to partition historical data horizontally etc
ii. Name them in a fashion that allows easy understanding of what
is in them, or how they should be used.
Logically Partitioning your DB for Availability
Logically Partitioning your DB for Availability
Major Points to availability when focussed on Logical
Partitioning
Time taken to open the database on restart, to start
taking connections.
Decreasing the size of the backup to restore through
differential backups of read/write filegroups.
Partial Database availability: a file/disk can go offline
without it affected unrelated objects in the same
database
If architected/implemented correctly, most subsystems
can run unaffected until non peak period for outage
Management & Operations staff can decide which
filegroups & subsystems to bring online first when
recovering from disaster
.
Step 3 – Partial Database Availability
What happens when a file or disk goes offline? How are
other running subsystems affected?
Appendices - 1
Partitioned Tables and Views
Step 4 – Partitioning Tables
Partitioning the Sales Table into smaller
, manageable
objects
Appendices - 2
Asynchronous Queues
Step 5 – Service Broker Queues
Writing messages to an asynchronous queue rather
than directly to a table
Links and Resources
AdventureWorks Database Diagram
http://www.microsoft.com/downloads/details.aspx?FamilyID=0f6e0bcf-a1b5-4760-8d79-
67970f93d5ff&DisplayLang=en
Whitepaper: “Partial Database Availability” (Danny T
ambs, May 2007)
http://technet.microsoft.com
Whitepaper: “Partitioned T
able and Index Strategies Using SQL Server 2008” (Ron
T
almage, March 2009)
http://technet.microsoft.com
Kimberly Tripp’s Scripts for Creating and Partitioning SalesDB
www.sqlskills.com
Allen White’s Service Broker Session at the PASS Summit 2011
www.sqlpass.org
Please help us make TechDays even better
by Evaluating this Session. Thank you!
Give us your feedback!
© 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market
conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.
MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Mais conteúdo relacionado

Mais procurados

W2 k3 ad_integration-how_to
W2 k3 ad_integration-how_toW2 k3 ad_integration-how_to
W2 k3 ad_integration-how_toMeka SriHari
 
The High Performance DBA Optimizing Databases For High Performance
The High Performance DBA Optimizing Databases For High PerformanceThe High Performance DBA Optimizing Databases For High Performance
The High Performance DBA Optimizing Databases For High PerformanceEmbarcadero Technologies
 
Informatica Power Center - Workflow Manager
Informatica Power Center - Workflow ManagerInformatica Power Center - Workflow Manager
Informatica Power Center - Workflow ManagerZaranTech LLC
 
A Primer To Sybase Iq Development July 13
A Primer To Sybase Iq Development July 13A Primer To Sybase Iq Development July 13
A Primer To Sybase Iq Development July 13sparkwan
 
DBM 380 HELP Redefined Education--dbm380help.com
DBM 380 HELP Redefined Education--dbm380help.comDBM 380 HELP Redefined Education--dbm380help.com
DBM 380 HELP Redefined Education--dbm380help.comGVlaxmi7
 
DBM 380 EDU Achievement Education--dbm380edu.com
DBM 380 EDU Achievement Education--dbm380edu.comDBM 380 EDU Achievement Education--dbm380edu.com
DBM 380 EDU Achievement Education--dbm380edu.comclaric163
 
DBM 380 EDU Become Exceptional--dbm380edu.com
DBM 380 EDU Become Exceptional--dbm380edu.comDBM 380 EDU Become Exceptional--dbm380edu.com
DBM 380 EDU Become Exceptional--dbm380edu.comclaric113
 
New Microsoft Office WordDatabase administration and automation Document (2)
New Microsoft Office WordDatabase administration and automation Document (2)New Microsoft Office WordDatabase administration and automation Document (2)
New Microsoft Office WordDatabase administration and automation Document (2)naveen
 
DBM 380 EDU Education Counseling--dbm380edu.com
DBM 380 EDU Education Counseling--dbm380edu.comDBM 380 EDU Education Counseling--dbm380edu.com
DBM 380 EDU Education Counseling--dbm380edu.comclaric63
 
Tasks of database administrator
Tasks of database administratorTasks of database administrator
Tasks of database administratorAttia Qamar
 
DB Optimizer Datasheet - Automated SQL Profiling & Tuning for Optimized Perfo...
DB Optimizer Datasheet - Automated SQL Profiling & Tuning for Optimized Perfo...DB Optimizer Datasheet - Automated SQL Profiling & Tuning for Optimized Perfo...
DB Optimizer Datasheet - Automated SQL Profiling & Tuning for Optimized Perfo...Embarcadero Technologies
 
DBM 380 EDU Redefined Education--dbm380edu.com
DBM 380 EDU Redefined Education--dbm380edu.comDBM 380 EDU Redefined Education--dbm380edu.com
DBM 380 EDU Redefined Education--dbm380edu.comclaric202
 
DBM 380 HELP Education Counseling--dbm380help.com
DBM 380 HELP Education Counseling--dbm380help.comDBM 380 HELP Education Counseling--dbm380help.com
DBM 380 HELP Education Counseling--dbm380help.comclaric63
 
Extensis DAM Forum at MCN
Extensis DAM Forum at MCNExtensis DAM Forum at MCN
Extensis DAM Forum at MCNesmithextensis
 
Informatica Server Manager
Informatica Server ManagerInformatica Server Manager
Informatica Server Managerganblues
 
Joel Chamberlain Business Intelligence Portfolio
Joel Chamberlain Business Intelligence PortfolioJoel Chamberlain Business Intelligence Portfolio
Joel Chamberlain Business Intelligence Portfoliojwchamb
 

Mais procurados (19)

W2 k3 ad_integration-how_to
W2 k3 ad_integration-how_toW2 k3 ad_integration-how_to
W2 k3 ad_integration-how_to
 
Power BI Interview Questions
Power BI Interview QuestionsPower BI Interview Questions
Power BI Interview Questions
 
The High Performance DBA Optimizing Databases For High Performance
The High Performance DBA Optimizing Databases For High PerformanceThe High Performance DBA Optimizing Databases For High Performance
The High Performance DBA Optimizing Databases For High Performance
 
Informatica Power Center - Workflow Manager
Informatica Power Center - Workflow ManagerInformatica Power Center - Workflow Manager
Informatica Power Center - Workflow Manager
 
12363 database certification
12363 database certification12363 database certification
12363 database certification
 
A Primer To Sybase Iq Development July 13
A Primer To Sybase Iq Development July 13A Primer To Sybase Iq Development July 13
A Primer To Sybase Iq Development July 13
 
DBM 380 HELP Redefined Education--dbm380help.com
DBM 380 HELP Redefined Education--dbm380help.comDBM 380 HELP Redefined Education--dbm380help.com
DBM 380 HELP Redefined Education--dbm380help.com
 
DBM 380 EDU Achievement Education--dbm380edu.com
DBM 380 EDU Achievement Education--dbm380edu.comDBM 380 EDU Achievement Education--dbm380edu.com
DBM 380 EDU Achievement Education--dbm380edu.com
 
DBM 380 EDU Become Exceptional--dbm380edu.com
DBM 380 EDU Become Exceptional--dbm380edu.comDBM 380 EDU Become Exceptional--dbm380edu.com
DBM 380 EDU Become Exceptional--dbm380edu.com
 
New Microsoft Office WordDatabase administration and automation Document (2)
New Microsoft Office WordDatabase administration and automation Document (2)New Microsoft Office WordDatabase administration and automation Document (2)
New Microsoft Office WordDatabase administration and automation Document (2)
 
DBM 380 EDU Education Counseling--dbm380edu.com
DBM 380 EDU Education Counseling--dbm380edu.comDBM 380 EDU Education Counseling--dbm380edu.com
DBM 380 EDU Education Counseling--dbm380edu.com
 
Tasks of database administrator
Tasks of database administratorTasks of database administrator
Tasks of database administrator
 
DB Optimizer Datasheet - Automated SQL Profiling & Tuning for Optimized Perfo...
DB Optimizer Datasheet - Automated SQL Profiling & Tuning for Optimized Perfo...DB Optimizer Datasheet - Automated SQL Profiling & Tuning for Optimized Perfo...
DB Optimizer Datasheet - Automated SQL Profiling & Tuning for Optimized Perfo...
 
DBM 380 EDU Redefined Education--dbm380edu.com
DBM 380 EDU Redefined Education--dbm380edu.comDBM 380 EDU Redefined Education--dbm380edu.com
DBM 380 EDU Redefined Education--dbm380edu.com
 
DBM 380 HELP Education Counseling--dbm380help.com
DBM 380 HELP Education Counseling--dbm380help.comDBM 380 HELP Education Counseling--dbm380help.com
DBM 380 HELP Education Counseling--dbm380help.com
 
Extensis DAM Forum at MCN
Extensis DAM Forum at MCNExtensis DAM Forum at MCN
Extensis DAM Forum at MCN
 
Informatica Server Manager
Informatica Server ManagerInformatica Server Manager
Informatica Server Manager
 
Joel Chamberlain Business Intelligence Portfolio
Joel Chamberlain Business Intelligence PortfolioJoel Chamberlain Business Intelligence Portfolio
Joel Chamberlain Business Intelligence Portfolio
 
A to z for sql azure databases
A to z for sql azure databasesA to z for sql azure databases
A to z for sql azure databases
 

Destaque

Pass chapter meeting dec 2013 - compression a hidden gem for io heavy databas...
Pass chapter meeting dec 2013 - compression a hidden gem for io heavy databas...Pass chapter meeting dec 2013 - compression a hidden gem for io heavy databas...
Pass chapter meeting dec 2013 - compression a hidden gem for io heavy databas...Charley Hanania
 
SQLBits 2008 - SQL Server High Availability and Disaster Recovery Overview - ...
SQLBits 2008 - SQL Server High Availability and Disaster Recovery Overview - ...SQLBits 2008 - SQL Server High Availability and Disaster Recovery Overview - ...
SQLBits 2008 - SQL Server High Availability and Disaster Recovery Overview - ...Charley Hanania
 
Kits cadena distribución FAI
Kits cadena distribución FAIKits cadena distribución FAI
Kits cadena distribución FAIrectificadorajs
 
SQL Server Club - SQL Server Enterprise Consolidation - charley hanania
SQL Server Club - SQL Server Enterprise Consolidation - charley hananiaSQL Server Club - SQL Server Enterprise Consolidation - charley hanania
SQL Server Club - SQL Server Enterprise Consolidation - charley hananiaCharley Hanania
 
TehDays Basel - Auditing in sql server 2012 - charley hanania - tech days bas...
TehDays Basel - Auditing in sql server 2012 - charley hanania - tech days bas...TehDays Basel - Auditing in sql server 2012 - charley hanania - tech days bas...
TehDays Basel - Auditing in sql server 2012 - charley hanania - tech days bas...Charley Hanania
 

Destaque (6)

Comunicato n 12 16 dicembre
Comunicato n 12 16 dicembreComunicato n 12 16 dicembre
Comunicato n 12 16 dicembre
 
Pass chapter meeting dec 2013 - compression a hidden gem for io heavy databas...
Pass chapter meeting dec 2013 - compression a hidden gem for io heavy databas...Pass chapter meeting dec 2013 - compression a hidden gem for io heavy databas...
Pass chapter meeting dec 2013 - compression a hidden gem for io heavy databas...
 
SQLBits 2008 - SQL Server High Availability and Disaster Recovery Overview - ...
SQLBits 2008 - SQL Server High Availability and Disaster Recovery Overview - ...SQLBits 2008 - SQL Server High Availability and Disaster Recovery Overview - ...
SQLBits 2008 - SQL Server High Availability and Disaster Recovery Overview - ...
 
Kits cadena distribución FAI
Kits cadena distribución FAIKits cadena distribución FAI
Kits cadena distribución FAI
 
SQL Server Club - SQL Server Enterprise Consolidation - charley hanania
SQL Server Club - SQL Server Enterprise Consolidation - charley hananiaSQL Server Club - SQL Server Enterprise Consolidation - charley hanania
SQL Server Club - SQL Server Enterprise Consolidation - charley hanania
 
TehDays Basel - Auditing in sql server 2012 - charley hanania - tech days bas...
TehDays Basel - Auditing in sql server 2012 - charley hanania - tech days bas...TehDays Basel - Auditing in sql server 2012 - charley hanania - tech days bas...
TehDays Basel - Auditing in sql server 2012 - charley hanania - tech days bas...
 

Semelhante a Tech days 2011 - database design patterns for keeping your database applications available and performing well - charley hanania

Agile data lake? An oxymoron?
Agile data lake? An oxymoron?Agile data lake? An oxymoron?
Agile data lake? An oxymoron?samthemonad
 
SQL Server Cluster Presentation
SQL Server Cluster PresentationSQL Server Cluster Presentation
SQL Server Cluster Presentationwebhostingguy
 
Database Performance Management in Cloud
Database Performance Management in CloudDatabase Performance Management in Cloud
Database Performance Management in CloudDr. Amarjeet Singh
 
Sql Server tips from the field
Sql Server tips from the fieldSql Server tips from the field
Sql Server tips from the fieldInnoTech
 
Microsoft access powerpoint final
Microsoft access  powerpoint finalMicrosoft access  powerpoint final
Microsoft access powerpoint finaljtaylor2229
 
Azure Synapse Analytics Overview (r2)
Azure Synapse Analytics Overview (r2)Azure Synapse Analytics Overview (r2)
Azure Synapse Analytics Overview (r2)James Serra
 
Prague data management meetup 2018-03-27
Prague data management meetup 2018-03-27Prague data management meetup 2018-03-27
Prague data management meetup 2018-03-27Martin Bém
 
1 extreme performance - part i
1   extreme performance - part i1   extreme performance - part i
1 extreme performance - part isqlserver.co.il
 
Data Management - Full Stack Deep Learning
Data Management - Full Stack Deep LearningData Management - Full Stack Deep Learning
Data Management - Full Stack Deep LearningSergey Karayev
 
Database Design and Implementation
Database Design and ImplementationDatabase Design and Implementation
Database Design and ImplementationChristian Reina
 
Data Engineer's Lunch #55: Get Started in Data Engineering
Data Engineer's Lunch #55: Get Started in Data EngineeringData Engineer's Lunch #55: Get Started in Data Engineering
Data Engineer's Lunch #55: Get Started in Data EngineeringAnant Corporation
 
Large Scale SQL Considerations for SharePoint Deployments
Large Scale SQL Considerations for SharePoint DeploymentsLarge Scale SQL Considerations for SharePoint Deployments
Large Scale SQL Considerations for SharePoint DeploymentsJoel Oleson
 
Real world business workflow with SharePoint designer 2013
Real world business workflow with SharePoint designer 2013Real world business workflow with SharePoint designer 2013
Real world business workflow with SharePoint designer 2013Ivan Sanders
 
A Review of Data Access Optimization Techniques in a Distributed Database Man...
A Review of Data Access Optimization Techniques in a Distributed Database Man...A Review of Data Access Optimization Techniques in a Distributed Database Man...
A Review of Data Access Optimization Techniques in a Distributed Database Man...Editor IJCATR
 
A Review of Data Access Optimization Techniques in a Distributed Database Man...
A Review of Data Access Optimization Techniques in a Distributed Database Man...A Review of Data Access Optimization Techniques in a Distributed Database Man...
A Review of Data Access Optimization Techniques in a Distributed Database Man...Editor IJCATR
 
DATABASE Fp304 chapter 1
DATABASE Fp304   chapter 1DATABASE Fp304   chapter 1
DATABASE Fp304 chapter 1Radio Deejay
 
DBA, LEVEL III TTLM Monitoring and Administering Database.docx
DBA, LEVEL III TTLM Monitoring and Administering Database.docxDBA, LEVEL III TTLM Monitoring and Administering Database.docx
DBA, LEVEL III TTLM Monitoring and Administering Database.docxseifusisay06
 
NoSQL - A Closer Look to Couchbase
NoSQL - A Closer Look to CouchbaseNoSQL - A Closer Look to Couchbase
NoSQL - A Closer Look to CouchbaseMohammad Shaker
 

Semelhante a Tech days 2011 - database design patterns for keeping your database applications available and performing well - charley hanania (20)

Agile data lake? An oxymoron?
Agile data lake? An oxymoron?Agile data lake? An oxymoron?
Agile data lake? An oxymoron?
 
SQL Server Cluster Presentation
SQL Server Cluster PresentationSQL Server Cluster Presentation
SQL Server Cluster Presentation
 
Database Performance Management in Cloud
Database Performance Management in CloudDatabase Performance Management in Cloud
Database Performance Management in Cloud
 
Sql Server tips from the field
Sql Server tips from the fieldSql Server tips from the field
Sql Server tips from the field
 
Microsoft access powerpoint final
Microsoft access  powerpoint finalMicrosoft access  powerpoint final
Microsoft access powerpoint final
 
Azure Synapse Analytics Overview (r2)
Azure Synapse Analytics Overview (r2)Azure Synapse Analytics Overview (r2)
Azure Synapse Analytics Overview (r2)
 
Prague data management meetup 2018-03-27
Prague data management meetup 2018-03-27Prague data management meetup 2018-03-27
Prague data management meetup 2018-03-27
 
1 extreme performance - part i
1   extreme performance - part i1   extreme performance - part i
1 extreme performance - part i
 
Supporting SQLserver
Supporting SQLserverSupporting SQLserver
Supporting SQLserver
 
Data Management - Full Stack Deep Learning
Data Management - Full Stack Deep LearningData Management - Full Stack Deep Learning
Data Management - Full Stack Deep Learning
 
Database Design and Implementation
Database Design and ImplementationDatabase Design and Implementation
Database Design and Implementation
 
Data Engineer's Lunch #55: Get Started in Data Engineering
Data Engineer's Lunch #55: Get Started in Data EngineeringData Engineer's Lunch #55: Get Started in Data Engineering
Data Engineer's Lunch #55: Get Started in Data Engineering
 
Large Scale SQL Considerations for SharePoint Deployments
Large Scale SQL Considerations for SharePoint DeploymentsLarge Scale SQL Considerations for SharePoint Deployments
Large Scale SQL Considerations for SharePoint Deployments
 
Real world business workflow with SharePoint designer 2013
Real world business workflow with SharePoint designer 2013Real world business workflow with SharePoint designer 2013
Real world business workflow with SharePoint designer 2013
 
A Review of Data Access Optimization Techniques in a Distributed Database Man...
A Review of Data Access Optimization Techniques in a Distributed Database Man...A Review of Data Access Optimization Techniques in a Distributed Database Man...
A Review of Data Access Optimization Techniques in a Distributed Database Man...
 
A Review of Data Access Optimization Techniques in a Distributed Database Man...
A Review of Data Access Optimization Techniques in a Distributed Database Man...A Review of Data Access Optimization Techniques in a Distributed Database Man...
A Review of Data Access Optimization Techniques in a Distributed Database Man...
 
DATABASE Fp304 chapter 1
DATABASE Fp304   chapter 1DATABASE Fp304   chapter 1
DATABASE Fp304 chapter 1
 
DBA, LEVEL III TTLM Monitoring and Administering Database.docx
DBA, LEVEL III TTLM Monitoring and Administering Database.docxDBA, LEVEL III TTLM Monitoring and Administering Database.docx
DBA, LEVEL III TTLM Monitoring and Administering Database.docx
 
NoSQL - A Closer Look to Couchbase
NoSQL - A Closer Look to CouchbaseNoSQL - A Closer Look to Couchbase
NoSQL - A Closer Look to Couchbase
 
DATABASE ADMINSTRATION
DATABASE ADMINSTRATION DATABASE ADMINSTRATION
DATABASE ADMINSTRATION
 

Mais de Charley Hanania

2024.03.01 - My weakness, Your Glory - Contemplations on Jonah.pptx
2024.03.01 - My weakness, Your Glory - Contemplations on Jonah.pptx2024.03.01 - My weakness, Your Glory - Contemplations on Jonah.pptx
2024.03.01 - My weakness, Your Glory - Contemplations on Jonah.pptxCharley Hanania
 
Swiss pass chapter deck lausanne - june 2011
Swiss pass chapter deck   lausanne - june 2011Swiss pass chapter deck   lausanne - june 2011
Swiss pass chapter deck lausanne - june 2011Charley Hanania
 
Swiss pass chapter deck - zurich - april 2011
Swiss pass chapter deck - zurich - april 2011Swiss pass chapter deck - zurich - april 2011
Swiss pass chapter deck - zurich - april 2011Charley Hanania
 
Pass camp 2010 - DBA 101 to 401 - From Spring Board to Deep Wreck Dives
Pass camp 2010 - DBA 101 to 401 - From Spring Board to Deep Wreck DivesPass camp 2010 - DBA 101 to 401 - From Spring Board to Deep Wreck Dives
Pass camp 2010 - DBA 101 to 401 - From Spring Board to Deep Wreck DivesCharley Hanania
 
Sql server operational best practices notes from the field - charley hanan...
Sql server operational best practices    notes from the field - charley hanan...Sql server operational best practices    notes from the field - charley hanan...
Sql server operational best practices notes from the field - charley hanan...Charley Hanania
 
Sql server club - performance management methodologies and enhancements in sq...
Sql server club - performance management methodologies and enhancements in sq...Sql server club - performance management methodologies and enhancements in sq...
Sql server club - performance management methodologies and enhancements in sq...Charley Hanania
 
Sql connections germany - migration considerations when migrating your on pre...
Sql connections germany - migration considerations when migrating your on pre...Sql connections germany - migration considerations when migrating your on pre...
Sql connections germany - migration considerations when migrating your on pre...Charley Hanania
 

Mais de Charley Hanania (7)

2024.03.01 - My weakness, Your Glory - Contemplations on Jonah.pptx
2024.03.01 - My weakness, Your Glory - Contemplations on Jonah.pptx2024.03.01 - My weakness, Your Glory - Contemplations on Jonah.pptx
2024.03.01 - My weakness, Your Glory - Contemplations on Jonah.pptx
 
Swiss pass chapter deck lausanne - june 2011
Swiss pass chapter deck   lausanne - june 2011Swiss pass chapter deck   lausanne - june 2011
Swiss pass chapter deck lausanne - june 2011
 
Swiss pass chapter deck - zurich - april 2011
Swiss pass chapter deck - zurich - april 2011Swiss pass chapter deck - zurich - april 2011
Swiss pass chapter deck - zurich - april 2011
 
Pass camp 2010 - DBA 101 to 401 - From Spring Board to Deep Wreck Dives
Pass camp 2010 - DBA 101 to 401 - From Spring Board to Deep Wreck DivesPass camp 2010 - DBA 101 to 401 - From Spring Board to Deep Wreck Dives
Pass camp 2010 - DBA 101 to 401 - From Spring Board to Deep Wreck Dives
 
Sql server operational best practices notes from the field - charley hanan...
Sql server operational best practices    notes from the field - charley hanan...Sql server operational best practices    notes from the field - charley hanan...
Sql server operational best practices notes from the field - charley hanan...
 
Sql server club - performance management methodologies and enhancements in sq...
Sql server club - performance management methodologies and enhancements in sq...Sql server club - performance management methodologies and enhancements in sq...
Sql server club - performance management methodologies and enhancements in sq...
 
Sql connections germany - migration considerations when migrating your on pre...
Sql connections germany - migration considerations when migrating your on pre...Sql connections germany - migration considerations when migrating your on pre...
Sql connections germany - migration considerations when migrating your on pre...
 

Último

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 

Último (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

Tech days 2011 - database design patterns for keeping your database applications available and performing well - charley hanania

  • 1. Charley Hanania :: QS2 AG – Quality Software Solutions B.Sc (Computing), MCP , MCDBA, MCITP ,MCTS, MCT , Microsoft MVP: SQL Server Principal Consultant - Senior Database Specialist Database Design Patterns for Keeping Database Applications Available and Performing Well.
  • 2. About Charley Hanania Now: Microsoft MVP: SQL Server Database Consultant at QS2 AG Formerly: Production Product Owner of MS SQL Server Platform at UBS Investment Bank Consultant DB Team Leader at Other Banks ITIL v3 Certified SQL Server Certified since 1998 On SQL Server since 1995 Version 4 on OS/2 IT Professional since 1992 PASS Chapter Leader – Switzerland Regional Mentor – Europe 24 Hours of PASS Committee Member Event Speaker
  • 3. Presentation Summary DBA's will give you reasons and methods for achieving database availability for your application, but not many can broach the concept of keeping parts of your application running during an outage from the development perspective through partitioning your application database logically into levels of criticality. Adding this logical Layer to your database design and development allows you to bring your core application functionality online faster and more simply during failures and in disaster scenarios decide which areas of your application should come online first to maintain basic application operations. It also allows you to place your data better to cater for space and performance for an overall better performing system. This presentation will drill into this conceptually as well as provide some examples you can take back to the workplace to incorporate into your next evolutionary changes.
  • 5. Design Patterns by any Other Name… Industry “norms” in using databases Logically Partitioning your DB for Clarity Logically Partitioning your DB for Performance Logically Partitioning your DB for Availability Appendixes (time permitting): Partitioned Tables and Views Asynchronous Queues Agenda
  • 6. Design Patterns by any Other Name…
  • 7. Design Patterns are template-like methodologies. Focussed on particular goals. Architect-level focussed, but with follow-on implementation considerations. Design Patterns by any Other Name…
  • 8. Evolutionary Growth of Features and Functions Industry “norms” in Using Databases
  • 9. Industry “norms” in Using Databases
  • 10. Industry “norms” in Using Databases
  • 11. Logically Partitioning your DB for Clarity
  • 12. Interdependent Objects Differing schema complexities Differing Criticalities Differing Interfaces Differing “Personalities” Logically Partitioning your DB for Clarity
  • 13. Logically Partitioning your DB for Clarity
  • 14. Step 1 - User Schema Separation Separating out objects into schemas to help define business use and Criticality
  • 15. Logically Partitioning your DB for Performance
  • 16. Logically Partitioning your DB for Performance Performance-related issues: Disk I/O is the one most critical element to improving performance for data intensive workloads. When data objects are created in the default filegroup they share space and allocate more as needed. Extent fragmentation occurs as data from objects with differing “personalities” are persisted. Hotspots can occur on system pages that track the allocation and use of pages in the file. Read-ahead is affected as the data you’re retrieving is not laid out contiguously. User Schema Separation is done, now to look at the next layer down.
  • 17. Logically Partitioning your DB for Performance Resolutions: Creating additional files and filegroups helps to isolate where the objects are written to and lowers fragmentation. System pages are spread out per file, lowering contention. With Trace Flag 1117 and correct sizing of your data files, “Round-Robin” writes are possible, giving higher throughput on insert intensive workloads.* Performance Critical data can be placed on LUNS/Disk Arrays that have more spindles (eg RAID 1+0 mirrored) or on mirrored Solid State Drives. Conversely, archive data can be placed on inexpensive (eg. slower) disks. *Note: Recommendation valid for systems that have >1 CPU/Core and >1 Disk Spindle otherwise zero or detrimental performance may be experienced. Test First!
  • 18. Step 2 - Filegroup Separation Separating out objects into filegroups for isolation, placing them according to granular performance needs.
  • 19. Quick Recap – So Far 1. Don’t put user defined objects in the Primary Filegroup i. Allows the Primary Filegroup to load faster 2. Schema Separate user defined objects i. For clarity of purpose and operational use ii. Try not to use dbo schema (good design/operational practice) iii. DBA’s will schematize objects in a similar fashion to what was in the Adventureworks sample. You should look to map your schema’s around your application’s core functionality / use cases / criticality 3. Create Filegroups for each Schema i. Multiple if you want to partition historical data horizontally etc ii. Name them in a fashion that allows easy understanding of what is in them, or how they should be used.
  • 20. Logically Partitioning your DB for Availability
  • 21. Logically Partitioning your DB for Availability Major Points to availability when focussed on Logical Partitioning Time taken to open the database on restart, to start taking connections. Decreasing the size of the backup to restore through differential backups of read/write filegroups. Partial Database availability: a file/disk can go offline without it affected unrelated objects in the same database If architected/implemented correctly, most subsystems can run unaffected until non peak period for outage Management & Operations staff can decide which filegroups & subsystems to bring online first when recovering from disaster .
  • 22. Step 3 – Partial Database Availability What happens when a file or disk goes offline? How are other running subsystems affected?
  • 23. Appendices - 1 Partitioned Tables and Views
  • 24. Step 4 – Partitioning Tables Partitioning the Sales Table into smaller , manageable objects
  • 26. Step 5 – Service Broker Queues Writing messages to an asynchronous queue rather than directly to a table
  • 27. Links and Resources AdventureWorks Database Diagram http://www.microsoft.com/downloads/details.aspx?FamilyID=0f6e0bcf-a1b5-4760-8d79- 67970f93d5ff&DisplayLang=en Whitepaper: “Partial Database Availability” (Danny T ambs, May 2007) http://technet.microsoft.com Whitepaper: “Partitioned T able and Index Strategies Using SQL Server 2008” (Ron T almage, March 2009) http://technet.microsoft.com Kimberly Tripp’s Scripts for Creating and Partitioning SalesDB www.sqlskills.com Allen White’s Service Broker Session at the PASS Summit 2011 www.sqlpass.org
  • 28. Please help us make TechDays even better by Evaluating this Session. Thank you! Give us your feedback!
  • 29. © 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Notas do Editor

  1. [Tambs] While the database is in a state of partial availability, the filegroups that remain online can support queries. However, queries that depend on data that resides in filegroups that are offline return error 8653: Msg 8653, Level 16, State 1, Line 3 The query processor is unable to produce a plan for the table or view 'X' because the table resides in a filegroup which is not online.