SlideShare a Scribd company logo
1 of 14
SQL Server 2014
Hekaton – In Memory Tables
Davide Mauri
dmauri@solidq.com
PILLS SPONSORS
Davide Mauri
18 Years of experience on the SQL Server Platform
Specialized in Data Solution Architecture, Database
Design, Performance Tuning, Business Intelligence
Projects, Consulting, Mentoring & Training
Regular Speaker @ SQL Server events
Microsoft SQL Server MVP
President of UGISS (Italian SQL Server UG)
Mentor @ SolidQ
Hekaton – In Memory Tables
SQL Server 2014 introduce un in-memory engine in SQL
Server
E‟ possibile indicare che una tabella deve essere
ottimizzata per rimanere in memoria
Ottimizzata = Nuove strutture dati, utilizzo di MultiVersion
Concurrency Control per non avere locking
Hekaton – In Memory Tables
Performance estreme!
A parità di hardware si possono ottenere performance di
un ordine di grandezza superiore!
How Fast is Project Codenamed “Hekaton” – It‟s „Wicked
Fast‟!
Da 15.000 tps a 250.000 tps!
Hekaton – In Memory Tables
Hekaton – In Memory Tables
Memory_Optimized = On
Non vengono più utilizzati Extent e Pagine, ma Data Files
e Delta Files
I dati sono memorizzati in un formato nuovo, che usa il
FileStream
Hekaton – In Memory Tables
Durability
E‟ possibile decidere se persistere i dati oppure no
SCHEMA_AND_DATA
SCHEMA_ONLY

Il Transaction Log garantisce le proprietà ACID
Hekaton – In Memory Tables
Tipi di dati supportati
bit
tinyint, smallint, int, bigint
money, smallmoney
float, real
datetime, smalldatetime, datetime2, date, time
numeric and decimal types
Uniqueidentifier
Hekaton – In Memory Tables
Tipi di dati supportati ad esclusione dei LOB
(varxxx(MAX))
char(n), varchar(n), nchar(n), nvarchar(n)
binary(n), varbinary(n)
Hekaton – In Memory Tables
Altri limiti
No DML triggers
No FOREIGN KEY o CHECK constraints
No IDENTITY columns
No UNIQUE indexes (ad esclusione della PRIMARY KEY
)
Massimo 8 indici in totale
Hekaton – In Memory Tables
Hekaton – In Memory Tables
Nelle prossime puntate…
Indici specifici per Hekaton
Range & BW-Trees
Il modello MultiVersion Concurrency Control
Lock Free
Grazie!
Trovi altri video su:
www.ugiss.org/sql-server-2014pills

More Related Content

Similar to Hekaton: In-memory tables

[ITA] SQL Saturday 257 - Put databases under source control
[ITA] SQL Saturday 257 - Put databases under source control[ITA] SQL Saturday 257 - Put databases under source control
[ITA] SQL Saturday 257 - Put databases under source controlAlessandro Alpi
 
PRESENTAZIONE ERP "BUSINESS .NET" by Team Memores Computer spa
PRESENTAZIONE ERP "BUSINESS .NET" by Team Memores Computer spaPRESENTAZIONE ERP "BUSINESS .NET" by Team Memores Computer spa
PRESENTAZIONE ERP "BUSINESS .NET" by Team Memores Computer spateammemores
 
Ms sql server 2005 - Upgrading to microsoft sql server 2005 - Scheda corso LEN
Ms sql server 2005 - Upgrading to microsoft sql server 2005 - Scheda corso LENMs sql server 2005 - Upgrading to microsoft sql server 2005 - Scheda corso LEN
Ms sql server 2005 - Upgrading to microsoft sql server 2005 - Scheda corso LENLEN Learning Education Network
 
Amministrazione db microsoft sql server 2000 - Scheda corso LEN
Amministrazione db microsoft sql server 2000 - Scheda corso LENAmministrazione db microsoft sql server 2000 - Scheda corso LEN
Amministrazione db microsoft sql server 2000 - Scheda corso LENLEN Learning Education Network
 
Oracle Business Analytics & Alfa Sistemi
Oracle Business Analytics & Alfa SistemiOracle Business Analytics & Alfa Sistemi
Oracle Business Analytics & Alfa SistemiFabio Cuberli
 
Ibm storwize v7000 unified disk system
Ibm storwize v7000 unified disk systemIbm storwize v7000 unified disk system
Ibm storwize v7000 unified disk systemPRAGMA PROGETTI
 
Costruire una chain of custody del software - una guida per Cto Cio Devops
Costruire una chain of custody del software - una guida per Cto Cio DevopsCostruire una chain of custody del software - una guida per Cto Cio Devops
Costruire una chain of custody del software - una guida per Cto Cio DevopsEmerasoft, solutions to collaborate
 
Confio Ignite - webinar by Matteo Durighetto
Confio Ignite - webinar by Matteo DurighettoConfio Ignite - webinar by Matteo Durighetto
Confio Ignite - webinar by Matteo DurighettoMiriade Spa
 
Quick intro sul Source Control su SQL Server
Quick intro sul Source Control su SQL ServerQuick intro sul Source Control su SQL Server
Quick intro sul Source Control su SQL ServerAlessandro Alpi
 
Database under source control
Database under source controlDatabase under source control
Database under source controlKlab
 
Il percorso verso un real-time business
Il percorso verso un real-time businessIl percorso verso un real-time business
Il percorso verso un real-time businessDedagroup
 
Achieving The Efficient Enterprise Developing Virtualization Strategies
Achieving The Efficient Enterprise  Developing Virtualization StrategiesAchieving The Efficient Enterprise  Developing Virtualization Strategies
Achieving The Efficient Enterprise Developing Virtualization StrategiesNuova Periodici
 
Windows azure - abbattere tempi e costi di sviluppo
Windows azure - abbattere tempi e costi di sviluppoWindows azure - abbattere tempi e costi di sviluppo
Windows azure - abbattere tempi e costi di sviluppoAndrea Dottor
 
Azure PaaS databases
Azure PaaS databasesAzure PaaS databases
Azure PaaS databasesGianluca Hotz
 
Case Study Microsoft Tacconi
Case Study Microsoft TacconiCase Study Microsoft Tacconi
Case Study Microsoft Tacconistefanomcp
 
Microsoft - Caso Di Successo Gruppo Tacconi Spa
Microsoft - Caso Di Successo Gruppo Tacconi SpaMicrosoft - Caso Di Successo Gruppo Tacconi Spa
Microsoft - Caso Di Successo Gruppo Tacconi SpaIstante Srl
 

Similar to Hekaton: In-memory tables (20)

Gen9 - Domande frequenti
Gen9 - Domande frequentiGen9 - Domande frequenti
Gen9 - Domande frequenti
 
[ITA] SQL Saturday 257 - Put databases under source control
[ITA] SQL Saturday 257 - Put databases under source control[ITA] SQL Saturday 257 - Put databases under source control
[ITA] SQL Saturday 257 - Put databases under source control
 
Power bi
Power biPower bi
Power bi
 
Alfresco Day Roma 2015: TAI
Alfresco Day Roma 2015: TAIAlfresco Day Roma 2015: TAI
Alfresco Day Roma 2015: TAI
 
PRESENTAZIONE ERP "BUSINESS .NET" by Team Memores Computer spa
PRESENTAZIONE ERP "BUSINESS .NET" by Team Memores Computer spaPRESENTAZIONE ERP "BUSINESS .NET" by Team Memores Computer spa
PRESENTAZIONE ERP "BUSINESS .NET" by Team Memores Computer spa
 
Ms sql server 2005 - Upgrading to microsoft sql server 2005 - Scheda corso LEN
Ms sql server 2005 - Upgrading to microsoft sql server 2005 - Scheda corso LENMs sql server 2005 - Upgrading to microsoft sql server 2005 - Scheda corso LEN
Ms sql server 2005 - Upgrading to microsoft sql server 2005 - Scheda corso LEN
 
Amministrazione db microsoft sql server 2000 - Scheda corso LEN
Amministrazione db microsoft sql server 2000 - Scheda corso LENAmministrazione db microsoft sql server 2000 - Scheda corso LEN
Amministrazione db microsoft sql server 2000 - Scheda corso LEN
 
Oracle Business Analytics & Alfa Sistemi
Oracle Business Analytics & Alfa SistemiOracle Business Analytics & Alfa Sistemi
Oracle Business Analytics & Alfa Sistemi
 
Ibm storwize v7000 unified disk system
Ibm storwize v7000 unified disk systemIbm storwize v7000 unified disk system
Ibm storwize v7000 unified disk system
 
Costruire una chain of custody del software - una guida per Cto Cio Devops
Costruire una chain of custody del software - una guida per Cto Cio DevopsCostruire una chain of custody del software - una guida per Cto Cio Devops
Costruire una chain of custody del software - una guida per Cto Cio Devops
 
Confio Ignite - webinar by Matteo Durighetto
Confio Ignite - webinar by Matteo DurighettoConfio Ignite - webinar by Matteo Durighetto
Confio Ignite - webinar by Matteo Durighetto
 
Quick intro sul Source Control su SQL Server
Quick intro sul Source Control su SQL ServerQuick intro sul Source Control su SQL Server
Quick intro sul Source Control su SQL Server
 
Database under source control
Database under source controlDatabase under source control
Database under source control
 
Evento PostgreSQL, Milano 6 Marzo 2014
Evento PostgreSQL, Milano 6 Marzo 2014Evento PostgreSQL, Milano 6 Marzo 2014
Evento PostgreSQL, Milano 6 Marzo 2014
 
Il percorso verso un real-time business
Il percorso verso un real-time businessIl percorso verso un real-time business
Il percorso verso un real-time business
 
Achieving The Efficient Enterprise Developing Virtualization Strategies
Achieving The Efficient Enterprise  Developing Virtualization StrategiesAchieving The Efficient Enterprise  Developing Virtualization Strategies
Achieving The Efficient Enterprise Developing Virtualization Strategies
 
Windows azure - abbattere tempi e costi di sviluppo
Windows azure - abbattere tempi e costi di sviluppoWindows azure - abbattere tempi e costi di sviluppo
Windows azure - abbattere tempi e costi di sviluppo
 
Azure PaaS databases
Azure PaaS databasesAzure PaaS databases
Azure PaaS databases
 
Case Study Microsoft Tacconi
Case Study Microsoft TacconiCase Study Microsoft Tacconi
Case Study Microsoft Tacconi
 
Microsoft - Caso Di Successo Gruppo Tacconi Spa
Microsoft - Caso Di Successo Gruppo Tacconi SpaMicrosoft - Caso Di Successo Gruppo Tacconi Spa
Microsoft - Caso Di Successo Gruppo Tacconi Spa
 

More from Davide Mauri

Azure serverless Full-Stack kickstart
Azure serverless Full-Stack kickstartAzure serverless Full-Stack kickstart
Azure serverless Full-Stack kickstartDavide Mauri
 
Agile Data Warehousing
Agile Data WarehousingAgile Data Warehousing
Agile Data WarehousingDavide Mauri
 
Dapper: the microORM that will change your life
Dapper: the microORM that will change your lifeDapper: the microORM that will change your life
Dapper: the microORM that will change your lifeDavide Mauri
 
When indexes are not enough
When indexes are not enoughWhen indexes are not enough
When indexes are not enoughDavide Mauri
 
Building a Real-Time IoT monitoring application with Azure
Building a Real-Time IoT monitoring application with AzureBuilding a Real-Time IoT monitoring application with Azure
Building a Real-Time IoT monitoring application with AzureDavide Mauri
 
SSIS Monitoring Deep Dive
SSIS Monitoring Deep DiveSSIS Monitoring Deep Dive
SSIS Monitoring Deep DiveDavide Mauri
 
Azure SQL & SQL Server 2016 JSON
Azure SQL & SQL Server 2016 JSONAzure SQL & SQL Server 2016 JSON
Azure SQL & SQL Server 2016 JSONDavide Mauri
 
SQL Server & SQL Azure Temporal Tables - V2
SQL Server & SQL Azure Temporal Tables - V2SQL Server & SQL Azure Temporal Tables - V2
SQL Server & SQL Azure Temporal Tables - V2Davide Mauri
 
SQL Server 2016 Temporal Tables
SQL Server 2016 Temporal TablesSQL Server 2016 Temporal Tables
SQL Server 2016 Temporal TablesDavide Mauri
 
SQL Server 2016 What's New For Developers
SQL Server 2016  What's New For DevelopersSQL Server 2016  What's New For Developers
SQL Server 2016 What's New For DevelopersDavide Mauri
 
Azure Stream Analytics
Azure Stream AnalyticsAzure Stream Analytics
Azure Stream AnalyticsDavide Mauri
 
Azure Machine Learning
Azure Machine LearningAzure Machine Learning
Azure Machine LearningDavide Mauri
 
Dashboarding with Microsoft: Datazen & Power BI
Dashboarding with Microsoft: Datazen & Power BIDashboarding with Microsoft: Datazen & Power BI
Dashboarding with Microsoft: Datazen & Power BIDavide Mauri
 
Azure ML: from basic to integration with custom applications
Azure ML: from basic to integration with custom applicationsAzure ML: from basic to integration with custom applications
Azure ML: from basic to integration with custom applicationsDavide Mauri
 
Event Hub & Azure Stream Analytics
Event Hub & Azure Stream AnalyticsEvent Hub & Azure Stream Analytics
Event Hub & Azure Stream AnalyticsDavide Mauri
 
SQL Server 2016 JSON
SQL Server 2016 JSONSQL Server 2016 JSON
SQL Server 2016 JSONDavide Mauri
 
SSIS Monitoring Deep Dive
SSIS Monitoring Deep DiveSSIS Monitoring Deep Dive
SSIS Monitoring Deep DiveDavide Mauri
 
Real Time Power BI
Real Time Power BIReal Time Power BI
Real Time Power BIDavide Mauri
 
AzureML - Creating and Using Machine Learning Solutions (Italian)
AzureML - Creating and Using Machine Learning Solutions (Italian)AzureML - Creating and Using Machine Learning Solutions (Italian)
AzureML - Creating and Using Machine Learning Solutions (Italian)Davide Mauri
 
Datarace: IoT e Big Data (Italian)
Datarace: IoT e Big Data (Italian)Datarace: IoT e Big Data (Italian)
Datarace: IoT e Big Data (Italian)Davide Mauri
 

More from Davide Mauri (20)

Azure serverless Full-Stack kickstart
Azure serverless Full-Stack kickstartAzure serverless Full-Stack kickstart
Azure serverless Full-Stack kickstart
 
Agile Data Warehousing
Agile Data WarehousingAgile Data Warehousing
Agile Data Warehousing
 
Dapper: the microORM that will change your life
Dapper: the microORM that will change your lifeDapper: the microORM that will change your life
Dapper: the microORM that will change your life
 
When indexes are not enough
When indexes are not enoughWhen indexes are not enough
When indexes are not enough
 
Building a Real-Time IoT monitoring application with Azure
Building a Real-Time IoT monitoring application with AzureBuilding a Real-Time IoT monitoring application with Azure
Building a Real-Time IoT monitoring application with Azure
 
SSIS Monitoring Deep Dive
SSIS Monitoring Deep DiveSSIS Monitoring Deep Dive
SSIS Monitoring Deep Dive
 
Azure SQL & SQL Server 2016 JSON
Azure SQL & SQL Server 2016 JSONAzure SQL & SQL Server 2016 JSON
Azure SQL & SQL Server 2016 JSON
 
SQL Server & SQL Azure Temporal Tables - V2
SQL Server & SQL Azure Temporal Tables - V2SQL Server & SQL Azure Temporal Tables - V2
SQL Server & SQL Azure Temporal Tables - V2
 
SQL Server 2016 Temporal Tables
SQL Server 2016 Temporal TablesSQL Server 2016 Temporal Tables
SQL Server 2016 Temporal Tables
 
SQL Server 2016 What's New For Developers
SQL Server 2016  What's New For DevelopersSQL Server 2016  What's New For Developers
SQL Server 2016 What's New For Developers
 
Azure Stream Analytics
Azure Stream AnalyticsAzure Stream Analytics
Azure Stream Analytics
 
Azure Machine Learning
Azure Machine LearningAzure Machine Learning
Azure Machine Learning
 
Dashboarding with Microsoft: Datazen & Power BI
Dashboarding with Microsoft: Datazen & Power BIDashboarding with Microsoft: Datazen & Power BI
Dashboarding with Microsoft: Datazen & Power BI
 
Azure ML: from basic to integration with custom applications
Azure ML: from basic to integration with custom applicationsAzure ML: from basic to integration with custom applications
Azure ML: from basic to integration with custom applications
 
Event Hub & Azure Stream Analytics
Event Hub & Azure Stream AnalyticsEvent Hub & Azure Stream Analytics
Event Hub & Azure Stream Analytics
 
SQL Server 2016 JSON
SQL Server 2016 JSONSQL Server 2016 JSON
SQL Server 2016 JSON
 
SSIS Monitoring Deep Dive
SSIS Monitoring Deep DiveSSIS Monitoring Deep Dive
SSIS Monitoring Deep Dive
 
Real Time Power BI
Real Time Power BIReal Time Power BI
Real Time Power BI
 
AzureML - Creating and Using Machine Learning Solutions (Italian)
AzureML - Creating and Using Machine Learning Solutions (Italian)AzureML - Creating and Using Machine Learning Solutions (Italian)
AzureML - Creating and Using Machine Learning Solutions (Italian)
 
Datarace: IoT e Big Data (Italian)
Datarace: IoT e Big Data (Italian)Datarace: IoT e Big Data (Italian)
Datarace: IoT e Big Data (Italian)
 

Hekaton: In-memory tables

  • 1. SQL Server 2014 Hekaton – In Memory Tables Davide Mauri dmauri@solidq.com
  • 3. Davide Mauri 18 Years of experience on the SQL Server Platform Specialized in Data Solution Architecture, Database Design, Performance Tuning, Business Intelligence Projects, Consulting, Mentoring & Training Regular Speaker @ SQL Server events Microsoft SQL Server MVP President of UGISS (Italian SQL Server UG) Mentor @ SolidQ
  • 4. Hekaton – In Memory Tables SQL Server 2014 introduce un in-memory engine in SQL Server E‟ possibile indicare che una tabella deve essere ottimizzata per rimanere in memoria Ottimizzata = Nuove strutture dati, utilizzo di MultiVersion Concurrency Control per non avere locking
  • 5. Hekaton – In Memory Tables Performance estreme! A parità di hardware si possono ottenere performance di un ordine di grandezza superiore! How Fast is Project Codenamed “Hekaton” – It‟s „Wicked Fast‟! Da 15.000 tps a 250.000 tps!
  • 6. Hekaton – In Memory Tables
  • 7. Hekaton – In Memory Tables Memory_Optimized = On Non vengono più utilizzati Extent e Pagine, ma Data Files e Delta Files I dati sono memorizzati in un formato nuovo, che usa il FileStream
  • 8. Hekaton – In Memory Tables Durability E‟ possibile decidere se persistere i dati oppure no SCHEMA_AND_DATA SCHEMA_ONLY Il Transaction Log garantisce le proprietà ACID
  • 9. Hekaton – In Memory Tables Tipi di dati supportati bit tinyint, smallint, int, bigint money, smallmoney float, real datetime, smalldatetime, datetime2, date, time numeric and decimal types Uniqueidentifier
  • 10. Hekaton – In Memory Tables Tipi di dati supportati ad esclusione dei LOB (varxxx(MAX)) char(n), varchar(n), nchar(n), nvarchar(n) binary(n), varbinary(n)
  • 11. Hekaton – In Memory Tables Altri limiti No DML triggers No FOREIGN KEY o CHECK constraints No IDENTITY columns No UNIQUE indexes (ad esclusione della PRIMARY KEY ) Massimo 8 indici in totale
  • 12. Hekaton – In Memory Tables
  • 13. Hekaton – In Memory Tables Nelle prossime puntate… Indici specifici per Hekaton Range & BW-Trees Il modello MultiVersion Concurrency Control Lock Free
  • 14. Grazie! Trovi altri video su: www.ugiss.org/sql-server-2014pills