SQL Server 2016 trae consigo una gran cantidad de recursos nuevos y muy interesantes para los desarrolladores. Tecnologias como Stretch Database, Real time operational analytics, Row Level Security, Temporal Tables son la punta del iceberg...mejoras brutales en In-memory database, el esperado soporte para PolyBase, R, JSON...hacen de esta edición una de las actualizaciones mas grandes desde SQL Server 2005.
2. 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
3. MADRID · NOV 18-19 · 2016
Enrique Catalá Bañuls
ecatala@solidq.com | www.solidq.com
@enriquecatala | www.enriquecatala.com
4. 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
6. 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 sobre
datos cifrados
• “=“
• Group by
• JOIN
• DISTINCT
Transparencia de
aplicación
• Cambios mínimos
• Desplegar una
libreria
únicamente
Utilizado para cifrar datos extremo a extremo incluso para personal con privilegios de
seguridad elevados (dba).
7. 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
9. 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 analytics
THIS
IS
BIG!
10. MADRID · NOV 27-28 · 2015
DEMO
Real time operational analytics
11. MADRID · NOV 18-19 · 2016
In-memory OLTP: ¿por qué?
12. 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
13. MADRID · NOV 18-19 · 2016
In-memory OLTP v2.0
Usabilidad
Menor número de stoppers
Interoperabilidad
Mantenimiento
Más sencillo pero con
impacto
Rendimiento
Paralelismo y multithread
Columnstore sobre tablas en
memoria
14. MADRID · NOV 27-28 · 2015
DEMO
Novedades In-memory OLTP
16. MADRID · NOV 18-19 · 2016
In-memory OLTP: Usabilidad
Soporte 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
17. 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
18. MADRID · NOV 18-19 · 2016
In-memory OLTP: Interoperatividad
Row-Level
Security
Temporal
tables
MARS
TDE
19. MADRID · NOV 18-19 · 2016
DEMO
Live Query Statistics
20. 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
21. 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
22. MADRID · NOV 18-19 · 2016
Polybase
Tecnología
Agnostica
No es tecnología propietaria
Multiplataforma
Hadoop soporta windows y
linux
Cloud y
OnPremise
23. MADRID · NOV 18-19 · 2016
Polybase: ¿Dónde lo puedo usar?
Modelo
on-
premise
Modelo
appliance Modelo
PaaS
Storage
only
24. MADRID · NOV 18-19 · 2016
Polybase
Pre-requisitos:
∘ SQL2016 STD/EE
∘ .NET 4.5
∘ JRE 7.51
∘ 4GB RAM
∘ 2GB Disk Space
∘ TCP/IP
25. MADRID · NOV 18-19 · 2016
Polybase: Activación
Opciones de configuración:
exec sp_configure 'hadoop connectivity', 7;
26. MADRID · NOV 18-19 · 2016
Polybase: Enlazar con tu storage
27. MADRID · NOV 18-19 · 2016
Polybase: Crear formatos de archivo
28. MADRID · NOV 18-19 · 2016
Polybase: Crear tablas “puntero”
29. MADRID · NOV 18-19 · 2016
Polybase: escalabilidad
30. MADRID · NOV 18-19 · 2016
Temporal Tables
Auditan todos los cambios
Reconstrucción del estado de los
datos en cualquier espacio temporal
Calculo de tendencias en el tiempo
Mantenimiento de Slowly Changing
Dimension
Recuperación de datos por errores
de borrado,updates,…
32. MADRID · NOV 18-19 · 2016
DEMO
System Versioned Temporal Tables
33. 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”
34. MADRID · NOV 18-19 · 2016
No te olvides!
Nativo en
-RedHat
-Ubuntu
-SUSE
Docker
-MacOS
35. 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
36. 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)
ERincon@SolidQ.com
www.solidq.es