Accelerate SQL Server 2016 HTAP performance with Windows 2016

Select ProduceName, ExpiryDate, SUM (inventory – item_sold)
From <transactions>
where [Date] >= DATEADD(day, -1, GETDATE())
Group by ProductName, ExpiryDate, DATEPART(HOUR, [Date])
Insert into <transactions>
values (‘<upc-code>, ‘flowers’, $20.00)
Key Issues
IIS Server
•
•
ETL
•
•
Complex Implementation
Requires two Servers
(CapEx and OpEx)
Data Latency in Analytics
More businesses
demand/require real-time
Analytics
Select ProduceName, ExpiryDate, SUM (inventory – item_sold)
From <transactions>
where [Date] >= DATEADD(day, -1, GETDATE())
Group by ProductName, ExpiryDate, DATEPART(HOUR, [Date])
Insert into <transactions>
values (‘<upc-code>, ‘flowers’, $20.00)
Benefits
• No Data Latency
• No ETL
• No Separate DW
IIS Server
This is
Real-Time ANALYTICS
Challenges
• Minimizing Impact on
SQL Real-Time
In-MemoryAnalytics
Technologies
Faster Transactions +
IN-MEMORY OLTP
+
In 2016 and Azure DB
Faster Analytics
IN-MEMORY DW
Up to 30x faster transaction
processing with In-Memory OLTP
Over 100x analytics query speed
and significant data compression
with In-Memory ColumnStore
Using the same tables
In-Memory
HTAP
Traditional
4+ Hrs
Data Collection
*2000 instances
40 Mins
6+ Hrs
Analytics
*Processing 20mi rows
12 Mins
1.5 min
Reporting
9 secs
• SQL Server 2016 “Tail Of Log” (preview) on Persistent Memory
Faster Transaction Processing via Persistent
Memory Use
NVDIMM-N (Byte)
In the Past:
• Copy log records into buffer, building up block
• Close log block once commit arrives
• Schedule I/O to persist block on SSD
• Complete transaction when I/O completes
Log Buffers
With ToL:
1. Copy log records into buffer, building up
block
2. Complete transaction when commit arrives
3. Close log block when full
4. Schedule I/O to persist full block on SSD
Red indicates the critical path for a transaction
SSD (Block)
• Windows exposes a latency-optimized
“disk” device (block interface)
• DirectAccess (DAX): enlightened apps (SQL
2016) can directly access their data on the
Persistent Memory (PM) device via
Load/Store instructions
• Use of DAX on NVDIMM-N provides
DRAM-like performance
4K Random Write
Thread
Count
IOPS
Latency
(us)
NVDIMM-N (Block)
1
187,302
5.01
NVDIMM-N (DAX)
1
1,667,688
0.52
• Hardware
•
•
•
•
•
Server:
CPU:
Memory:
PM:
Storage:
HPE Proliant® DL380® Gen9
2x Intel® Xeon® CPU E5-2699 v4 @ 1.80GHz
96GB
2x HPE 8GB NVDIMM
2x NVMe SSDs (1.6TB) (Log, Tables)
• Software:
• Windows Server 2016 (RTM)
• SQL Server 2016
• Internal Load Generation Tool for In-Memory OLTP
• Reference Material:
• WS 2016 NVDIMM Support (Block) (https://channel9.msdn.com/events/Build/2016/P466)
• WS 2016 NVDIMM Support (Byte) (https://channel9.msdn.com/events/Build/2016/P470)
• WS 2016 + SQL 2016 ToL (preview) (https://channel9.msdn.com/Shows/Data-Exposed/SQL-
Server-2016-and-Windows-Server-2016-SCM--FAST)
HPE Persistent Memory for SQL Server
-
Up to 64 GB persistent memory per socket
-
Removes the bottleneck of SQL Server log write times
-
Increases throughput and resource utilization
Don’t take any chances
⎼ Future-proof your SQL Server environment
⎼ Design an optimal SQL Server environment with purpose-built,
HPE scale-up servers with persistent memory
⎼ Take advantage of HPE tested and validated configurations
Hewlett
Packard
Enterprise
is here
to help
 HTAP empowers application leaders to innovate
and improved business agility.
 SQL Server 2016 is the best HTAP Engine
 Accelerate your SQL Server 2016 deployments
using Windows Server 2016 and HPE Persistent
Memory Servers.
www.microsoft.com/itprocareercenter
www.microsoft.com/itprocloudessentials
www.microsoft.com/mechanics
https://techcommunity.microsoft.com
http://myignite.microsoft.com
https://aka.ms/ignite.mobileapp