Working with Very Large Tables Like a Pro in SQL Server 2014

Slides:



Advertisements
Similar presentations
new database engine component fully integrated into SQL Server 2014 optimized for OLTP workloads accessing memory resident data achive improvements.
Advertisements

IDA / ADIT Lecture 10: Database recovery Jose M. Peña
Big Data Working with Terabytes in SQL Server Andrew Novick
CSCI 3140 Module 8 – Database Recovery Theodore Chiasson Dalhousie University.
FlareCo Ltd ALTER DATABASE AdventureWorks SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS Slide 1.
SQL Server 2005 features for VLDBs. SQL Server 2005 features for VLDBs aka (it’s fixed in the next release)
Meanwhile RAM cost continues to drop Moore’s Law on total CPU processing power holds but in parallel processing… CPU clock rate stalled… Because.
Chapter 8 : Transaction Management. u Function and importance of transactions. u Properties of transactions. u Concurrency Control – Meaning of serializability.
Transaction Management WXES 2103 Database. Content What is transaction Transaction properties Transaction management with SQL Transaction log DBMS Transaction.
Agenda Journalling More Embedded SQL. Journalling.
Chapter Oracle Server An Oracle Server consists of an Oracle database (stored data, control and log files.) The Server will support SQL to define.
Module 3: Managing Database Files. Overview Introduction to Data Structures Creating Databases Managing Databases Placing Database Files and Logs Optimizing.
Sofia, Bulgaria | 9-10 October SQL Server 2005 High Availability for developers Vladimir Tchalkov Crossroad Ltd. Vladimir Tchalkov Crossroad Ltd.
By Lecturer / Aisha Dawood 1.  You can control the number of dispatcher processes in the instance. Unlike the number of shared servers, the number of.
Database Management System Module 5 DeSiaMorewww.desiamore.com/ifm1.
1 Moshe Shadmon ScaleDB Scaling MySQL in the Cloud.
Oracle Advanced Compression – Reduce Storage, Reduce Costs, Increase Performance Session: S Gregg Christman -- Senior Product Manager Vineet Marwah.
7202ICT – Database Administration
SQL Server 2014: Overview Phil ssistalk.com.
Data in the Cloud – I Parallel Databases The Google File System Parallel File Systems.
1 CS 430 Database Theory Winter 2005 Lecture 16: Inside a DBMS.
IN-MEMORY OLTP By Manohar Punna SQL Server Geeks – Regional Mentor, Hyderabad Blogger, Speaker.
Transactions and Locks A Quick Reference and Summary BIT 275.
How to Use Parameters Like a Pro …and Boost Performance Guy Glantser, CEO, Madeira.
Introduction.  Administration  Simple DBMS  CMPT 454 Topics John Edgar2.
Transactions, Roles & Privileges Oracle and ANSI Standard SQL Lecture 11.
October 15-18, 2013 Charlotte, NC Accelerating Database Performance Using Compression Joseph D’Antoni, Solutions Architect Anexinet.
Does the Optimistic Concurrency resolve your blocking problems Margarita Naumova, SQL Master Academy.
Making a Difference with Azure Storage Solutions Dudu Sinai.
4 Copyright © 2004, Oracle. All rights reserved. Managing the Oracle Instance.
This document is provided for informational purposes only and Microsoft makes no warranties, either express or implied, in this document. Information.
Best Practices for Columnstore Indexes Warner Chaves SQL MCM / MVP SQLTurbo.com Pythian.com.
SQL Server Magic Buttons! What are Trace Flags and why should I care? Steinar Andersen, SQL Service Nordic AB Thanks to Thomas Kejser for peer-reviewing.
SQLintersection Locks, Blocks, and Deadlocks Oh My! Randy Knight Wednesday, 2:15-3:15.
Introducing Hekaton The next step in SQL Server OLTP performance Mladen Prajdić
Use Cases for In-Memory OLTP Warner Chaves SQL MCM / MVP SQLTurbo.com Pythian.com.
SQL Server Internals & Architecture Naomi Williams, SQL DBA LinkedIn

SQL Server Statistics and its relationship with Query Optimizer
In-Memory Capabilities
Curacao SQL Saturday June 11, 2016
Thank You! #sqlsatdnipro Denis
Antonio Abalos Castillo
Hitting the SQL Server “Go Faster” Button
UFC #1433 In-Memory tables 2014 vs 2016
Designing Database Solutions for SQL Server
Chapter Overview Understanding the Database Architecture
Database Administration for the Non-DBA
The Vocabulary of Performance Tuning
SQL Server 2017 has more cool features than just running on Linux
SQL 2014 In-Memory OLTP What, Why, and How
Predictive Performance
SQL Server 2014 Hidden Treasures Denis Reznik Microsoft SQL Server MVP
Hidden Gems of SQL Server 2014
The PROCESS of Queries John Deardurff
The 5 Hidden Performance Gems
How to Use Parameters Like a Pro
The PROCESS of Queries John Deardurff Website: ThatAwesomeTrainer.com
The PROCESS of Queries John Deardurff
The Vocabulary of Performance Tuning
Hidden Gems of SQL Server 2014
Lecture 20: Intro to Transactions & Logging II
Hidden Gems of SQL Server 2014
Hidden Gems of SQL Server 2014
The Complete Guide to Temporary Tables and Table Variables
The Vocabulary of Performance Tuning
Using wait stats to determine why my server is slow
The Complete Guide to Temporary Tables and Table Variables
Working with Very Large Tables Like a Pro in SQL Server 2017
Analyzing Execution Plans
Presentation transcript:

Working with Very Large Tables Like a Pro in SQL Server 2014 Guy Glantser Image courtesy of marin / FreeDigitalPhotos.net

Copyright © 2014 Madeira Ltd All Rights Reserved Full rights, including copyrights, belong exclusively to Madeira Ltd No use of the materials, in any form, is allowed, unless receiving a prior written permission from Madeira Ltd

A Few Words about Me… Name: Guy Glantser Email Address: guy@madeira.co.il Twitter: @guy_glantser Blog: www.madeirasql.com/author/guyglantser Podcast: www.sqlserverradio.com Image courtesy of Mister GC / FreeDigitalPhotos.net

Working with Very Large Tables Like a Pro in SQL Server 2014 Agenda Working with Very Large Tables Like a Pro in SQL Server 2014 Image courtesy of marin / FreeDigitalPhotos.net

Working with Very Large Tables Like a Pro in SQL Server 2014 Agenda Working with Very Large Tables Like a Pro in SQL Server 2014 Image courtesy of marin / FreeDigitalPhotos.net

Working with Very Large Tables Like a Pro in SQL Server 2014 Agenda Working with Very Large Tables Like a Pro in SQL Server 2014 Image courtesy of marin / FreeDigitalPhotos.net

Working with Very Large Tables Like a Pro in SQL Server 2014 Agenda Working with Very Large Tables Like a Pro in SQL Server 2014 Image courtesy of marin / FreeDigitalPhotos.net

Working with Very Large Tables Like a Pro in SQL Server 2014 Agenda Working with Very Large Tables Like a Pro in SQL Server 2014 Image courtesy of marin / FreeDigitalPhotos.net

So What is a Very Large Table? 5GB 5TB Images courtesy of satit_srihin & John Kasawa / FreeDigitalPhotos.net

So What is a Very Large Table? It depends… Image courtesy of David Castillo Dominici / FreeDigitalPhotos.net

So What is a Very Large Table? is One that Requires Special Care Image courtesy of stockimages / FreeDigitalPhotos.net

So What is a Very Large Table? File.Events Web.PageViews Audit.Messages Monitor.Measures Billing.Transactions

So What is a Very Large Table? Web.PageViews

Working with Very Large Tables

Working with Very Large Tables Query the Table Image courtesy of Master isolated images / FreeDigitalPhotos.net

Working with Very Large Tables Query the Table Update the Table Image courtesy of Stuart Miles / FreeDigitalPhotos.net

Working with Very Large Tables Query the Table Update the Table Manage the Table Image courtesy of Stuart Miles / FreeDigitalPhotos.net

Working with Very Large Tables Query the Table Update the Table Manage the Table Maintain the Table Image courtesy of xedos4 / FreeDigitalPhotos.net

What We are NOT Going to Cover… Partition the Table Archive/Delete Old Partitions Spread Partitions Between Storage Tiers Image courtesy of farconville / FreeDigitalPhotos.net

What We are NOT Going to Cover… Compress the Data Bulk Insert Rows Optimize Parallelism Image courtesy of farconville / FreeDigitalPhotos.net

What We are NOT Going to Cover… Use a Lower Isolation Level In-Memory OLTP Columnstore Indexes Image courtesy of farconville / FreeDigitalPhotos.net

Let’s start with querying the table… Image courtesy of Master isolated images / FreeDigitalPhotos.net

The Ascending Key Problem Image courtesy of suphakit73 / FreeDigitalPhotos.net

Problem #1 – Solutions Update Statistics Manually Trace Flag 2371 New Cardinality Estimator Filtered Statistics Incremental Statistics Image courtesy of suphakit73 / FreeDigitalPhotos.net

What about the data load? Image courtesy of Stuart Miles / FreeDigitalPhotos.net

Problem #2 The WRITELOG Wait Type Image courtesy of stockimages / FreeDigitalPhotos.net

Problem #2 – Solution Delayed Durability Image courtesy of stockimages / FreeDigitalPhotos.net

Delayed Durability Transaction Properties (ACID): Atomicity Consistency Isolation Durability

Fully-Durable Transactions Delayed Durability Data File Buffer Pool Commit Checkpoint Request Transaction Log Buffer Log File WRITELOG

Delayed Durability Transactions Data File Buffer Pool Commit Checkpoint Request Transaction Log Buffer Log File

Delayed Durability Can be controlled by: Database (Disabled | Allowed | Forced) Transaction (Commit) Atomic Block (Natively Compiled Procedure) Image courtesy of digitalart / FreeDigitalPhotos.net

Delayed Durability The log buffer is flushed to disk when: A fully durable transaction in the same database makes a change in the database and successfully commits Image courtesy of Keerati / FreeDigitalPhotos.net

Delayed Durability The log buffer is flushed to disk when: The user executes the system stored procedure “sys.sp_flush_log” successfully Image courtesy of Keerati / FreeDigitalPhotos.net

Delayed Durability The log buffer is flushed to disk when: The in-memory transaction log buffer fills up and automatically flushes to disk Image courtesy of Keerati / FreeDigitalPhotos.net

Delayed Durability The log buffer is flushed to disk when: Every few milliseconds Image courtesy of Keerati / FreeDigitalPhotos.net

Delayed Durability The following transactions are always fully durable: Transactions that perform write operations against tables that are enabled for either Change Tracking or Change Data Capture Image courtesy of Iamnee / FreeDigitalPhotos.net

Delayed Durability The following transactions are always fully durable: Cross-database transactions or distributed transactions Image courtesy of Iamnee / FreeDigitalPhotos.net

Delayed Durability The following features apply only to transactions that have been made durable: Transaction Replication – Transactions are only replicated after they have been made durable Image courtesy of Stuart Miles / FreeDigitalPhotos.net

Delayed Durability The following features apply only to transactions that have been made durable: Log Backup – Only transactions that have been made durable are included in the backup Image courtesy of Stuart Miles / FreeDigitalPhotos.net

Delayed Durability The following features apply only to transactions that have been made durable: Log Shipping – Only transactions that have been made durable are shipped to the secondaries Image courtesy of Stuart Miles / FreeDigitalPhotos.net

Delayed Durability What are the benefits? Less roundtrips to the log file on disk Less WRITELOG waits Shorter transactions Locks are released earlier Better throughput Image courtesy of Ambro / FreeDigitalPhotos.net

Delayed Durability But remember that you might lose data!

Finally, let’s talk about maintenance… Image courtesy of xedos4 / FreeDigitalPhotos.net

Problem #3 Index Rebuild Image courtesy of suphakit73 / FreeDigitalPhotos.net

Index Rebuild Before SQL Server 2014 we could: Rebuild all partitions offline Rebuild all partitions online Rebuild a specific partition offline Image courtesy of David Castillo Dominici / FreeDigitalPhotos.net

Index Rebuild In SQL Server 2014 we can: Rebuild a specific partition online Wait at low priority when: Rebuilding an index online Switching partitions Image courtesy of David Castillo Dominici / FreeDigitalPhotos.net

Wait at Low Priority Wait in a separate low priority queue Wait for a specified number of minutes Image courtesy of ddpavumba / FreeDigitalPhotos.net

Wait at Low Priority After that, choose one of 3 options: Continue to wait at normal priority Abort the operation Kill all blockers and start the operation Image courtesy of ddpavumba / FreeDigitalPhotos.net

Wait at Normal Priority Queue Insert Insert Online Index Rebuild Running Image courtesy of artur84 / FreeDigitalPhotos.net

Wait at Low Priority “Normal” Queue Insert Insert Online Index Rebuild Running Low Priority Queue Image courtesy of artur84 / FreeDigitalPhotos.net

Working with Very Large Tables Like a Pro in SQL Server 2014 Summary Working with Very Large Tables Like a Pro in SQL Server 2014 Image courtesy of marin / FreeDigitalPhotos.net

Working with Very Large Tables Like a Pro in SQL Server 2014 Summary Working with Very Large Tables Like a Pro in SQL Server 2014 Image courtesy of marin / FreeDigitalPhotos.net

Summary A Very Large Table is One that Requires Special Care Image courtesy of stockimages / FreeDigitalPhotos.net

Working with Very Large Tables Like a Pro in SQL Server 2014 Summary Working with Very Large Tables Like a Pro in SQL Server 2014 Image courtesy of marin / FreeDigitalPhotos.net

Summary Query the Table Update the Table Manage the Table Maintain the Table Image courtesy of Master isolated images, Stuart Miles & xedos4 / FreeDigitalPhotos.net

Working with Very Large Tables Like a Pro in SQL Server 2014 Summary Working with Very Large Tables Like a Pro in SQL Server 2014 Image courtesy of marin / FreeDigitalPhotos.net

Summary Solving the Ascending Key problem Update Statistics Manually Trace Flag 2371 New Cardinality Estimator Filtered Statistics Incremental Statistics Image courtesy of suphakit73 / FreeDigitalPhotos.net

Summary Solving the WRITELOG problem with Delayed Durability Less roundtrips to the log file on disk Less WRITELOG waits Shorter transactions & Locks Better throughput Image courtesy of Ambro / FreeDigitalPhotos.net

Summary Solving the Index Rebuild problem Rebuild a specific partition online Wait at low priority Image courtesy of suphakit73 / FreeDigitalPhotos.net

Working with Very Large Tables Like a Pro in SQL Server 2014 Summary Working with Very Large Tables Like a Pro in SQL Server 2014 Image courtesy of marin / FreeDigitalPhotos.net

Summary New Features in SQL Server 2014 New Cardinality Estimator Incremental Statistics Delayed Durability Online Indexing Enhancements

Stay In Touch… Name: Guy Glantser Email Address: guy@madeira.co.il Twitter: @guy_glantser Blog: www.madeirasql.com/author/guyglantser Podcast: www.sqlserverradio.com Image courtesy of Nuttapong / FreeDigitalPhotos.net

Image courtesy of David Castillo Dominici / FreeDigitalPhotos.net