In-Memory - Microsoft

advertisement
Enhanced
High Availability
In-Memory
Technologies
In-Memory OLTP
•
5-20X performance gain for
OLTP integrated into SQL
Server
In-Memory DW
•
5-25X performance gain and
high data compression
•
Updatable and clustered
SSD Bufferpool
Extension
•
4-10X of RAM and up to 3X
performance gain
transparently for apps
Always On
Enhancements
•
Increased availability and
improved manageability of
active secondaries
Online Database
Operations
•
Increased availability for
index/partition maintenance
New Hybrid
Scenarios
Backup to Azure
•
Easy to implement and cost
effective Disaster Recovery
solution to Azure Storage
HA to Azure VM
•
Easy to implement and cost
effective high availability
solution with Windows Azure
VM
Deploy to Azure
• Deployment wizard to migrate
database
Other investments
Better together
with Windows
Server
•
•
•
•
WS2012 ReFS support
Online resizing VHDx
Hyper-V replica
Windows “Blue” support
Extending Power
View
•
Enable Power View on
existing analytic models
and support new multidimensional models.
In-Memory
Technologies
In-Memory OLTP
•
5-20X performance gain for
OLTP integrated into SQL
Server
In-Memory DW
•
5-25X performance gain and
high data compression
•
Updatable and clustered
SSD Bufferpool
Extension
•
4-10X of RAM and up to 3X
performance gain
transparently for apps















Customer
Benefits
Hekaton Tech Pillars
Drivers
High performance data
operations
Efficient, business-logic
processing
Frictionless scale-up
Hybrid engine and
integrated experience
Main-Memory
Optimized
T-SQL Compiled to
Machine Code
High Concurrency
SQL Server Integration
• T-SQL compiled to machine
code leveraging VC
compiler
• Procedure and its queries,
becomes a C function
• Aggressive optimizations @
compile-time
• Multi-version optimistic
concurrency control with full
ACID support
• Lock-free data structures
• No locks, latches or
spinlocks
• No I/O during transaction
• Direct pointers to rows
• Indexes exist only in
memory
• No buffer pool
• No write-ahead logging
• Stream-based storage
Business
Hardware trends
Steadily declining memory
price, NVRAM
Stalling CPU clock rate
• Same manageability,
administration &
development experience
• Integrated queries &
transactions
• Integrated HA and
backup/restore
Many-core processors
TCO
In-Memory OLTP: Integration and Application Migration
Application
TDS Handler and Session Management
No V1 improvements
in comm layers
20-40x more efficient
Real Apps see 2-30x
Reduced log
contention; Low
latency still critical
for performance
Checkpoints are
background
sequential IO
Parser,
Catalog,
Optimizer
Hekaton
Compiler
Native-Compiled
SPs and Schema
Key
Execution Plan cache for
ad-hoc T-SQL and SPs
Existing SQL
Component
T-SQL Interpreter
Hekaton
Component
Access Methods
Non-durable
Table
Query
Interop
Hekaton Engine: Memory_optimized
Tables & Indexes
Memory-optimized Table
Filegroup
SQL Server.exe
T1
T2
T3 Tables
T1
T2
T3 Indexes
Buffer Pool
T1
T2
T3
T1
T2
T3
T1
T2
T3
T1
T2
T3
Transaction Log
Data Filegroup
Generated
.dll
Factor X Gains for Applications
30
BEST FIT
INGEST/READ
HEAVY
Apps with periodic bulk updates & heavy
random reads
10
Existing apps typically see 4-7x
improvement
5
LEGACY APP
2
TPC-C
0
Apps that take full advantage: e.g. web
app session state
Despite 20 years of optimizing for the
TPC-C benchmark – we still get 2x
5
10
15
X factor Gains
20
25
30
Available
Memory
Memory
Optimized
Tables
Buffer Pool
Memory
Optimized
Tables
Buffer Pool
Memory
Optimized
Tables
Buffer Pool
Memory
Optimized
Tables
Buffer Pool











Row header
Payload (table columns)
8 bytes * (IdxLinkCount)





Begin Ts
End Ts
StmtId
IdxLinkCount
8 bytes
8 bytes
4 bytes
2 + 2 (padding)
bytes
Transaction 99: Running compiled query
SELECT City WHERE Name = ‘John’
Simple hash lookup returns direct pointer to ‘John’ row
Hash index
on Name
50, ∞100
f(John)
John
100, ∞
John
Paris
Prague
Hekaton Principle:
Background operation will unlink and deallocate the
old ‘John’ row after transaction 99 completes.
• Performance like a cache
• Functionality like a RDMBS
Note: HANA still use 16KB pages for its row
store (optimized for disk IO)
90, ∞
Timestamps
Susan
Chain ptrs
Name
Bogota
City
Transaction 100:
UPDATE City = ‘Prague’ where Name = ‘John’
No locks of any kind, no interference with
transaction 99
0
PAGE
1
PAGE
Physical
Logical
Root
2
10
3
PageID-3
5
8
20
PageID-0
28
PageID-2
10
11
15
21
18
24
27
Non-leaf pages
PageID -14
1
14
2
6
4
200, ∞
15
100,200
1
Key
1
7
25
8
50, 300
2
Key
26
27
leaf pages
Data rows










0
100
Checkpoint File Pair
Data File
Transaction Timestamp Range
TS (ins)
TS (ins)
TS (ins)
RowId
RowId
RowId
TableId
TableId
TableId
Data file contains rows inserted
within a given transaction range
Delta File
TS (ins)
TS (ins)
TS (ins)
RowId
RowId
RowId
TS (del)
TS (del)
TS (del)
Delta file contains deleted rows
within a given transaction range
Row pay load
Row pay load
Row pay load
DelDel
Tran1
(row TS150))
Tran1(TS150
Del Tran2
(TSTS
450)
(row
450)
Log in disk
Table
Del Tran3
(row
250)
(TSTS
250)
Insert into
Insert into T1
Hekaton T1
Offline Checkpoint Thread
New Inserts
Range 500-
Delete 450 TS
Range 400-500
Range 300-400
Delete 250 TS
Range 200-300
Delete 150 TS
Range 100-200
SQL Transaction log
(from LogPool)
Memory-optimized Table Filegroup
Data file with rows generated in timestamp range
IDs of Deleted Rows (height indicates % deleted)










Memory-optimized data Filegroup
Data file with rows generated in
timestamp range
Range 500-600
Range 400-500
Range 200-400
300-399
Range 300-400
Merge
200-400
Range 200-300
200-299
Files as of Time 600
Range 100-200
Range 400-500
Range 300-400
Range 200-300
Range 100-200
Files as of Time 500
Memory-optimized data Filegroup
IDs of Deleted Rows (height
indicates % deleted)
Files Under Merge
Deleted Files








Memory
Optimized Tables
Recovery Data
Loader
filter
Recovery Data
Loader
filter
Recovery Data
Loader
filter
Delta map
Delta map
Delta map
Data
File1
Delta
File1
Data
File2
Delta
File2
Memory Optimized Container - 1
Data
File3
Delta
File3
Memory Optimized Container - 2
ios (version 6 or below):
Please input the below URL:
http://aka.ms/DBI394R
Other platform:
QR Code:
Download