martes, 2 de agosto de 2016

Workshop planes de ejecución en el #SQLSatMad2016

Tengo el honor de impartir una de las dos pre-conferencias que se hace este año en el SQL Saturday Madrid 2016: “Como leer planes de ejecución en SQL Server”. Se trata de una formación con bastante demanda y prácticamente regalada al precio que la hacemos. No lo dudes y apúntate si quieres aprender a leer planes de ejecución por fin con SQL Server!

Link para la PreCon https://www.eventbrite.com/e/sqlsaturday-madrid-workshop-como-leer-planes-de-ejecucion-en-sql-server-de-0-a-100-edicion-2016-tickets-26821206952 

Aprovecho además para recordarte que el próximo 24 de septiembre se celebra otro año más el SQL Saturday Madrid,  el evento nacional mas importante de SQL Server y que por supuesto no te puedes perder. Alli habrán ponentes internacionales de reconocido prestigio, Microsoft Data Platform MVPs nacionales e internacionales y un montón de gente dispuesta a compartir conocimiento juntos. ¿Estarás tu tambien con nosotros?

SQLSAT

Rendimiento de las funciones UDF en SQL Server 2016 (1/2)

En SQL Server 2016 podemos programar funciones escalares de usuario de 3 formas diferentes:

A pesar de que tenemos varias formas de programar funciones, su uso principalmente está concentrado en la de tipo T-SQL, cosa que a mas de uno le va dar un poco de dolor de cabeza cuando lea esto Smile

udfs-dummycalc

Continua leyendo…

jueves, 28 de julio de 2016

Nuevo proyecto: In-Memory OLTP Utils

He liberado bajo licenciamiento MIT una serie de funciones para tratamiento de texto que se pueden usar en objetos compilados nativos con el motor In-Memory OLTP que trae SQL Server 2016. Todas tienen su equivalente en el motor OnDisk pero supongo que por razónes de timing no se han liberado en su momento.

Te animo a que añadas mas funcionalidades que puedas creer convenientes aquí: https://github.com/enriquecatala/InMemoryOLTPUtils

miércoles, 6 de julio de 2016

Disponibles las slides de mis últimas charlas!

He dejado colgadas en mi canal de SlideShare, las slides de mis sesiones en el pasado SolidQ Summit Madrid 2016. Que las disfruteis!

Query Store en SQL Server 2016

Tanto en SQL Server 2016 como en SQLAzure (PaSS), Microsoft nos proporciona nuevas herramientas para que el comportamiento de SQL Server sea más predecible. Con estas nuevas herramientas (QueryStore) como administrador de BBDD tienes nuevas posibilidades para analizar el rendimiento de consultas concretas, de patrones de consultas, y si suceden cambios importantes en su comportamiento. Venga a esta sesión para entender QueryStore y sacarle más partido a su servidor SQL Server.

Nivel: 400

Planes de ejecución 1

En esta sesión conoceremos los operadores básicos de los planes de ejecución: nested loop, merge join, hash join, aggregates) y speeling. Conocerá también cómo interpretar un plan de ejecución y cómo leerlo.

Nivel 300

Planes de ejecución 2

Esta sesión es continuación de “planes de ejecución 1″. En esta sesión no se tocará ninguna cuestión explicada en la ssión anterior. El objetivo de esta sesión es explicar el funcionamiento de operadores avanzados como los pipes, indices temporales, hash avanzados, etc

Nivel 400

Migración a SQL Server 2016

La adopción de SQL Server 2016 debe ser “tranquila” y sin problemas. En esta sesión le guiaremos en cómo hacer dicha migración/actualización y cuáles son los pasos que tomamos en SolidQ en estos proyectos de migración. Trataremos tanto migraciones side-by-side como migraciones in-place.

Nivel: 300

Datawarehouse como servicio en Azure (SQLDW)

En lugar de aprovisionar grandes recursos para tu DW, Azure ofrece una versión especial de SQL Server como DataWarehouse. Si está familiarizado con el appliance APS, SQLDW en Azure viene a ser su versión como servicio. Usted crea su DW desde el portal de Azure y ya puede empezar a cargar datos y explotarlos. En esta sesión veremos cómo habilitar el servicio y cómo empezar a explotar SQLDW como tu DW en la nube.

Nivel: 200

lunes, 20 de junio de 2016

Mejoras en AlwaysON con SQL Server 2016

Si en tu entorno dispones de algún despliegue con AlwaysON y piensas migrar a SQL Server 2016 debes saber que hay un gran numero de mejoras introducidas en esta edición de SQL Server de cara a mejorar el rendimiento y el nº de implantaciones.

Mejoras como mejorar 4x-5x el rendimiento del transporte de operaciones entre nodos secundarios, mejor uso del HW para compresion-descompresion de mensajes, soporte para DTC,…

Seguir leyendo…

martes, 3 de mayo de 2016

Auditoria de operaciones personalizada con Temporal Tables

Con SQL Server 2016 o Azure SQL Databases tenemos la nueva característica Temporal Tables, con la que podemos hacer un montón de cosas. Pese a que está destinada a mantener de forma muy facil atributos lentamente cambiantes o SCD type 2 para datawarehouse, en este caso propongo una utilización bastante interesante para implementar auditoria de operaciones personalizada, con poco esfuerzo de desarrollo.

La idea es que con esta solución podamos hacer una query a nuestra tabla para saber la vida que ha tenido una determinada Fila. Tras esto, la idea por tanto es obtener una tupla como la que veis:

Tabla resultados auditoria

  • El día 1 de Mayo Pepe, insertó el valor “Hola”
  • El día 2 de Mayo Pepe actualizó su valor a “Adiós”
  • El día 3 de Mayo, Juan atualizó su valor a “Textonuevo”
  • El día 4 de Mayo, Andres borró la fila

Continua leyendo aqui…

sábado, 27 de febrero de 2016

Resumen de la #dotNetSpain2016

El pasado 24 de Febrero tuve el placer y el honor de forma parte de los speakers del evento mas grande de .NET que se celebra en españa. Nada mas y nada menos que 1700 asistentes presenciales y 5000 siguiendolo en directo por streaming hicieron que fuera uno de los eventos de desarrollo mas importantes de nuestro pais este año. Incluso estuvo ni mas ni menos que el mismismo Satya Nadella (CEO de Microsoft).

Algunas fotos del evento para hacernos una idea del éxito de asistencia que tuvo:

1 Mainstage
WP_20160224_12_39_08_Rich_LI WP_20160224_09_08_25_Rich_LI
WP_20160224_09_43_13_Rich_LI nadella

En el evento lo pasé genial, encontrándome a viejos amigos con los que me pude reir de lo lindo y cómo no conociendo un monton de gente con la que tengo en común el tremendo interes por la innovación, la tecnologia y las ganas de aprender.

Cada uno se hacia su propio evento ya que teniendo 8 tracks llenos de rockstars de cada area, la tarea es dificil. Aun así, yo asistí a las siguientes sesiones, todas ellas una maravilla:

  1. MvvmCross, desarrollo multiplataforma mediante patrones con Xamarin y C#
  2. Tips and Tricks para el desarrollo de soluciones IoT en .Net
  3. Entity Framework Core 1.0
  4. Mejores Prácticas de conectividad, Seguridad y uso de CLR en SQL Server: Lecciones Aprendidas desde las trinchera

*Tanto estas como el resto de sesiones están publicadas aqui: https://github.com/esmsdn/dotNetSpain2016/wiki/Recursos

Además de como digo de contar con nada mas y nada menos que el CEO de Microsoft, tuvimos otras sorpresas interesantes como que se conectó en directo con Scott Hanselman, Scott Hunter y David Carmona, los cuáles nos contaron en directo que Microsoft había alcanzado un acuerdo con Xamarin para iniciar el proceso de compra y resolvieron las preguntas de los asistentes. Con esta gran noticia se cerraba esta edición de .NET Conference 2016 Spain.

Como digo, tuve el honor de impartir una sesión titulada “Como hacer tuning a capas de acceso a datos en .NET” cuyo briefing decía:

"En esta sesión hablaremos de tecnicas de profiling avanzado de aplicaciones .NET. Usaremos interceptores, compilaremos nuestra modificación de EntityFramework, usaremos ANTS profiler, analizaremos con PowerPivot, usaremos SQL Server Profiler, revisaremos cómo trabajamos nativamente con los datos ya capturados en la capa DAL de nuestra arquitectura,...Preparate para optimizar de verdad! "

La verdad que el escenario era brutal. Ese pequeñajo que sale a la derecha con la mano levantada soy yo Smile (gracias a mi amigo Sergio Sisternes @sesispla por la foto)

Presentando

La verdad que el feedback que me dieron los asistentes fué bastante bueno y tras la sesión nos quedamos un buen rato discutiendo sobre diversos temas relacionados con la sesión…tanto que empezó la siguiente sesión y tuvimos que cortar Surprised smile. De hecho mucha gente se ha interesado bastante por el material y me ha expresado su interes en colaborar en futuros proyectos con nosotros (SolidQ) a raiz de esta sesión, por lo que estoy bastante contento ya que es mejor indicativo de que realmente gustó Smile

Y por último, solo me falta dirigirte a las slides de mi sesión y al código fuente de la app de ejemplo que hice para la ocasión:

El código fuente de la app de ejemplo que hice: https://github.com/enriquecatala/ProfilingDotNetExample

Y las slides de la sesión:

Espero que el año que viene, si puedo mandar sesión interesante me la acepten como este año y lo disfrute tanto como este año lo he disfrutado.

Gracias a todo el equipo de @msdev_es y en especial a Jose Bonnin por hacerlo posible