Download presentation
Presentation is loading. Please wait.
Published byBruce Lambert Modified over 9 years ago
1
ἑ κατόν by Niko Neugebauer
2
Niko Neugebauer PASS EvangelistPASS Evangelist SQL Server MVPSQL Server MVP SQLPort (http://www.sqlport.com) founder & leaderSQLPort (http://www.sqlport.com) founder & leaderhttp://www.sqlport.com BITuga (http://www.bituga.pt) co-founderBITuga (http://www.bituga.pt) co-founderhttp://www.bituga.pt 15+ years in IT15+ years in IT
3
HeKATON HEK-A-TON, HEK-A-TON, HEK-A-TON
4
HekAton ἑ κατόν – means 100 in Greek ἑ κατόν – means 100 in Greek Targeted to improve OLTP performance, 100 TimesTargeted to improve OLTP performance, 100 Times
5
Conceptionally? Imagine that you have a number of CPU steps to perform a typical OLTP actionImagine that you have a number of CPU steps to perform a typical OLTP action Optimize it 100 times by removing obstacles like latches and parallelize itOptimize it 100 times by removing obstacles like latches and parallelize it Yes, you will need start from the bottom and from the very beginning?Yes, you will need start from the bottom and from the very beginning?
6
Hardware Trends Look at the CPU speed increaseLook at the CPU speed increase Look at the Memory PricesLook at the Memory Prices You can’t buy a SQL Server Enterprise License for a price of a TBYou can’t buy a SQL Server Enterprise License for a price of a TB Think, think, thinkThink, think, think
7
New generation DB Hekaton
8
History Sybase SQL Server 1.0 1980 (1989)1980 (1989) Hardware ExpensiveHardware Expensive CPU BoundCPU Bound Pages 8K Pages 8K SQL Server 11.0 20122012 Hardware CheapHardware Cheap IO & Memory BoundIO & Memory Bound Pages 8K Pages 8K
9
Hekaton In-Memory DatabaseIn-Memory Database Multi-Core Awareness and OptimizationsMulti-Core Awareness and Optimizations xVelocity compression algorithm (hint: ColumnStore)xVelocity compression algorithm (hint: ColumnStore) No Pages (no more splits, allocations, etc)No Pages (no more splits, allocations, etc) No Locks, No Latches + different Concurrency ControlNo Locks, No Latches + different Concurrency Control StreamInsight (no more 8K’s)StreamInsight (no more 8K’s) Hash Index (no more b-trees)Hash Index (no more b-trees) Existing T-SQL can be reusedExisting T-SQL can be reused
10
Hekaton Highly scalable concurrency control mechanismHighly scalable concurrency control mechanism Lock-free data structuresLock-free data structures
11
Hekaton ACID compliantACID compliant Optimized for extreme Transaction Processing scenarios likeOptimized for extreme Transaction Processing scenarios like Financial ServicesFinancial Services Online GamblingOnline Gambling There are customers who are using it NOWThere are customers who are using it NOW
12
Integrated into the DataBase Engine Hekaton
13
Particular Features Snapshot_Isolation ONLYSnapshot_Isolation ONLY No support for LOB data typesNo support for LOB data types No TriggersNo Triggers AlwaysOn SupportAlwaysOn Support
14
features Durable TablesDurable Tables Non-Durable TablesNon-Durable Tables TempDB is used inside of the Hekaton, in-memoryTempDB is used inside of the Hekaton, in-memory Shares memory with Buffer Pool, but has its own spaceShares memory with Buffer Pool, but has its own space
15
Architecture Different space allocation for memory bufferDifferent space allocation for memory buffer The very same transaction log, but with fewer writesThe very same transaction log, but with fewer writes Different filegroupsDifferent filegroups Different treatment for IndexesDifferent treatment for Indexes A lot of new, different stuffA lot of new, different stuff
16
HEKATON It actually looks like a …
17
Programability Create table dbo.Hekaton(Create table dbo.Hekaton( Id int primary key hash with (bucketcount = 65535),Id int primary key hash with (bucketcount = 65535), Nome varchar(50)Nome varchar(50) ) WITH (MEMORY_OPTIMIZED = ON, DURABILITY = SCHEMA_AND_DATA ); GO
18
T-SQL Stored Procs: Uses C as internal intermediate presentation, and then compiles into native codeUses C as internal intermediate presentation, and then compiles into native code Atomic blocksAtomic blocks Can’t reference non-hekaton tablesCan’t reference non-hekaton tables
19
T-SQL Programability Create procedure dbo.HekatonNowCreate procedure dbo.HekatonNow WITH NATIVE_COMPILATIONWITH NATIVE_COMPILATIONBEGIN select name from dbo.Hekaton; ENDGO
20
Details Uses StreamInsightUses StreamInsight No actual updates, but deletes & insertsNo actual updates, but deletes & inserts
21
UTils Migration from the normal DB tables to HekatonMigration from the normal DB tables to Hekaton Stored Procedures Migration to Hekaton Stored Procedures Migration to Hekaton
22
WHEN ? Next major version of SQL Server
23
BUT Isn’t it too fast ?Isn’t it too fast ? – No, there is no such concept as too fast. (as long as it does not create other problems)– No, there is no such concept as too fast. (as long as it does not create other problems)
24
Thank you
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.