SlideShare a Scribd company logo
Ravi Okade
Agenda
 Why do you need it ?
 How it is done
 Benefits
 Limitations
Why do you need a new
architecture ?
 In-Memory
 Memory is cheap
 Servers have HUGE memory
 Some data is hot
 Traditional page based architecture has
limitations, even when all pages are in memory
 Native Compilation, Lock-less architecture
 Individual cores are not getting any faster
 While number of cores is increasing, Parallel
processing has its limits due to lock contention
 You cannot scale linearly by adding more cores
Comparable Products and
Technologies
 Similar Products
 Oracle TimesTen
 Sybase ASE
 Other technologies with some similarities
 Distributed Cache
○ Oracle Coherence is one of many distributed
cache’s that support query language (CQL). It can
also persist to Oracle. Another example with
similar capabilities is Gigaspaces
 NoSQL Databases
○ Most NoSQL databases support distributed
querying and aggressively cache data (e.g.
MongoDB)
What it all means..
Use Cases
 Hot tables – frequent inserts and
updates, but queried heavily e.g:
 Stock Trading applications
 Patient Vital Stats
 Flight information (live)
 Transient data e.g.:
 Web Session data
 Stock Market data
 Need for High speed OLTP queries
In-memory Architecture
 Main Concepts
 In-memory
 Lock free (row versions)
 Native compiled stored procedures
 Data storage optimizations
 Memory optimized data structures
 Transaction log optimization (block writes, no undo)
 Data file Optimization (Sequential writes, Merging)
 Index optimization (Only in-memory, Not persisted to
disk, no tx logging)
 No TempDB
 Garbage collection optimization (huh?)
 Non-durable option (Not persisted to disk)
In Memory – Myths and
Realities
 Myth: In-Memory OLTP is the same as
DBCC PINTABLE
 Reality: In-Memory OLTP uses a completely
new design built from the ground up.
 Myth: If SQL Server crashes all data is
lost
 Reality: No – it is persisted to disk and is
fully recoverable.
SQL Server 2014 In-Memory
Architecture
SQL Server Integration
• Same manageability,
administration & development
experience
• Integrated queries &
transactions
• Integrated HA and
backup/restore
Main-Memory Optimized
• Optimized for in-memory data
• Indexes (hash and range) exist
only in memory
• No buffer pool, B-trees
• Stream-based storage
T-SQL Compiled to Machine
Code
• T-SQL compiled to machine
code via C code generator and
VC
• Invoking a procedure is just a
DLL entry-point
• Aggressive optimizations @
compile-time
High Concurrency
• Multi-version optimistic
concurrency control with full
ACID support
• Core engine uses lock-free
algorithms
• No lock manager, latches or
spinlocks
In-Memory integration with SQL
Server
Memory Management
 Table data resides in memory at all
times.
 No paging.
 Must configure SQL box with sufficient memory to store
memory-optimized tables. Max supported 512GB
 Failure to allocate memory will fail transactional workload at
run-time
In-Memory Data Structures
 Rows
 New row format
○ Structure of the row is optimized for in-memory
residency and access.
 One copy of row
○ Indexes point to rows, they do not duplicate them.
 Indexes
 Hash Index for equality search
 memory-optimized B-tree for range and equality
search (In CTP2)
 Do not exist on disk – recreated during recovery.
In Memory – Table DDL: Need
filestream filegroup
FILEGROUP [Hekaton_DB_hk_fs_fg]
CONTAINS MEMORY_OPTIMIZED_DATA
(NAME = [Hekaton_DB_hk_fs_dir],
FILENAME =
'C:Hekaton_testsqlservrdataHekaton_DB_hk_fs_dir')
Table creation internals
CREATE TABLE DDL
Code generation and
compilation
Table DLL produced
Table DLL loaded
Table Storage
 Filestream is the underlying storage
mechanism
 Data files
 Store inserted records
 Data written only upon Tx commit
 Delta files
 Store deleted records (updates are an
insert/delete pair)
Transaction Logging
 Uses SQL transaction log to store
content
 All logging is logical
 No log records for physical structure
modifications.
 No index-specific / index-maintenance log
records.
 No UNDO information is logged
Native Compiled Stored
Procedures
 Compiled to C language and compiled
into a dll using VC
 Optimized aggressively at compile time
 Can only access In-memory tables
 Not all T-SQL constructs and functions
supported
 No alter procedure – must drop and
recreate
Procedure Creation
CREATE PROC DDL
Query optimization
Code generation and compilation
Procedure DLL produced
Procedure DLL loaded
Using Row Versions for Lock
free architecture
 SQL Server 2014 In Memory DB has no
locks (period).
 Row versions are used to maintain
updates
 No TempDB
 Row Versions which are no longer
referenced are garbage collected.
 Supports Snapshot, Repeatable Read
and Serializable Isolation levels
Transaction Isolation Levels
 SNAPSHOT
 Reads are consistent as of start of the transaction
 Writes are always consistent
 REPEATABLE READ
 Read operations yield same row versions if
repeated at commit time
 SERIALIZABLE
 Transaction is executed as if there are no
concurrent transactions – all actions happen at a
single serialization point (commit time)
Garbage Collection
Benefits
 Uses Commodity Hardware
 Works seamlessly with current SQL Server objects
 Yes, it is still ACID compliant
 Yes, you can mix in-memory and disk based tables in
the same database
 Yes, your transactions can span in-memory and disk
based tables
 No, you cannot have partial in-memory tables
 Yes, it has to fit in-memory 100%, forever.
 Yes, you can limit how much memory is used by the
in-memory tables (think resource pools) (not in
CTP1)
 Yes, you can have high availability
Limitations
 Row Sizes can’t be larger than 8060 bytes (incl.
Variable Length Columns)
 LOB, XML Data Types are not supported
 No Foreign Key and Check Constraints
 No IDENTITY, SEQUENCE
 No DML Triggers
 No ALTER Table (Need to recreate table)
 No Add/Remove Index (Need to recreate table)
 No diff backups
 Indexes are rebuilt (consider startup time)
 Disk files are merged while being loaded
 Running out of memory
CTP1 Limitations
 No B-Tree index (used for range search)
 No Resource Pools
 No always on
Demo
 Performance against disk based table
 Performance with native sproc
 Number of Tx records written disk vs
memory
 Northwind example
 [TBD] Dealing with transactions
 [TBD] Performance of T-SQL/Interop
sprocs with In memory tables
 [TBD] Disk files and merging ?
 [TBD] Backup, Tx log backup; no diff
backups
More information
 Tech-ed SQL Server 2014 Videos
 Microsoft SQL Server In-Memory OLTP: Overview of Project “Hekaton”
 Microsoft SQL Server In-Memory OLTP Project “Hekaton”: App Dev Deep Dive
 Microsoft SQL Server In-Memory OLTP Project “Hekaton”: Management Deep Dive
 Microsoft SQL Server 2014 In-Memory OLTP: Overview
 SQL Server In-Memory OLTP: DB Developer Deep Dive
 SQL Server In-Memory OLTP: DBA Deep Dive
 SIGMOD 2013 article by Microsoft
 Hekaton Whitepaper by Kalen Delaney
 High-Performance Concurrency Control Mechanisms for Main-Memory
Databases, Microsoft Research
 SQL Server 2014 - MSDN Online Documentation
 Blog articles by Bob Beauchemin
 Getting Started with SQL Server 2014 In-Memory OLTP (SQL Server
Team blog)
 Additional links
 Oracle TimesTen FAQs
 SQL Server In Memory Set up and Demos (My Blog)

More Related Content

What's hot

Right-Sizing your SQL Server Virtual Machine
Right-Sizing your SQL Server Virtual MachineRight-Sizing your SQL Server Virtual Machine
Right-Sizing your SQL Server Virtual Machine
heraflux
 
Powering GIS Application with PostgreSQL and Postgres Plus
Powering GIS Application with PostgreSQL and Postgres Plus Powering GIS Application with PostgreSQL and Postgres Plus
Powering GIS Application with PostgreSQL and Postgres Plus
Ashnikbiz
 
The roadmap for sql server 2019
The roadmap for sql server 2019The roadmap for sql server 2019
The roadmap for sql server 2019
Javier Villegas
 
Building diagnostic queries using DMVs and DMFs
Building diagnostic queries using DMVs and DMFs Building diagnostic queries using DMVs and DMFs
Building diagnostic queries using DMVs and DMFs
Antonios Chatzipavlis
 
An introduction to SQL Server in-memory OLTP Engine
An introduction to SQL Server in-memory OLTP EngineAn introduction to SQL Server in-memory OLTP Engine
An introduction to SQL Server in-memory OLTP Engine
Krishnakumar S
 
An introduction into Oracle VM V3.x
An introduction into Oracle VM V3.xAn introduction into Oracle VM V3.x
An introduction into Oracle VM V3.x
Marco Gralike
 
Always on in sql server 2017
Always on in sql server 2017Always on in sql server 2017
Always on in sql server 2017
Gianluca Hotz
 
Running E-Business Suite Database on Oracle Database Appliance
Running E-Business Suite Database on Oracle Database ApplianceRunning E-Business Suite Database on Oracle Database Appliance
Running E-Business Suite Database on Oracle Database Appliance
Maris Elsins
 
Technical Introduction to PostgreSQL and PPAS
Technical Introduction to PostgreSQL and PPASTechnical Introduction to PostgreSQL and PPAS
Technical Introduction to PostgreSQL and PPAS
Ashnikbiz
 
SQL Server Modernization
SQL Server ModernizationSQL Server Modernization
SQL Server Modernization
Gianluca Hotz
 
MySQL 5.6 Performance
MySQL 5.6 PerformanceMySQL 5.6 Performance
MySQL 5.6 PerformanceMYXPLAIN
 
KoprowskiT_Session2_SDNEvent_SourceControlForDBA
KoprowskiT_Session2_SDNEvent_SourceControlForDBAKoprowskiT_Session2_SDNEvent_SourceControlForDBA
KoprowskiT_Session2_SDNEvent_SourceControlForDBA
Tobias Koprowski
 
The InnoDB Storage Engine for MySQL
The InnoDB Storage Engine for MySQLThe InnoDB Storage Engine for MySQL
The InnoDB Storage Engine for MySQLMorgan Tocker
 
KoprowskiT - SQLBITS X - 2am a disaster just began
KoprowskiT - SQLBITS X - 2am a disaster just beganKoprowskiT - SQLBITS X - 2am a disaster just began
KoprowskiT - SQLBITS X - 2am a disaster just beganTobias Koprowski
 
SQL Server 2019 CTP 2.5
SQL Server 2019 CTP 2.5SQL Server 2019 CTP 2.5
SQL Server 2019 CTP 2.5
Gianluca Hotz
 
Product Update: EDB Postgres Platform 2017
Product Update: EDB Postgres Platform 2017Product Update: EDB Postgres Platform 2017
Product Update: EDB Postgres Platform 2017
EDB
 
EDB Postgres DBA Best Practices
EDB Postgres DBA Best PracticesEDB Postgres DBA Best Practices
EDB Postgres DBA Best Practices
EDB
 
Le novità di sql server 2019
Le novità di sql server 2019Le novità di sql server 2019
Le novità di sql server 2019
Gianluca Hotz
 
PGConf.ASIA 2019 Bali - Upcoming Features in PostgreSQL 12 - John Naylor
PGConf.ASIA 2019 Bali - Upcoming Features in PostgreSQL 12 - John NaylorPGConf.ASIA 2019 Bali - Upcoming Features in PostgreSQL 12 - John Naylor
PGConf.ASIA 2019 Bali - Upcoming Features in PostgreSQL 12 - John Naylor
Equnix Business Solutions
 
44spotkaniePLSSUGWRO_CoNowegowKrainieChmur
44spotkaniePLSSUGWRO_CoNowegowKrainieChmur44spotkaniePLSSUGWRO_CoNowegowKrainieChmur
44spotkaniePLSSUGWRO_CoNowegowKrainieChmur
Tobias Koprowski
 

What's hot (20)

Right-Sizing your SQL Server Virtual Machine
Right-Sizing your SQL Server Virtual MachineRight-Sizing your SQL Server Virtual Machine
Right-Sizing your SQL Server Virtual Machine
 
Powering GIS Application with PostgreSQL and Postgres Plus
Powering GIS Application with PostgreSQL and Postgres Plus Powering GIS Application with PostgreSQL and Postgres Plus
Powering GIS Application with PostgreSQL and Postgres Plus
 
The roadmap for sql server 2019
The roadmap for sql server 2019The roadmap for sql server 2019
The roadmap for sql server 2019
 
Building diagnostic queries using DMVs and DMFs
Building diagnostic queries using DMVs and DMFs Building diagnostic queries using DMVs and DMFs
Building diagnostic queries using DMVs and DMFs
 
An introduction to SQL Server in-memory OLTP Engine
An introduction to SQL Server in-memory OLTP EngineAn introduction to SQL Server in-memory OLTP Engine
An introduction to SQL Server in-memory OLTP Engine
 
An introduction into Oracle VM V3.x
An introduction into Oracle VM V3.xAn introduction into Oracle VM V3.x
An introduction into Oracle VM V3.x
 
Always on in sql server 2017
Always on in sql server 2017Always on in sql server 2017
Always on in sql server 2017
 
Running E-Business Suite Database on Oracle Database Appliance
Running E-Business Suite Database on Oracle Database ApplianceRunning E-Business Suite Database on Oracle Database Appliance
Running E-Business Suite Database on Oracle Database Appliance
 
Technical Introduction to PostgreSQL and PPAS
Technical Introduction to PostgreSQL and PPASTechnical Introduction to PostgreSQL and PPAS
Technical Introduction to PostgreSQL and PPAS
 
SQL Server Modernization
SQL Server ModernizationSQL Server Modernization
SQL Server Modernization
 
MySQL 5.6 Performance
MySQL 5.6 PerformanceMySQL 5.6 Performance
MySQL 5.6 Performance
 
KoprowskiT_Session2_SDNEvent_SourceControlForDBA
KoprowskiT_Session2_SDNEvent_SourceControlForDBAKoprowskiT_Session2_SDNEvent_SourceControlForDBA
KoprowskiT_Session2_SDNEvent_SourceControlForDBA
 
The InnoDB Storage Engine for MySQL
The InnoDB Storage Engine for MySQLThe InnoDB Storage Engine for MySQL
The InnoDB Storage Engine for MySQL
 
KoprowskiT - SQLBITS X - 2am a disaster just began
KoprowskiT - SQLBITS X - 2am a disaster just beganKoprowskiT - SQLBITS X - 2am a disaster just began
KoprowskiT - SQLBITS X - 2am a disaster just began
 
SQL Server 2019 CTP 2.5
SQL Server 2019 CTP 2.5SQL Server 2019 CTP 2.5
SQL Server 2019 CTP 2.5
 
Product Update: EDB Postgres Platform 2017
Product Update: EDB Postgres Platform 2017Product Update: EDB Postgres Platform 2017
Product Update: EDB Postgres Platform 2017
 
EDB Postgres DBA Best Practices
EDB Postgres DBA Best PracticesEDB Postgres DBA Best Practices
EDB Postgres DBA Best Practices
 
Le novità di sql server 2019
Le novità di sql server 2019Le novità di sql server 2019
Le novità di sql server 2019
 
PGConf.ASIA 2019 Bali - Upcoming Features in PostgreSQL 12 - John Naylor
PGConf.ASIA 2019 Bali - Upcoming Features in PostgreSQL 12 - John NaylorPGConf.ASIA 2019 Bali - Upcoming Features in PostgreSQL 12 - John Naylor
PGConf.ASIA 2019 Bali - Upcoming Features in PostgreSQL 12 - John Naylor
 
44spotkaniePLSSUGWRO_CoNowegowKrainieChmur
44spotkaniePLSSUGWRO_CoNowegowKrainieChmur44spotkaniePLSSUGWRO_CoNowegowKrainieChmur
44spotkaniePLSSUGWRO_CoNowegowKrainieChmur
 

Viewers also liked

Microsoft SQL Server internals & architecture
Microsoft SQL Server internals & architectureMicrosoft SQL Server internals & architecture
Microsoft SQL Server internals & architecture
Kevin Kline
 
SQL Server 2014 Hybrid Cloud Features
SQL Server 2014 Hybrid Cloud FeaturesSQL Server 2014 Hybrid Cloud Features
SQL Server 2014 Hybrid Cloud FeaturesGuillermo Caicedo
 
TechEd 2011 | Microsoft SQL Server Private Cloud
TechEd 2011 | Microsoft SQL Server Private CloudTechEd 2011 | Microsoft SQL Server Private Cloud
TechEd 2011 | Microsoft SQL Server Private Cloud
sqlserver1
 
Microsoft India - Total Economic Impact of Microsoft SQL Server 2008 Upgrade ...
Microsoft India - Total Economic Impact of Microsoft SQL Server 2008 Upgrade ...Microsoft India - Total Economic Impact of Microsoft SQL Server 2008 Upgrade ...
Microsoft India - Total Economic Impact of Microsoft SQL Server 2008 Upgrade ...
Microsoft Private Cloud
 
Sql Server 2008 Security Enhanments
Sql Server 2008 Security EnhanmentsSql Server 2008 Security Enhanments
Sql Server 2008 Security Enhanments
Eduardo Castro
 
1 introduction
1   introduction1   introduction
1 introductionNgeam Soly
 
Chapter 2: Ms SQL Server
Chapter 2: Ms SQL ServerChapter 2: Ms SQL Server
Chapter 2: Ms SQL ServerNgeam Soly
 
The 5 Hidden Performance Gems of SQL Server 2014
The 5 Hidden Performance Gems of SQL Server 2014The 5 Hidden Performance Gems of SQL Server 2014
The 5 Hidden Performance Gems of SQL Server 2014
Boris Hristov
 
SQL 2005 Memory Module
SQL 2005 Memory ModuleSQL 2005 Memory Module
SQL 2005 Memory Module
Fabrício Catae
 
Sql server infernals
Sql server infernalsSql server infernals
Sql server infernals
Gianluca Sartori
 
Memory management in sql server
Memory management in sql serverMemory management in sql server
Memory management in sql server
Prashant Kumar
 
Top 5 TSQL Improvements in SQL Server 2014
Top 5 TSQL Improvements in SQL Server 2014Top 5 TSQL Improvements in SQL Server 2014
Top 5 TSQL Improvements in SQL Server 2014
Boris Hristov
 
SQL Server 2014 New Features
SQL Server 2014 New FeaturesSQL Server 2014 New Features
SQL Server 2014 New Features
Onomi
 
Columnstore indexes in sql server 2014
Columnstore indexes in sql server 2014Columnstore indexes in sql server 2014
Columnstore indexes in sql server 2014
Antonios Chatzipavlis
 
Why SQL Server 2014 Cardinality Estimator is *the* killer feature
Why SQL Server 2014 Cardinality Estimator is *the* killer featureWhy SQL Server 2014 Cardinality Estimator is *the* killer feature
Why SQL Server 2014 Cardinality Estimator is *the* killer feature
SolarWinds
 
Chapter 3: ado.net
Chapter 3: ado.netChapter 3: ado.net
Chapter 3: ado.net
Ngeam Soly
 
Sql server 2016 new features
Sql server 2016 new featuresSql server 2016 new features
Sql server 2016 new features
Ajeet Singh
 
MS-SQL SERVER ARCHITECTURE
MS-SQL SERVER ARCHITECTUREMS-SQL SERVER ARCHITECTURE
MS-SQL SERVER ARCHITECTURE
Douglas Bernardini
 
DBMS - Normalization
DBMS - NormalizationDBMS - Normalization
DBMS - Normalization
Jitendra Tomar
 

Viewers also liked (20)

Microsoft SQL Server internals & architecture
Microsoft SQL Server internals & architectureMicrosoft SQL Server internals & architecture
Microsoft SQL Server internals & architecture
 
SQL Server 2014 Hybrid Cloud Features
SQL Server 2014 Hybrid Cloud FeaturesSQL Server 2014 Hybrid Cloud Features
SQL Server 2014 Hybrid Cloud Features
 
TechEd 2011 | Microsoft SQL Server Private Cloud
TechEd 2011 | Microsoft SQL Server Private CloudTechEd 2011 | Microsoft SQL Server Private Cloud
TechEd 2011 | Microsoft SQL Server Private Cloud
 
Microsoft India - Total Economic Impact of Microsoft SQL Server 2008 Upgrade ...
Microsoft India - Total Economic Impact of Microsoft SQL Server 2008 Upgrade ...Microsoft India - Total Economic Impact of Microsoft SQL Server 2008 Upgrade ...
Microsoft India - Total Economic Impact of Microsoft SQL Server 2008 Upgrade ...
 
Sql Server 2008 Security Enhanments
Sql Server 2008 Security EnhanmentsSql Server 2008 Security Enhanments
Sql Server 2008 Security Enhanments
 
1 introduction
1   introduction1   introduction
1 introduction
 
Chapter 2: Ms SQL Server
Chapter 2: Ms SQL ServerChapter 2: Ms SQL Server
Chapter 2: Ms SQL Server
 
The 5 Hidden Performance Gems of SQL Server 2014
The 5 Hidden Performance Gems of SQL Server 2014The 5 Hidden Performance Gems of SQL Server 2014
The 5 Hidden Performance Gems of SQL Server 2014
 
SQL 2005 Memory Module
SQL 2005 Memory ModuleSQL 2005 Memory Module
SQL 2005 Memory Module
 
Sql server infernals
Sql server infernalsSql server infernals
Sql server infernals
 
Memory management in sql server
Memory management in sql serverMemory management in sql server
Memory management in sql server
 
Top 5 TSQL Improvements in SQL Server 2014
Top 5 TSQL Improvements in SQL Server 2014Top 5 TSQL Improvements in SQL Server 2014
Top 5 TSQL Improvements in SQL Server 2014
 
SQL Server 2014 New Features
SQL Server 2014 New FeaturesSQL Server 2014 New Features
SQL Server 2014 New Features
 
Columnstore indexes in sql server 2014
Columnstore indexes in sql server 2014Columnstore indexes in sql server 2014
Columnstore indexes in sql server 2014
 
Why SQL Server 2014 Cardinality Estimator is *the* killer feature
Why SQL Server 2014 Cardinality Estimator is *the* killer featureWhy SQL Server 2014 Cardinality Estimator is *the* killer feature
Why SQL Server 2014 Cardinality Estimator is *the* killer feature
 
Chapter 3: ado.net
Chapter 3: ado.netChapter 3: ado.net
Chapter 3: ado.net
 
Sql server 2016 new features
Sql server 2016 new featuresSql server 2016 new features
Sql server 2016 new features
 
Visual Studio IDE
Visual Studio IDEVisual Studio IDE
Visual Studio IDE
 
MS-SQL SERVER ARCHITECTURE
MS-SQL SERVER ARCHITECTUREMS-SQL SERVER ARCHITECTURE
MS-SQL SERVER ARCHITECTURE
 
DBMS - Normalization
DBMS - NormalizationDBMS - Normalization
DBMS - Normalization
 

Similar to Sql Server 2014 In Memory

Novedades SQL Server 2014
Novedades SQL Server 2014Novedades SQL Server 2014
Novedades SQL Server 2014
netmind
 
SQL Server 2014 Mission Critical Performance - Level 300 Presentation
SQL Server 2014 Mission Critical Performance - Level 300 PresentationSQL Server 2014 Mission Critical Performance - Level 300 Presentation
SQL Server 2014 Mission Critical Performance - Level 300 Presentation
David J Rosenthal
 
In-memory ColumnStore Index
In-memory ColumnStore IndexIn-memory ColumnStore Index
In-memory ColumnStore Index
SolidQ
 
SQL Server It Just Runs Faster
SQL Server It Just Runs FasterSQL Server It Just Runs Faster
SQL Server It Just Runs Faster
Bob Ward
 
Sql server 2016 it just runs faster sql bits 2017 edition
Sql server 2016 it just runs faster   sql bits 2017 editionSql server 2016 it just runs faster   sql bits 2017 edition
Sql server 2016 it just runs faster sql bits 2017 edition
Bob Ward
 
Unity Connect - Getting SQL Spinning with SharePoint - Best Practices for the...
Unity Connect - Getting SQL Spinning with SharePoint - Best Practices for the...Unity Connect - Getting SQL Spinning with SharePoint - Best Practices for the...
Unity Connect - Getting SQL Spinning with SharePoint - Best Practices for the...
Knut Relbe-Moe [MVP, MCT]
 
Reshape Data Lake (as of 2020.07)
Reshape Data Lake (as of 2020.07)Reshape Data Lake (as of 2020.07)
Reshape Data Lake (as of 2020.07)
Eric Sun
 
SQL Server In-Memory OLTP Migration Overview
SQL Server In-Memory OLTP Migration OverviewSQL Server In-Memory OLTP Migration Overview
SQL Server In-Memory OLTP Migration Overview
Jose Rivera Miranda
 
SPSMadrid Get sql spinning with SharePoint. Best practice for the back end
SPSMadrid Get sql spinning with SharePoint. Best practice for the back endSPSMadrid Get sql spinning with SharePoint. Best practice for the back end
SPSMadrid Get sql spinning with SharePoint. Best practice for the back end
Knut Relbe-Moe [MVP, MCT]
 
Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...
Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...
Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...
javier ramirez
 
Hekaton introduction for .Net developers
Hekaton introduction for .Net developersHekaton introduction for .Net developers
Hekaton introduction for .Net developers
Shy Engelberg
 
Pass chapter meeting dec 2013 - compression a hidden gem for io heavy databas...
Pass chapter meeting dec 2013 - compression a hidden gem for io heavy databas...Pass chapter meeting dec 2013 - compression a hidden gem for io heavy databas...
Pass chapter meeting dec 2013 - compression a hidden gem for io heavy databas...
Charley Hanania
 
VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld 2013: Virtualizing Databases: Doing IT Right VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld
 
Design Principles for a Modern Data Warehouse
Design Principles for a Modern Data WarehouseDesign Principles for a Modern Data Warehouse
Design Principles for a Modern Data Warehouse
Rob Winters
 
Taking SharePoint to the Cloud
Taking SharePoint to the CloudTaking SharePoint to the Cloud
Taking SharePoint to the Cloud
Aaron Saikovski
 
Oracle DB In-Memory technologie v kombinaci s procesorem M7
Oracle DB In-Memory technologie v kombinaci s procesorem M7Oracle DB In-Memory technologie v kombinaci s procesorem M7
Oracle DB In-Memory technologie v kombinaci s procesorem M7
MarketingArrowECS_CZ
 
Expert summit SQL Server 2016
Expert summit   SQL Server 2016Expert summit   SQL Server 2016
Expert summit SQL Server 2016
Łukasz Grala
 
SQL Server 2019 CTP2.4
SQL Server 2019 CTP2.4SQL Server 2019 CTP2.4
SQL Server 2019 CTP2.4
Gianluca Hotz
 
SQL Server 2016 New Features and Enhancements
SQL Server 2016 New Features and EnhancementsSQL Server 2016 New Features and Enhancements
SQL Server 2016 New Features and Enhancements
John Martin
 
ORACLE 12C-New-Features
ORACLE 12C-New-FeaturesORACLE 12C-New-Features
ORACLE 12C-New-FeaturesNavneet Upneja
 

Similar to Sql Server 2014 In Memory (20)

Novedades SQL Server 2014
Novedades SQL Server 2014Novedades SQL Server 2014
Novedades SQL Server 2014
 
SQL Server 2014 Mission Critical Performance - Level 300 Presentation
SQL Server 2014 Mission Critical Performance - Level 300 PresentationSQL Server 2014 Mission Critical Performance - Level 300 Presentation
SQL Server 2014 Mission Critical Performance - Level 300 Presentation
 
In-memory ColumnStore Index
In-memory ColumnStore IndexIn-memory ColumnStore Index
In-memory ColumnStore Index
 
SQL Server It Just Runs Faster
SQL Server It Just Runs FasterSQL Server It Just Runs Faster
SQL Server It Just Runs Faster
 
Sql server 2016 it just runs faster sql bits 2017 edition
Sql server 2016 it just runs faster   sql bits 2017 editionSql server 2016 it just runs faster   sql bits 2017 edition
Sql server 2016 it just runs faster sql bits 2017 edition
 
Unity Connect - Getting SQL Spinning with SharePoint - Best Practices for the...
Unity Connect - Getting SQL Spinning with SharePoint - Best Practices for the...Unity Connect - Getting SQL Spinning with SharePoint - Best Practices for the...
Unity Connect - Getting SQL Spinning with SharePoint - Best Practices for the...
 
Reshape Data Lake (as of 2020.07)
Reshape Data Lake (as of 2020.07)Reshape Data Lake (as of 2020.07)
Reshape Data Lake (as of 2020.07)
 
SQL Server In-Memory OLTP Migration Overview
SQL Server In-Memory OLTP Migration OverviewSQL Server In-Memory OLTP Migration Overview
SQL Server In-Memory OLTP Migration Overview
 
SPSMadrid Get sql spinning with SharePoint. Best practice for the back end
SPSMadrid Get sql spinning with SharePoint. Best practice for the back endSPSMadrid Get sql spinning with SharePoint. Best practice for the back end
SPSMadrid Get sql spinning with SharePoint. Best practice for the back end
 
Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...
Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...
Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...
 
Hekaton introduction for .Net developers
Hekaton introduction for .Net developersHekaton introduction for .Net developers
Hekaton introduction for .Net developers
 
Pass chapter meeting dec 2013 - compression a hidden gem for io heavy databas...
Pass chapter meeting dec 2013 - compression a hidden gem for io heavy databas...Pass chapter meeting dec 2013 - compression a hidden gem for io heavy databas...
Pass chapter meeting dec 2013 - compression a hidden gem for io heavy databas...
 
VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld 2013: Virtualizing Databases: Doing IT Right VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld 2013: Virtualizing Databases: Doing IT Right
 
Design Principles for a Modern Data Warehouse
Design Principles for a Modern Data WarehouseDesign Principles for a Modern Data Warehouse
Design Principles for a Modern Data Warehouse
 
Taking SharePoint to the Cloud
Taking SharePoint to the CloudTaking SharePoint to the Cloud
Taking SharePoint to the Cloud
 
Oracle DB In-Memory technologie v kombinaci s procesorem M7
Oracle DB In-Memory technologie v kombinaci s procesorem M7Oracle DB In-Memory technologie v kombinaci s procesorem M7
Oracle DB In-Memory technologie v kombinaci s procesorem M7
 
Expert summit SQL Server 2016
Expert summit   SQL Server 2016Expert summit   SQL Server 2016
Expert summit SQL Server 2016
 
SQL Server 2019 CTP2.4
SQL Server 2019 CTP2.4SQL Server 2019 CTP2.4
SQL Server 2019 CTP2.4
 
SQL Server 2016 New Features and Enhancements
SQL Server 2016 New Features and EnhancementsSQL Server 2016 New Features and Enhancements
SQL Server 2016 New Features and Enhancements
 
ORACLE 12C-New-Features
ORACLE 12C-New-FeaturesORACLE 12C-New-Features
ORACLE 12C-New-Features
 

More from Ravi Okade

Preparing for AWS certified solutions architect associate exam (saa-c02)
Preparing for AWS certified solutions architect associate exam (saa-c02)Preparing for AWS certified solutions architect associate exam (saa-c02)
Preparing for AWS certified solutions architect associate exam (saa-c02)
Ravi Okade
 
Azure blockchain service
Azure blockchain serviceAzure blockchain service
Azure blockchain service
Ravi Okade
 
Are you writing acceptance test yet?
Are you writing acceptance test yet?Are you writing acceptance test yet?
Are you writing acceptance test yet?
Ravi Okade
 
License plate detection using cloud api's
License plate detection using cloud api'sLicense plate detection using cloud api's
License plate detection using cloud api's
Ravi Okade
 
The twelve factor app
The twelve factor appThe twelve factor app
The twelve factor app
Ravi Okade
 
ZeroMq ZooKeeper and FlatBuffers
ZeroMq ZooKeeper and FlatBuffersZeroMq ZooKeeper and FlatBuffers
ZeroMq ZooKeeper and FlatBuffers
Ravi Okade
 
Optimizing Application Architecture (.NET/Java topics)
Optimizing Application Architecture (.NET/Java topics)Optimizing Application Architecture (.NET/Java topics)
Optimizing Application Architecture (.NET/Java topics)Ravi Okade
 
Dot Net Application Monitoring
Dot Net Application MonitoringDot Net Application Monitoring
Dot Net Application Monitoring
Ravi Okade
 

More from Ravi Okade (8)

Preparing for AWS certified solutions architect associate exam (saa-c02)
Preparing for AWS certified solutions architect associate exam (saa-c02)Preparing for AWS certified solutions architect associate exam (saa-c02)
Preparing for AWS certified solutions architect associate exam (saa-c02)
 
Azure blockchain service
Azure blockchain serviceAzure blockchain service
Azure blockchain service
 
Are you writing acceptance test yet?
Are you writing acceptance test yet?Are you writing acceptance test yet?
Are you writing acceptance test yet?
 
License plate detection using cloud api's
License plate detection using cloud api'sLicense plate detection using cloud api's
License plate detection using cloud api's
 
The twelve factor app
The twelve factor appThe twelve factor app
The twelve factor app
 
ZeroMq ZooKeeper and FlatBuffers
ZeroMq ZooKeeper and FlatBuffersZeroMq ZooKeeper and FlatBuffers
ZeroMq ZooKeeper and FlatBuffers
 
Optimizing Application Architecture (.NET/Java topics)
Optimizing Application Architecture (.NET/Java topics)Optimizing Application Architecture (.NET/Java topics)
Optimizing Application Architecture (.NET/Java topics)
 
Dot Net Application Monitoring
Dot Net Application MonitoringDot Net Application Monitoring
Dot Net Application Monitoring
 

Recently uploaded

The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 

Recently uploaded (20)

The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 

Sql Server 2014 In Memory

  • 2. Agenda  Why do you need it ?  How it is done  Benefits  Limitations
  • 3. Why do you need a new architecture ?  In-Memory  Memory is cheap  Servers have HUGE memory  Some data is hot  Traditional page based architecture has limitations, even when all pages are in memory  Native Compilation, Lock-less architecture  Individual cores are not getting any faster  While number of cores is increasing, Parallel processing has its limits due to lock contention  You cannot scale linearly by adding more cores
  • 4. Comparable Products and Technologies  Similar Products  Oracle TimesTen  Sybase ASE  Other technologies with some similarities  Distributed Cache ○ Oracle Coherence is one of many distributed cache’s that support query language (CQL). It can also persist to Oracle. Another example with similar capabilities is Gigaspaces  NoSQL Databases ○ Most NoSQL databases support distributed querying and aggressively cache data (e.g. MongoDB)
  • 5. What it all means..
  • 6. Use Cases  Hot tables – frequent inserts and updates, but queried heavily e.g:  Stock Trading applications  Patient Vital Stats  Flight information (live)  Transient data e.g.:  Web Session data  Stock Market data  Need for High speed OLTP queries
  • 7. In-memory Architecture  Main Concepts  In-memory  Lock free (row versions)  Native compiled stored procedures  Data storage optimizations  Memory optimized data structures  Transaction log optimization (block writes, no undo)  Data file Optimization (Sequential writes, Merging)  Index optimization (Only in-memory, Not persisted to disk, no tx logging)  No TempDB  Garbage collection optimization (huh?)  Non-durable option (Not persisted to disk)
  • 8. In Memory – Myths and Realities  Myth: In-Memory OLTP is the same as DBCC PINTABLE  Reality: In-Memory OLTP uses a completely new design built from the ground up.  Myth: If SQL Server crashes all data is lost  Reality: No – it is persisted to disk and is fully recoverable.
  • 9. SQL Server 2014 In-Memory Architecture SQL Server Integration • Same manageability, administration & development experience • Integrated queries & transactions • Integrated HA and backup/restore Main-Memory Optimized • Optimized for in-memory data • Indexes (hash and range) exist only in memory • No buffer pool, B-trees • Stream-based storage T-SQL Compiled to Machine Code • T-SQL compiled to machine code via C code generator and VC • Invoking a procedure is just a DLL entry-point • Aggressive optimizations @ compile-time High Concurrency • Multi-version optimistic concurrency control with full ACID support • Core engine uses lock-free algorithms • No lock manager, latches or spinlocks
  • 11. Memory Management  Table data resides in memory at all times.  No paging.  Must configure SQL box with sufficient memory to store memory-optimized tables. Max supported 512GB  Failure to allocate memory will fail transactional workload at run-time
  • 12. In-Memory Data Structures  Rows  New row format ○ Structure of the row is optimized for in-memory residency and access.  One copy of row ○ Indexes point to rows, they do not duplicate them.  Indexes  Hash Index for equality search  memory-optimized B-tree for range and equality search (In CTP2)  Do not exist on disk – recreated during recovery.
  • 13. In Memory – Table DDL: Need filestream filegroup FILEGROUP [Hekaton_DB_hk_fs_fg] CONTAINS MEMORY_OPTIMIZED_DATA (NAME = [Hekaton_DB_hk_fs_dir], FILENAME = 'C:Hekaton_testsqlservrdataHekaton_DB_hk_fs_dir')
  • 14.
  • 15. Table creation internals CREATE TABLE DDL Code generation and compilation Table DLL produced Table DLL loaded
  • 16. Table Storage  Filestream is the underlying storage mechanism  Data files  Store inserted records  Data written only upon Tx commit  Delta files  Store deleted records (updates are an insert/delete pair)
  • 17. Transaction Logging  Uses SQL transaction log to store content  All logging is logical  No log records for physical structure modifications.  No index-specific / index-maintenance log records.  No UNDO information is logged
  • 18. Native Compiled Stored Procedures  Compiled to C language and compiled into a dll using VC  Optimized aggressively at compile time  Can only access In-memory tables  Not all T-SQL constructs and functions supported  No alter procedure – must drop and recreate
  • 19. Procedure Creation CREATE PROC DDL Query optimization Code generation and compilation Procedure DLL produced Procedure DLL loaded
  • 20.
  • 21. Using Row Versions for Lock free architecture  SQL Server 2014 In Memory DB has no locks (period).  Row versions are used to maintain updates  No TempDB  Row Versions which are no longer referenced are garbage collected.  Supports Snapshot, Repeatable Read and Serializable Isolation levels
  • 22. Transaction Isolation Levels  SNAPSHOT  Reads are consistent as of start of the transaction  Writes are always consistent  REPEATABLE READ  Read operations yield same row versions if repeated at commit time  SERIALIZABLE  Transaction is executed as if there are no concurrent transactions – all actions happen at a single serialization point (commit time)
  • 24. Benefits  Uses Commodity Hardware  Works seamlessly with current SQL Server objects  Yes, it is still ACID compliant  Yes, you can mix in-memory and disk based tables in the same database  Yes, your transactions can span in-memory and disk based tables  No, you cannot have partial in-memory tables  Yes, it has to fit in-memory 100%, forever.  Yes, you can limit how much memory is used by the in-memory tables (think resource pools) (not in CTP1)  Yes, you can have high availability
  • 25. Limitations  Row Sizes can’t be larger than 8060 bytes (incl. Variable Length Columns)  LOB, XML Data Types are not supported  No Foreign Key and Check Constraints  No IDENTITY, SEQUENCE  No DML Triggers  No ALTER Table (Need to recreate table)  No Add/Remove Index (Need to recreate table)  No diff backups  Indexes are rebuilt (consider startup time)  Disk files are merged while being loaded  Running out of memory
  • 26. CTP1 Limitations  No B-Tree index (used for range search)  No Resource Pools  No always on
  • 27. Demo  Performance against disk based table  Performance with native sproc  Number of Tx records written disk vs memory  Northwind example  [TBD] Dealing with transactions  [TBD] Performance of T-SQL/Interop sprocs with In memory tables  [TBD] Disk files and merging ?  [TBD] Backup, Tx log backup; no diff backups
  • 28. More information  Tech-ed SQL Server 2014 Videos  Microsoft SQL Server In-Memory OLTP: Overview of Project “Hekaton”  Microsoft SQL Server In-Memory OLTP Project “Hekaton”: App Dev Deep Dive  Microsoft SQL Server In-Memory OLTP Project “Hekaton”: Management Deep Dive  Microsoft SQL Server 2014 In-Memory OLTP: Overview  SQL Server In-Memory OLTP: DB Developer Deep Dive  SQL Server In-Memory OLTP: DBA Deep Dive  SIGMOD 2013 article by Microsoft  Hekaton Whitepaper by Kalen Delaney  High-Performance Concurrency Control Mechanisms for Main-Memory Databases, Microsoft Research  SQL Server 2014 - MSDN Online Documentation  Blog articles by Bob Beauchemin  Getting Started with SQL Server 2014 In-Memory OLTP (SQL Server Team blog)  Additional links  Oracle TimesTen FAQs  SQL Server In Memory Set up and Demos (My Blog)