37
SQL Server 2016: Novedades para desarrolladores by @enriquecatala MADRID · NOV 18-19 · 2016

Sql server 2016 novedades para desarrolladores

Embed Size (px)

Citation preview

SQL Server 2016: Novedades para desarrolladoresby @enriquecatala

MADRID · NOV 18-19 · 2016

MADRID · NOV 18-19 · 2016

Agenda

Novedades en T-SQL

Live Query Statistics

Always Encrypted

Real time operational analytics

In-memory OLTP enhancements

Temporal Tables

PolyBase

Mejoras en soporte UTF-8 para cargas masivas

MADRID · NOV 18-19 · 2016

Enrique Catalá Bañuls

[email protected] | www.solidq.com

@enriquecatala | www.enriquecatala.com

Comunidad SQL Saturday en España

Evento anual con sesiones del mas alto nivel técnico

Ponentes de renombre nacionales e internacionales

MVPs, equipo microsoft y especialistas internacionales

Segunda edición con mas de 350 asistentes este año

preconferencias de 6h el viernes

La comunidad para la los apasionados de SQL Server!

www.sqlsaturday.com

MADRID · NOV 27-28 · 2015

Demos

Novedades T-SQL

MADRID · NOV 18-19 · 2016

Always Encrypted

Prevención de exposición de

datos

• Encriptación a nivel cliente de datos sensibles

• Claves no compartidas con el motor de BBDD

Consultas sobredatos cifrados

• “=“

• Group by

• JOIN

• DISTINCT

Transparencia de aplicación

• Cambios mínimos

• Desplegar unalibreriaúnicamente

Utilizado para cifrar datos extremo a extremo incluso para personal con privilegios de

seguridad elevados (dba).

MADRID · NOV 18-19 · 2016

Always Encrypted

Capacidades

ADO.NET provee de cifrado transparente de aplicación

mientras se lanzan consultas sobre datos cifrados en SQL

Server

Beneficios

MADRID · NOV 18-19 · 2016

Always Encrypted

MADRID · NOV 18-19 · 2016

Crear índices non-clustered columnstore

ACTUALIZABLES para consultas analíticas

Ya no necesitas los B-Tree tradicionales para análisis

El optimizador de consultas utilizará este índice cuando

lo necesite

Se mantiene como cualquier otro índice,

automáticamente

NOTA: Tambien soporta tablas in-memory

Real time operational analyticsTHIS

IS

BIG!

MADRID · NOV 27-28 · 2015

DEMO

Real time operational analytics

MADRID · NOV 18-19 · 2016

In-memory OLTP: ¿por qué?

MADRID · NOV 18-19 · 2016

In-memory OLTP: Pilares

Integracion completa

• T-SQL conocido

• Mismas herramientas

• Integrado completamente

en SQL Server (sin licencia

extra)

Optimizado para memoria RAM

• Nuevas estructuras de

almacenamiento

• Sin Buffer Pool

• Punteros a datos

• Todo son índices de

cobertura

Alta concurrencia

• Gestión de concurrencia

optimista multiversion

• Soporte ACID

• Nuevo motor con algorimos

lock-free

• Sin latches

T-SQL supereficiente

• T-SQL compilado a código

máquina en C

• Los SP son DLL

• Compilaciones

superagresivas a código

máquina

MADRID · NOV 18-19 · 2016

In-memory OLTP v2.0

UsabilidadMenor número de stoppers

Interoperabilidad

MantenimientoMás sencillo pero con

impacto

Rendimiento

Paralelismo y multithread

Columnstore sobre tablas en memoria

MADRID · NOV 27-28 · 2015

DEMO

Novedades In-memory OLTP

MADRID · NOV 18-19 · 2016

Performance

MADRID · NOV 18-19 · 2016

In-memory OLTP: UsabilidadSoporte de todos los collations para cadenas

• BIN2 seguirá siendo más rápido y preferible

Soporte LOB

Índices con columnas que aceptan NULL

Restricciones FOREIGN KEY

Restricciones CHECK

Restricciones UNIQUE

Triggers (AFTER) para INSERT/UPDATE/DELETE

MADRID · NOV 18-19 · 2016

In-memory OLTP: Usabilidad

LEFT/RIGHT OUTER JOIN

OR y NOT

UNION / UNION ALL

SELECT DISTINCT

Subqueries (EXISTS, IN)

Llamadas anidadas

OUTPUT

MADRID · NOV 18-19 · 2016

In-memory OLTP: Interoperatividad

Row-Level Security

Temporal tables

MARS

TDE

MADRID · NOV 18-19 · 2016

DEMO

Live Query Statistics

MADRID · NOV 18-19 · 2016

Polybase: ¿Qué es?

Se permite lanzar queries T-SQL haciendo join de

objetos estructurados en BBDD y no estructurados en

Hadoop

MADRID · NOV 18-19 · 2016

Polybase

• Se permite lanzar consultas a datos

estructurados y no estructurados

• Nuestras habilidades con el lenguaje T-

SQL y las herramientas de BI son

compatibles con los diferentes sistemas

de almacenamiento

• SQL Server puede leer HDFS

MADRID · NOV 18-19 · 2016

Polybase

TecnologíaAgnostica

No es tecnología propietaria

MultiplataformaHadoop soporta windows y

linux

Cloud y OnPremise

MADRID · NOV 18-19 · 2016

Polybase: ¿Dónde lo puedo usar?

Modeloon-

premise

Modeloappliance Modelo

PaaSStorage

only

MADRID · NOV 18-19 · 2016

Polybase

Pre-requisitos:

∘ SQL2016 STD/EE

∘ .NET 4.5

∘ JRE 7.51

∘ 4GB RAM

∘ 2GB Disk Space

∘ TCP/IP

MADRID · NOV 18-19 · 2016

Polybase: Activación

Opciones de configuración:

exec sp_configure 'hadoop connectivity', 7;

MADRID · NOV 18-19 · 2016

Polybase: Enlazar con tu storage

MADRID · NOV 18-19 · 2016

Polybase: Crear formatos de archivo

MADRID · NOV 18-19 · 2016

Polybase: Crear tablas “puntero”

MADRID · NOV 18-19 · 2016

Polybase: escalabilidad

MADRID · NOV 18-19 · 2016

Temporal Tables

Auditan todos los cambios

Reconstrucción del estado de losdatos en cualquier espacio temporal

Calculo de tendencias en el tiempo

Mantenimiento de Slowly Changing Dimension

Recuperación de datos por erroresde borrado,updates,…

MADRID · NOV 18-19 · 2016

Temporal tables

MADRID · NOV 18-19 · 2016

DEMO

System Versioned Temporal Tables

MADRID · NOV 18-19 · 2016

Soporte para UTF-8

Por fin de serie las siguientes tools soportan UTF-8

bcp.exe

Parámetro -C

BULK INSERT

Cláusula“CODEPAGE”

OPENROWSET

Cláusula“CODEPAGE”

MADRID · NOV 18-19 · 2016

No te olvides!

Nativo en

-RedHat

-Ubuntu

-SUSE

Docker

-MacOS

MADRID · NOV 18-19 · 2016

Recapitulemos

Novedades en T-SQL

Live Query Statistics

Always Encrypted

Real time operational analytics

In-memory OLTP enhancements

Temporal Tables

PolyBase

Mejoras en soporte UTF-8 para cargas masivas

MADRID · NOV 18-19 · 2016

Posiciones abiertas en SolidQ!

Gestion multiples servidoresOperaciones

• Becarios

• DBA Junior

• DBA senior ( +2 años experiencia minima)

Dev tools para operacionesDesarrollo

• Becarios

• Developer Junior

• Developer Senior (+3 años experiencia mínima)

[email protected]

www.solidq.es

MADRID · NOV 18-19 · 2016

Gracias!