Descripción:
Snowflake es una aplicación SaaS (Software as a Service) basada en el concepto Data Cloud (nube de datos); desarrollada por ex ingenieros de Oracle, proporciona una arquitectura de datos compartidos multicluster con altos índices de rendimiento, escalabilidad y simultaneidad.
Los ámbitos de aplicación donde Snowflake despliega todas sus virtudes son Data Warehouse (con su propio motor SQL), Data Lake, ingeniería de datos, ciencia de datos, intercambio de datos y desarrollo de aplicaciones de datos.
Para ubicar mejor en qué consiste Snowflake, podemos decir que es análogo a Synapse (Microsoft Azure), Redshift (Amazon Web Services) o BigQuery (Google Cloud), con la ventaja de que permite elegir el proveedor de servicios Cloud que queramos de entre estos tres, así como la región (zona de disponibilidad) de cada uno.
Objetivo del curso: El participante explorará el modelo de computación disponible con Snowflake y descubrirá cómo Snowflake permite un amplio escalado a través de los almacenes virtuales. Así mismo, aprenderá a configurar un almacén virtual para optimizar el coste y el rendimiento. También, se familiariza con el ecosistema de datos y descubrirá cómo Snowflake se integra con otras tecnologías para la puesta en escena y la carga de datos.
Al final de este curso, conocerá a fondo la arquitectura de Snowflake para crear soluciones analíticas modernas y comprenderá las mejores prácticas para resolver los problemas más comunes mediante recetas prácticas.
Requisitos de ingreso.
Comprensión de textos en idioma inglés.
Temario:
Capítulo 1: Primeros pasos con Snowflake
- Creación de una nueva instancia de Snowflake
- Creación de un almacén virtual multiclúster a medida
- Uso de la WebUI de Snowflake y ejecución de una consulta
- Uso de SnowSQL para conectarse a Snowflake
- Conexión a Snowflake con JDBC
- Creación de una nueva cuenta de usuario administrador y comprensión de las funciones incorporadas
Capítulo 2: Gestión del ciclo de vida de los datos
- Gestión de una base de datos
- Gestión de un esquema
- Gestión de tablas
- Gestión de tablas y etapas externas
- Gestión de vistas en Snowflake
Capítulo 3: Carga y extracción de datos en y desde Snowflake
- Configuración del acceso de Snowflake a buckets S3 privados
- Carga de datos masivos delimitados en Snowflake desde el almacenamiento en la nube
- Carga de datos masivos delimitados en Snowflake desde su equipo local
- Cargar archivos Parquet en Snowflake
- Dar sentido a los datos semiestructurados JSON y transformarlos en una vista relacional
- Procesamiento de JSON delimitado por nuevas líneas (o NDJSON) en una tabla Snowflake
- Procesamiento de datos casi en tiempo real en una tabla Snowflake utilizando Snowpipe
- Extracción de datos de Snowflake
Capítulo 4: Creación de canalizaciones de datos en Snowflake
- Creación y programación de una tarea
- Conjugar canalizaciones a través de un árbol de tareas
- Consulta y visualización del historial de tareas
- Exploración del concepto de flujos para capturar cambios a nivel de tabla
- Combinación del concepto de flujos y tareas para crear pipelines que procesen los datos modificados según un calendario
- Conversión de tipos de datos y gestión de fallos de Snowflake
- Gestión del contexto mediante diferentes funciones de utilidad
Capítulo 5: Protección de datos y seguridad en Snowflake
- Configurar roles personalizados y completar la jerarquía de roles
- Configuración y asignación de un rol predeterminado a un usuario
- Diferenciar la gestión de usuarios de la gestión de seguridad y roles
- Configuración de funciones personalizadas para gestionar el acceso a datos de alta seguridad
- Configuración de jerarquías y roles de bases de datos de desarrollo, pruebas, preproducción y producción
- Protección del rol ACCOUNTADMIN y de los usuarios con el rol ACCOUNTADMIN
Capítulo 6: Optimización del rendimiento y los costes
- Examen de los esquemas de tablas y obtención de una estructura óptima para una tabla
- Identificación de planes de consulta y cuellos de botella
- Eliminación de consultas ineficaces mediante análisis
- Identificar y reducir el uso innecesario de almacenamiento a prueba de fallos y Time Travel
- Proyecciones de rendimiento en Snowflake
- Revisión de los planes de consulta para modificar la agrupación de tablas
- Optimización de la escala del almacén virtual
Capítulo 7: Intercambio seguro de datos
- Compartir una tabla con otra cuenta Snowflake
- Compartir datos a través de una vista con otra cuenta Snowflake
- Compartir una base de datos completa con otra cuenta Snowflake y configurar los objetos futuros para que se puedan compartir
- Crear cuentas de lector y configurarlas para compartir sin Snowflake
- Mantener los costes bajo control cuando se comparten datos con usuarios que no son de Snowflake
Capítulo 8: Regreso al futuro con viajes en el tiempo
- Utilizar el Viaje en el Tiempo para volver al estado de los datos en un momento determinado
- Usar el Viaje en el Tiempo para recuperarse de la pérdida accidental de datos de una tabla
- Identificación de bases de datos, tablas y otros objetos perdidos y restauración de los mismos mediante Viaje en el Tiempo
- Uso de Time Travel junto con la clonación para mejorar la depuración
- Uso de la clonación para configurar rápidamente nuevos entornos basados en el entorno de producción
Capítulo 9: Técnicas SQL avanzadas
- Gestión de datos de fecha y hora
- Trituración de datos de fecha para extraer información de Calendario
- Recuentos únicos y Snowflake
- Gestión de transacciones en Snowflake
- Análisis ordenados sobre marcos de ventanas
- Generación de secuencias en Snowflake
Capítulo 10: Ampliación de las capacidades de Snowflake
- Creación de una función Scalar definida por el usuario mediante SQL
- Creación de una función definida por el usuario de tabla mediante SQL
- Creación de una función escalar definida por el usuario mediante JavaScript
- Creación de una función definida por el usuario de tabla con JavaScript
- Conexión de Snowflake con Apache Spark
- Uso de Apache Spark para preparar los datos para su almacenamiento en Snowflake