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: