SlideShare a Scribd company logo
1 of 14
SQL Server 2014
Hekaton – Natively Compiled Stored Procedures
Francesco Milano
fmilano@solidq.com
PILLS SPONSORS
Francesco Milano
SQL Server
5+ anni di esperienza
SQL Server 2005, 2008, 2008R2, 2012
Progettazione, sviluppo, integrazione, ottimizzazione
Data Platform Specialist @ SolidQ
.NET
10+ anni di esperienza
Focus primario su soluzioni Web e Back-End
Membro UGISS
Speaker, blogger
What’s before 
Hekaton – In Memory Tables
http://vimeo.com/83218500
Hekaton – Indici & MVCC
http://vimeo.com/85591054
Hekaton – Natively Compiled Stored
Procedures
Le performance di Hekaton derivano da quattro componenti
fondamentali
1. Nuova struttura di dati in memoria – In Memory Tables
2. Nuovi indici ottimizzati per lavorare in memoria – Hash, Range
3. Nuovo meccanismo di concorrenza lock-free – MVCC
4. Abbandono di codice interpretato – Stored Procedures Native
- Perché compilare il codice delle SP in C?
- Perché è più veloce!! 
Hekaton – Natively Compiled Stored
Procedures
La ripartizione dei costi di una chiamata a SP
classica viene stravolta (in positivo ) dal nuovo
approccio
In fase di creazione di una SP nativa i piani di
esecuzione, i metodi di accesso e le espressioni
vengono convertiti in codice C
Il codice ottenuto viene passato ad un compilatore
e ad un linker, i quali generano una dll
La dll viene quindi caricata in memoria
A seguito di un riavvio dell’istanza, la dll verrà
ricompilata e caricata in memoria al primo
utilizzo
Hekaton – Natively Compiled Stored
Procedures
L’output di compilatore e linker viene salvato su disco in
sottocartelle divise per database_id
Hekaton – Natively Compiled Stored
Procedures
Sintassi
Hekaton – Natively Compiled Stored
Procedures
Ottimizzate per carico di lavoro di tipo OLTP
Transazioni molto brevi
Operazioni su un piccolo numero di righe per volta
Esempio
Inserimento di un ordine e dei suoi dettagli
Aggiornamento dello stato di un ordine
Modifica dell’anagrafica di un cliente
Hekaton – Natively Compiled Stored Procedures
Hekaton – Natively Compiled Stored
Procedures
Limitazioni
No accesso a tabelle classiche (solo In Memory Tables)
No CTE
No subqueries
No Temp Tables (sostituibili da tabelle in memoria create on-thefly)
No cursori
…
http://msdn.microsoft.com/enus/library/dn246937(v=sql.120).aspx
Hekaton – Natively Compiled Stored
Procedures
Native Compilation Advisor
What’s next
The New Cardinality Estimator
https://vimeo.com/87977254
Grazie!
Trovi altri video su:
www.ugiss.org/sql-server-2014pills

More Related Content

Similar to Hekaton: Natively Compiled Stored Procedures

Hands on MVC - Mastering the Web
Hands on MVC - Mastering the WebHands on MVC - Mastering the Web
Hands on MVC - Mastering the WebClaudio Gandelli
 
Le Novita’ dello sviluppo applicazioni per IBM i
Le Novita’ dello sviluppo applicazioni per IBM iLe Novita’ dello sviluppo applicazioni per IBM i
Le Novita’ dello sviluppo applicazioni per IBM iS.info Srl
 
Evento 18 giugno - Sviluppo applicativo
Evento 18 giugno - Sviluppo applicativoEvento 18 giugno - Sviluppo applicativo
Evento 18 giugno - Sviluppo applicativoPRAGMA PROGETTI
 
DDive2011 - Performance on Lotus Domino
DDive2011 - Performance on Lotus DominoDDive2011 - Performance on Lotus Domino
DDive2011 - Performance on Lotus DominoGTTech
 
Confio Ignite - webinar by Matteo Durighetto
Confio Ignite - webinar by Matteo DurighettoConfio Ignite - webinar by Matteo Durighetto
Confio Ignite - webinar by Matteo DurighettoMiriade Spa
 
Installazione del cms alfresco
Installazione del cms alfrescoInstallazione del cms alfresco
Installazione del cms alfrescoMirco Leo
 
Cv 2014 richard_gennaro_ eur_it
Cv 2014 richard_gennaro_ eur_itCv 2014 richard_gennaro_ eur_it
Cv 2014 richard_gennaro_ eur_itRichard Gennaro
 
[ITA] Sql Saturday 355 in Parma - New SQL Server databases under source control
[ITA] Sql Saturday 355 in Parma - New SQL Server databases under source control[ITA] Sql Saturday 355 in Parma - New SQL Server databases under source control
[ITA] Sql Saturday 355 in Parma - New SQL Server databases under source controlAlessandro Alpi
 
Presentazione Nuvola Vertica Light
Presentazione Nuvola Vertica LightPresentazione Nuvola Vertica Light
Presentazione Nuvola Vertica LightAlberto.F
 
Architetture web - Linguaggi e standard - Web server, application server, dat...
Architetture web - Linguaggi e standard - Web server, application server, dat...Architetture web - Linguaggi e standard - Web server, application server, dat...
Architetture web - Linguaggi e standard - Web server, application server, dat...Fulvio Corno
 
Metamorfosi di un sistema informatico
Metamorfosi di un sistema informaticoMetamorfosi di un sistema informatico
Metamorfosi di un sistema informaticoAndrea Ferroni
 
Design Patterns - enterprise patterns (part I)
Design Patterns - enterprise patterns (part I)Design Patterns - enterprise patterns (part I)
Design Patterns - enterprise patterns (part I)Fabio Armani
 
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
 
Thesis Murgida Panella Slide it
Thesis Murgida Panella Slide itThesis Murgida Panella Slide it
Thesis Murgida Panella Slide itMarco Santambrogio
 

Similar to Hekaton: Natively Compiled Stored Procedures (20)

Thesis Amicucci Slides IT
Thesis Amicucci Slides ITThesis Amicucci Slides IT
Thesis Amicucci Slides IT
 
Hands on MVC - Mastering the Web
Hands on MVC - Mastering the WebHands on MVC - Mastering the Web
Hands on MVC - Mastering the Web
 
Le Novita’ dello sviluppo applicazioni per IBM i
Le Novita’ dello sviluppo applicazioni per IBM iLe Novita’ dello sviluppo applicazioni per IBM i
Le Novita’ dello sviluppo applicazioni per IBM i
 
Evento 18 giugno - Sviluppo applicativo
Evento 18 giugno - Sviluppo applicativoEvento 18 giugno - Sviluppo applicativo
Evento 18 giugno - Sviluppo applicativo
 
DDive2011 - Performance on Lotus Domino
DDive2011 - Performance on Lotus DominoDDive2011 - Performance on Lotus Domino
DDive2011 - Performance on Lotus Domino
 
Confio Ignite - webinar by Matteo Durighetto
Confio Ignite - webinar by Matteo DurighettoConfio Ignite - webinar by Matteo Durighetto
Confio Ignite - webinar by Matteo Durighetto
 
Installazione del cms alfresco
Installazione del cms alfrescoInstallazione del cms alfresco
Installazione del cms alfresco
 
Cv 2014 richard_gennaro_ eur_it
Cv 2014 richard_gennaro_ eur_itCv 2014 richard_gennaro_ eur_it
Cv 2014 richard_gennaro_ eur_it
 
[ITA] Sql Saturday 355 in Parma - New SQL Server databases under source control
[ITA] Sql Saturday 355 in Parma - New SQL Server databases under source control[ITA] Sql Saturday 355 in Parma - New SQL Server databases under source control
[ITA] Sql Saturday 355 in Parma - New SQL Server databases under source control
 
DDive11 - xpages
DDive11 - xpagesDDive11 - xpages
DDive11 - xpages
 
Presentazione Nuvola Vertica Light
Presentazione Nuvola Vertica LightPresentazione Nuvola Vertica Light
Presentazione Nuvola Vertica Light
 
Modernizziamo IBM i con PHP
Modernizziamo IBM i con PHPModernizziamo IBM i con PHP
Modernizziamo IBM i con PHP
 
Architetture web - Linguaggi e standard - Web server, application server, dat...
Architetture web - Linguaggi e standard - Web server, application server, dat...Architetture web - Linguaggi e standard - Web server, application server, dat...
Architetture web - Linguaggi e standard - Web server, application server, dat...
 
IBM FlashSystem 810 e 710
IBM FlashSystem 810 e 710IBM FlashSystem 810 e 710
IBM FlashSystem 810 e 710
 
Metamorfosi di un sistema informatico
Metamorfosi di un sistema informaticoMetamorfosi di un sistema informatico
Metamorfosi di un sistema informatico
 
DDive - 8.5.2 Xpages - L'evoluzione continua
DDive - 8.5.2 Xpages - L'evoluzione continuaDDive - 8.5.2 Xpages - L'evoluzione continua
DDive - 8.5.2 Xpages - L'evoluzione continua
 
Scenario Framework
Scenario FrameworkScenario Framework
Scenario Framework
 
Design Patterns - enterprise patterns (part I)
Design Patterns - enterprise patterns (part I)Design Patterns - enterprise patterns (part I)
Design Patterns - enterprise patterns (part I)
 
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
 
Thesis Murgida Panella Slide it
Thesis Murgida Panella Slide itThesis Murgida Panella Slide it
Thesis Murgida Panella Slide it
 

Hekaton: Natively Compiled Stored Procedures

  • 1. SQL Server 2014 Hekaton – Natively Compiled Stored Procedures Francesco Milano fmilano@solidq.com
  • 3. Francesco Milano SQL Server 5+ anni di esperienza SQL Server 2005, 2008, 2008R2, 2012 Progettazione, sviluppo, integrazione, ottimizzazione Data Platform Specialist @ SolidQ .NET 10+ anni di esperienza Focus primario su soluzioni Web e Back-End Membro UGISS Speaker, blogger
  • 4. What’s before  Hekaton – In Memory Tables http://vimeo.com/83218500 Hekaton – Indici & MVCC http://vimeo.com/85591054
  • 5. Hekaton – Natively Compiled Stored Procedures Le performance di Hekaton derivano da quattro componenti fondamentali 1. Nuova struttura di dati in memoria – In Memory Tables 2. Nuovi indici ottimizzati per lavorare in memoria – Hash, Range 3. Nuovo meccanismo di concorrenza lock-free – MVCC 4. Abbandono di codice interpretato – Stored Procedures Native - Perché compilare il codice delle SP in C? - Perché è più veloce!! 
  • 6. Hekaton – Natively Compiled Stored Procedures La ripartizione dei costi di una chiamata a SP classica viene stravolta (in positivo ) dal nuovo approccio In fase di creazione di una SP nativa i piani di esecuzione, i metodi di accesso e le espressioni vengono convertiti in codice C Il codice ottenuto viene passato ad un compilatore e ad un linker, i quali generano una dll La dll viene quindi caricata in memoria A seguito di un riavvio dell’istanza, la dll verrà ricompilata e caricata in memoria al primo utilizzo
  • 7. Hekaton – Natively Compiled Stored Procedures L’output di compilatore e linker viene salvato su disco in sottocartelle divise per database_id
  • 8. Hekaton – Natively Compiled Stored Procedures Sintassi
  • 9. Hekaton – Natively Compiled Stored Procedures Ottimizzate per carico di lavoro di tipo OLTP Transazioni molto brevi Operazioni su un piccolo numero di righe per volta Esempio Inserimento di un ordine e dei suoi dettagli Aggiornamento dello stato di un ordine Modifica dell’anagrafica di un cliente
  • 10. Hekaton – Natively Compiled Stored Procedures
  • 11. Hekaton – Natively Compiled Stored Procedures Limitazioni No accesso a tabelle classiche (solo In Memory Tables) No CTE No subqueries No Temp Tables (sostituibili da tabelle in memoria create on-thefly) No cursori … http://msdn.microsoft.com/enus/library/dn246937(v=sql.120).aspx
  • 12. Hekaton – Natively Compiled Stored Procedures Native Compilation Advisor
  • 13. What’s next The New Cardinality Estimator https://vimeo.com/87977254
  • 14. Grazie! Trovi altri video su: www.ugiss.org/sql-server-2014pills