Upload
jose-rivera-miranda
View
318
Download
1
Tags:
Embed Size (px)
DESCRIPTION
Are you considering migrating to SQL Server 2014? Are you aware of the advantages of the In-Memory OLTP features for your application workload? In this session we will make an overview of the In-Memory OLTP features and explore possible migration scenarios that can help you understand what the perfect fit is for you. We will demonstrate how you can analyze and implement this new technology to your existing applications and gain the wanted performance without event changing you application code.
Citation preview
www.facebook.com/prpass
SQL Server 2014 In-Memory OLTPMigration Overview
Jose L. RiveraPASS Global Spanish VC LeaderMVP | MCTS | MCITP | MCSA
• Microsoft SQL Server MVP• Líder del Capítulo Global PASS en Español• VP - Puerto Rico PASS
• Profesional de Bases de Datos con mas de 10 años usando SQL Server y tecnologías relacionadas
• Especializado en ETL e Inteligencia de Negocios
• Blog: http://sqlconqueror.com• Email: [email protected]
/SQLConqueror
Weekly Meetings Different Time Zones Spanish speakers from
all over the globe!
/SpanishPASSVC
/user/SpanishPASSVC
/SpanishPASSVC
http://globalspanish.sqlpass.org
Agenda
In-Memory OLTP Overview In-Memory Implementation Migration Scenarios
Q&A
What’s in SQL Server 2014
In-Memory Technologie
s
Hybrid Scenarios
Enhanced HA/DR
Other Investment
s
In-Memory OLTP?
Memory-optimized OLTP engine
High performance
Full integration into SQL Server
Architected for modern hardware
Hardware Trends
More complex CPUs CPU clock rate stalled Parallel processing
RAM is really cheap!
SSD: Minimize IO bottleneck
In-Memory OLTP Benefits
Reduce Contentio
n
Reduce Logging
Minimize execution
time
Lower Latency
Pre-Implementation Requirements
Enough memory and disk space cmpxchg16b instruction support (in
most 64bit processors) Database should not exceed 250 GB At least 2 or 4 sockets and fewer than
60 cores
Limitations
memory-optimized filegroup cannot be deleted (Yes! DROP DATABASE)
No triggers, LOBs, XML, CLR No FOREIGN KEY, CHECK No schema changes, add/remove index
(drop/recreate only)
Memory optimized Structures• Tables, Indexes, SPs
Row Format
Row header Payload (table columns)
Begin Ts End Ts StmtIdIdxLinkCou
nt
8 bytes 8 bytes 4 bytes 2 + 2 (padding) bytes
8 bytes * (IdxLinkCount)
Memory-Optimized Tables
90,150 Susan Bogota
50, ∞ Jane Prague
100, 200 John Paris
70, 90 Susan Brussels
200, ∞ John Beijing
Timestamps NameChain ptrs City
Hash index on
City BP
Row format
BW-tree index on Name
J
S
Memory-Optimized Indexes
90, 150 Susan Bogota
50, ∞ Jane Prague
Timestamps NameChain ptrs City
Hash index on
City
Hash index on Name
100, 200 John Prague
200, ∞ John Beijing
f(John)
f(Jane)
f(Beijing) f(Bogota)
f(Prague)
Table Creation Process
CREATE TABLE DDL
Code generation and compilation
Table DLL produced
Table DLL loaded
Natively Compiled SPs
It is ALL in All tables must be memory optimized
CLR like Execution plan as a result of the TSQL is
compiled into native code (machine code)
SP Creation Process
CREATE PROC DDL
Query optimization
Code generation and compilation
Procedure DLL produced
Procedure DLL loaded
DEMOIn-Memory OLTP BasicsWorkload
Migration Methodology
Analyze Application Know your app Define goals Identify bottlenecks
Test, Test, Test
Examine Gains
In-Memory OLTP PatternsImplementation Scenario
Pattern Characteristics and Challenge
Main Benefits of In-Memory OLTP
High Data Insert Rate
Primarily append-only store Inability to ingest write
workload
Eliminate contention Minimize I/O logging
Read Performance and Scale
High performance read operations
Unable to meet scale-up requirements
Eliminate contention Efficient data retrieval Minimize code execution
timeo CPU efficiency for scale
Compute Heavy Data Processing
Insert/Update/Delete workload Heavy computation inside
database Read and write contention
Eliminate contention Minimize code execution
time Efficient data processing
In-Memory OLTP PatternsImplementation Scenario
Pattern Characteristics and Challenge
Main Benefits of In-Memory OLTP
Low Latency Require low latency business transactions that typical database solutions cannot achieve
High concurrency exacerbates latency
Eliminate contention Minimize code execution
time Efficient data retrieval
Session State Management
Heavy insert, update, and point lookups
User scale under load from multiple stateless web servers
Eliminate contention Efficient data retrieval Optional I/O
reduction/removal
Migration Approach
Identify bottlenecks in tables
Address unsupported
constructs and migrate data
Perform minimal changes for
interpreted access
Identify performance critical
transaction code
Address surface area limitations and
migrate code
Migration Advisors
Memory Optimization Advisor Identifies which tables in your database will
benefit
Native Compilation Advisor Identifies interpreted stored procedures in
your database that will benefit
DEMOARM tool from MDW (Screenshots)
MDW Reports
Transaction Performance Analysis
Table Contention Analysis
MDW reports
DEMOMigration Advisors
/SQLConqueror