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 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
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 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 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
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
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
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
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)
www.solidq.es