Capítulo 1. Primeros pasos
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
Nube La informática se caracteriza por la disponibilidad bajo demanda de almacenamiento de datos y potencia informática. Una de las principales ventajas de la computación en nube es que no requiere que los usuarios participen directa o activamente en la gestión de esos recursos del sistema informático. Otras ventajas son el acceso a una capacidad de almacenamiento ilimitada, las actualizaciones automáticas de software, la escalabilidad instantánea, la alta velocidad y la reducción de costes. Como era de esperar, la reciente explosión de la informática en la nube, liderada por AWS Redshift, Google BigQuery y Microsoft Azure Data Warehouse, ha provocado el declive de los centros de datos locales.
Muchos de los principales proveedores de almacenes de datos, como Oracle e IBM, que se crearon como una solución alojada tradicionalmente, se adaptaron posteriormente al entorno de la nube. A diferencia de esas soluciones tradicionales, Snowflake se creó de forma nativa para la nube desde cero. Aunque Snowflake se originó como un almacén de datos en la nube disruptivo, ha evolucionado con el tiempo, y hoy es mucho más que un innovador almacén de datos moderno .
A lo largo del camino, Snowflake obtuvo algunos reconocimientos impresionantes. Snowflake ganó el primer puesto en la competición de startups Strata + Hadoop World 2015 y fue nombrado "Cool Vendor" en el informe Gartner's Magic Quadrant 2015 DBMS. En 2019, Snowflake fue incluida en el número 2 de la lista Cloud 100 de la revista Forbes y ocupó el primer puesto en la lista de las mejores startups estadounidenses de LinkedIn. El 16 de septiembre de 2020, Snowflake se convirtió en la mayor oferta pública inicial (OPI) de software de la historia.
Hoy en día, la Plataforma en la Nube de Datos Snowflake rompe los silos y permite muchas cargas de trabajo diferentes. Además de las cargas de trabajo tradicionales de ingeniería de datos y almacén de datos, Snowflake admite cargas de trabajo de lago de datos, colaboración de datos, análisis de datos, aplicaciones de datos, ciencia de datos, ciberseguridad y Unistore. El enfoque "Muchas cargas de trabajo de datos, una plataforma" de Snowflake ofrece a las organizaciones una forma de obtener rápidamente valor de conjuntos de datos en rápido crecimiento, de forma segura y gobernada, que permite a las empresas cumplir los requisitos de conformidad. Desde su creación hace 10 años, Snowflake ha mantenido su rápido ritmo de innovación en toda la Nube de Datos.
Los fundadores de Snowflake se reunieron por primera vez en 2012 con la visión de construir desde cero un almacén de datos para la nube que liberara el verdadero potencial de conocimientos ilimitados a partir de enormes cantidades de datos de diversos tipos. Su objetivo era crear una solución segura y potente, pero rentable y fácil de mantener. Sólo tres años después, en 2015, el almacén de datos de Snowflake construido en la nube se comercializó. Inmediatamente, Snowflake trastornó el mercado del almacenamiento de datos con su arquitectura única y su enfoque agnóstico de la nube. La disruptiva plataforma Snowflake también hizo que la ingeniería de datos estuviera más orientada al negocio, fuera menos técnica y consumiera menos tiempo, lo que creó más oportunidades para democratizar el análisis de datos permitiendo a los usuarios de todos los niveles de una organización tomar decisiones basadas en datos.
Para apreciar las cualidades y el enfoque únicos de Snowflake, es importante comprender la arquitectura subyacente de Snowflake. A partir del Capítulo 2 y a lo largo de todo el libro, descubrirás las muchas formas en que Snowflake ofrece una capacidad de gestión casi nula para eliminar gran parte de la sobrecarga administrativa y de gestión asociada a los almacenes de datos tradicionales. Comprobarás de primera mano cómo funciona Snowflake, porque cada capítulo incluye ejemplos SQL que puedes probar tú mismo. También hay comprobaciones de conocimientos al final de cada capítulo.
Algunas de las cargas de trabajo más innovadoras de Snowflake se basan en las capacidades de Compartición Segura de Datos de Snowflake, que se introdujeron en 2018. El Uso Compartido Seguro de Datos de Snowflake permite compartir datos gobernados de forma prácticamente instantánea y segura en todo tu ecosistema empresarial. También abre muchas posibilidades para monetizar los activos de datos. El capítulo 10 está dedicado íntegramente a esta innovadora carga de trabajo de Snowflake.
En 2021, Snowflake introdujo la posibilidad de gestionar varias cuentas con facilidad mediante Snowflake Organizations. Gestionar varias cuentas permite mantener por separado distintos entornos, como el de desarrollo y el de producción, y adoptar una estrategia multicloud. También significa que puedes gestionar mejor los costes, ya que puedes seleccionar qué funciones necesitas para cada cuenta separada. Exploraremos la gestión de la Organización Snowflake en el Capítulo 5.
Snowflake también amplió el alcance de lo que es posible en la Nube de Datos con la introducción de Snowpark en junio de 2021. En todo el sector se reconoce que Snowpark cambia las reglas del juego en los espacios de la ingeniería de datos y el aprendizaje automático. Snowpark es un marco para desarrolladores que aporta una nueva programabilidad de datos a la nube y hace posible que desarrolladores, científicos de datos e ingenieros de datos utilicen Java, Scala o Python para implementar código sin servidor.
El Lago de Datos de Seguridad , introducido por Snowflake en 2022, es una carga de trabajo innovadora que permite a los equipos de ciberseguridad y cumplimiento obtener una visibilidad completa de los registros de seguridad, a escala masiva, reduciendo al mismo tiempo los costes de los sistemas de gestión de eventos e información de seguridad (SIEM). Curiosamente, esta carga de trabajo de ciberseguridad puede mejorarse con socios de ciberseguridad en el Snowflake Data Exchange que pueden ofrecer detección de amenazas, caza de amenazas, detección de anomalías y mucho más. En el Capítulo 12 profundizaremos en Snowpark y las cargas de trabajo del Lago de Datos de Seguridad. También hablaremos de la carga de trabajo más reciente de Snowflake, Unistore (una carga de trabajo para datos transaccionales y analíticos), en el Capítulo 12.
Este primer capítulo te presentará Snowflake y hará que te sientas cómodo navegando en Snowsight, la nueva interfaz de usuario web de Snowflake. Además, el capítulo incluye información sobre la comunidad Snowflake, las certificaciones y los eventos Snowflake. También hay una sección que describe las advertencias sobre los ejemplos de código del libro. Dedicar tiempo a orientarte en este capítulo te preparará para el éxito cuando navegues por los capítulos sucesivos.
Interfaces de usuario web Snowflake
Hay disponibles dos interfaces de usuario web de Snowflake diferentes: la consola clásica y Snowsight, la nueva interfaz de usuario web de Snowflake. Snowsight se introdujo por primera vez en 2021 y ahora es la interfaz de usuario por defecto en las cuentas Snowflake de nueva creación. Se espera que Snowsight se convierta en la interfaz de usuario por defecto para todas las cuentas a principios de 2023, y que la Consola Clásica quede obsoleta poco después. A menos que se indique lo contrario, todos nuestros ejemplos prácticos se completarán en Snowsight.
Como ocurre con todas las demás características y funcionalidades de Snowflake, Snowsight se mejora continuamente. Por ello, puede haber ocasiones en que las capturas de pantalla de los capítulos se desvíen ligeramente de lo que se muestra en la interfaz de usuario web de Snowsight en la que estás trabajando.
Nota
Para apoyar la innovación rápida, Snowflake despliega dos versiones programadas cada semana y una versión de cambio de comportamiento cada mes. Puedes encontrar más información sobre las versiones de Snowflake en la documentación de Snowflake.
Trabajo de preparación
En la sección de preparación de cada capítulo del libro, crearemos las carpetas, hojas de trabajo y objetos Snowflake que sean necesarios para los ejemplos prácticos de ese capítulo.
Necesitarás acceso a una instancia de Snowflake para poder seguir y completar los ejemplos prácticos mientras repasas los capítulos. Puedes crear una cuenta Snowflake de prueba gratuita si aún no tienes acceso a una instancia Snowflake. Si necesitas información sobre cómo crear una cuenta Snowflake de prueba gratuita, consulta el Apéndice C.
Si tienes acceso a un Snowflake org que utiliza por defecto la Consola Clásica, puedes acceder a Snowsight de dos formas. En la interfaz web de la Consola Clásica, puedes hacer clic en el botón Snowsight de la esquina superior derecha de la pantalla (como se muestra en la Figura 1-1). También puedes acceder directamente a Snowsight.
Una vez que esté dentro de Snowsight, Hojas de trabajo es la pestaña por defecto (como se muestra en la Figura 1-2). También puedes hacer clic en algunas de las diferentes pestañas, incluyendo la pestaña Datos y la pestaña Calcular, para ver algunas de las opciones de menú disponibles. Como veremos más adelante, la subpestaña Bases de Datos mostrará las bases de datos disponibles para ti dentro de tus derechos de acceso.
Si has estado trabajando antes en la interfaz web de la Consola clásica o si es la primera vez que te conectas, se te presentará la opción de importar tus hojas de trabajo cuando entres por primera vez en Snowsight (como se muestra en la Figura 1-3).
Si importas una hoja de cálculo desde la interfaz de usuario de la Consola clásica, se creará una nueva carpeta con marca de tiempo (como se muestra en la Figura 1-4).
Puedes acceder a Snowsight utilizando una de las últimas versiones de Google Chrome, Mozilla Firefox o Apple Safari para macOS. Después de conectarte, la sesión de cliente se mantiene indefinidamente con la actividad continuada del usuario. Tras cuatro horas de inactividad, la sesión actual finaliza y debes volver a conectarte. La política de tiempo de espera de sesión por defecto de cuatro horas puede cambiarse; el valor mínimo configurable de tiempo de espera de inactividad para una política de sesión es de cinco minutos .
Orientación del Snowsight
Cuando te conectes a Snowsight, tendrás acceso a tu menú de Usuario y a tu menú Principal. El menú de Usuario es donde puedes ver tu nombre de usuario y tu rol actual. Por defecto, se te asignará el rol SYSADMIN cuando te registres por primera vez en una cuenta de prueba.
También te darás cuenta de que en el menú Principal aparece por defecto la selección Hojas de trabajo. El área a la derecha del menú Principal es donde tienes más opciones para tu selección del menú Principal. En la Figura 1-5, puedes ver el menú Hojas de trabajo a la derecha del menú Principal. Debajo del menú Hojas de trabajo hay submenús específicos para la selección del menú Principal .
A continuación, estableceremos nuestras preferencias de Snowsight y dedicaremos unos minutos a navegar por el área de Hojas de trabajo de Snowsight.
Preferencias de Snowsight
Para configurar tus preferencias, haz clic directamente en tu nombre, o utiliza la flecha desplegable junto a tu nombre para acceder a los submenús (como se muestra en la Figura 1-6). Verás que aquí es posible cambiar de rol. Prueba a cambiar tu rol por otro distinto y luego vuelve a cambiarlo a SYSADMIN. Esto será importante a lo largo de los ejercicios del capítulo, ya que periódicamente necesitaremos cambiar de rol.
En también te darás cuenta de que el Soporte de Snowflake está disponible desde el menú de Usuario. Siempre que necesites enviar un caso, sólo tienes que hacer clic en Soporte. Es importante tener en cuenta que no podrás crear un caso de soporte si utilizas una cuenta de prueba gratuita.
Haz clic en la opción Perfil y tendrás a tu disposición el submenú Perfil (como se muestra en la Figura 1-7). Entre otras cosas, aquí podrás cambiar tu idioma preferido e inscribirte en la autenticación multifactor (MFA). Aquí es también donde irías si quisieras cambiar tu contraseña.
Si realizas cambios en tu perfil, haz clic en el botón Guardar. De lo contrario, haz clic en el botón Cerrar.
Comunidad Copo de Nieve
Este libro de te enseñará la arquitectura Snowflake y cómo utilizar Snowflake. La información y las lecciones del libro son exhaustivas; no obstante, es posible que te surjan preguntas sobre un tema concreto. Por esta razón, te animo a que te unas y participes en la comunidad Snowflake.
Si quieres ponerte en contacto con otras personas que sienten una pasión similar por Snowflake, hay grupos de usuarios a los que quizá te interese unirte. Algunos grupos de usuarios celebran actos presenciales en Norteamérica, Europa, Oriente Medio y la región Asia-Pacífico. Puedes encontrar más información sobre los grupos de usuarios de Snowflake en su sitio web. También hay grupos virtuales de interés especial (consulta la lista en la Figura 1-27 ), además de los grupos regionales de usuarios. Yo ayudo a gestionar el grupo de interés especial de Colaboración de Datos.
Los grupos de usuarios de Snowflake son sólo una de las formas en que puedes participar en la comunidad Snowflake. También hay grupos comunitarios, un enlace a recursos y acceso a debates disponibles desde la página de inicio de sesión de la comunidad Snowflake. Para acceder a estos grupos y recursos, haz clic en Iniciar sesión en la esquina superior derecha de la página y, a continuación, haz clic en el enlace "¿No eres miembro?" para crear tu cuenta gratuita de miembro de la comunidad Snowflake.
Snowflake tiene un programa especial de Superhéroe de Datos para los expertos de Snowflake que son muy activos en la comunidad. Cada persona reconocida como Superhéroe de Datos recibe un personaje personalizado de Superhéroe de Datos creado por Francis Mao, director de eventos corporativos de Snowflake. ¡ La Figura 1-28 muestra una reunión de algunos de los Superhéroes de Datos de Snowflake, entre los que me incluyo!
Certificaciones Copo de Nieve
A medida que avances en los capítulos del libro, comprobarás que tus conocimientos sobre Snowflake aumentarán rápidamente. En algún momento, quizá quieras plantearte obtener una certificación Snowflake para demostrar esos conocimientos a la comunidad.
Todas las vías de certificación de Snowflake comienzan con el examen de certificación SnowPro Core. Aprobar el examen SnowPro te permite presentarte a cualquiera o a todas las cinco certificaciones avanzadas basadas en funciones: Administrador, Arquitecto, Analista de Datos, Ingeniero de Datos y Científico de Datos. Un certificado Snowflake es válido durante dos años, transcurridos los cuales hay que aprobar un examen de recertificación. La superación de cualquier certificación Snowflake avanzada reinicia el reloj de la certificación SnowPro Core, por lo que dispones de dos años más antes de tener que volver a certificarte. Puedes encontrar más información sobre las certificaciones Snowflake en su sitio web.
Actos del Día de la Nieve y de la Cumbre de los Copos de Nieve
Snowflake organiza muchos eventos a lo largo del año, incluidos sus eventos Data for Breakfast. Los dos eventos principales de Snowflake para obtener información sobre el lanzamiento de nuevos productos son el Snowday y el Snowflake Summit. Snowday es un acto virtual que se celebra cada noviembre. Snowflake Summit es un acto presencial que se celebra cada mes de junio. Snowflake Summit incluye conferencias magistrales, sesiones de trabajo, laboratorios prácticos, una sala de exposiciones y mucho más.
Advertencias importantes sobre los ejemplos de código del libro
Los ejemplos de código creados para cada capítulo del libro se han diseñado para que puedan completarse independientemente de otros capítulos. Esto te permite revisar los ejemplos de cualquier capítulo concreto, así como realizar una limpieza del código al final de cada capítulo.
De vez en cuando, señalaré cómo se ven o funcionan las cosas en una cuenta de prueba gratuita frente a cómo se ven o funcionan en una cuenta de pago. Veremos muy pocas diferencias, pero es importante darse cuenta de que hay algunos aspectos en los que ambas difieren.
La funcionalidad demostrada en los capítulos asume que tienes una instancia Snowflake Enterprise Edition o superior. Si actualmente trabajas en una org Snowflake Standard Edition, deberás crear una cuenta de prueba gratuita y seleccionar Enterprise Edition. De lo contrario, habrá algunos ejemplos que no podrás completar si utilizas una org Snowflake Standard Edition. En el Apéndice C encontrarás más información sobre las distintas ediciones de Snowflake.
Anteriormente en este capítulo has visto cómo utilizar Snowsight para dar formato a tus sentencias SQL. Las sentencias que te proporcionamos en este libro seguirán ese formato siempre que sea posible, pero el formato puede variar ligeramente en ocasiones debido a limitaciones de espacio. Además, en algunos capítulos utilizaremos la base de datos de ejemplo Snowflake que se proporciona con tu cuenta Snowflake. Dado que los datos subyacentes en ese conjunto de datos de muestra de Snowflake cambian a veces, los conjuntos de resultados incluidos en los ejemplos de los capítulos pueden ser ligeramente diferentes de tus resultados. Se facilitarán ejercicios alternativos en https://github.com/SnowflakeDefinitiveGuide para las tablas o esquemas de la base de datos de muestra de Snowflake que posteriormente dejen de estar disponibles.
En de este capítulo, ejecutamos los comandos USE
para establecer el contexto de nuestra base de datos. En los ejemplos de los próximos capítulos, incluiremos los comandos USE
para establecer el contexto. Tienes la opción de ejecutar los comandos USE
o seleccionar el contexto en los menús desplegables.
Para los ejemplos de codificación a lo largo del libro, seguiremos las buenas prácticas de las normas de denominación del Apéndice B siempre que creemos nuestros propios objetos Snowflake. Seguir las buenas prácticas ayuda a que el código sea más sencillo, más legible y más fácil de mantener. También permite crear código reutilizable y facilita la detección de errores. En esta sección, mencionaré algunas de las buenas prácticas más importantes.
Para los nombres de objetos de , utilizaremos todas las letras mayúsculas. Podríamos conseguir los mismos resultados utilizando todas las letras en minúsculas o mixtas, porque Snowflake convierte los nombres de objeto a mayúsculas. Si quieres tener un nombre de objeto con letras mixtas o todo en minúsculas, por ejemplo, tendrás que encerrar tu nombre de objeto entre comillas. También es importante tener en cuenta esta funcionalidad cuando trabajes con herramientas de terceros que se conecten a Snowflake. Algunas herramientas de terceros no aceptan espacios en blanco ni caracteres especiales, por lo que es mejor evitar ambos cuando nombres objetos Snowflake.
Otra buena práctica importante es evitar utilizar el mismo nombre que utiliza un objeto diferente. En capítulos posteriores aprenderás sobre los distintos tipos de tablas, incluidas las tablas temporales y las tablas permanentes. Descubrirás que las tablas temporales se basan en sesiones, por lo que no están sujetas a requisitos de unicidad. Aunque puedes crear una tabla temporal con el mismo nombre que otra tabla, no es una buena práctica hacerlo. Esto se tratará con más detalle en el Capítulo 3.
Snowflake controla el acceso mediante roles, y roles específicos son responsables de crear determinados tipos de objetos. Por ejemplo, el rol SYSADMIN se utiliza para crear bases de datos y almacenes virtuales. Aprenderemos más sobre los roles en el Capítulo 5, y siempre que sea posible, seguiremos las buenas prácticas en nuestros ejemplos. A veces tendremos que apartarnos de las buenas prácticas para simplificar el ejemplo. Cuando eso ocurra, mencionaré que estamos utilizando un rol distinto del recomendado.
Cuando creas un nuevo objeto, puedes utilizar la sentencia CREATE
sola u, opcionalmente, puedes añadir la sintaxis IF NOT EXISTS
o OR REPLACE
a la sentencia CREATE
. Para nuestros ejemplos, utilizaremos la sintaxis CREATE OR REPLACE
para que siempre puedas volver al principio de los ejercicios del capítulo para empezar de nuevo sin tener que soltar objetos primero. En la práctica, sin embargo, asegúrate de utilizar la sintaxis CREATE IF NOT EXISTS
, especialmente en un entorno de producción. Si utilizas por error la sintaxis OR REPLACE
en producción, tienes la opción de utilizar las capacidades de Viaje en el Tiempo de Snowflake para devolver el objeto a su estado original. El Viaje en el Tiempo se demuestra en el Capítulo 7.
Los ejemplos de código del libro se han probado exhaustivamente; no obstante, siempre es posible que haya errores. Si encuentras un error en el código o en el texto, envía tu errata a O'Reilly a https://oreil.ly/snowflake-the-definitive-guide.
Limpieza del código
No hemos creado ningún objeto Snowflake nuevo en este capítulo, por lo que no es necesario limpiarlo. No pasa nada por dejar la carpeta y las hojas de cálculo que hemos creado, ya que no ocupan almacenamiento ni suponen ninguna carga de cálculo.
Resumen
Hay una razón por la que Snowflake se convirtió en la mayor oferta pública inicial de software de la historia, y por la que Snowflake sigue innovando y posibilitando la disrupción del sector. Snowflake Data Cloud es seguro, escalable y fácil de gestionar; su capacidad para eliminar los silos de datos y ejecutar cargas de trabajo desde una única plataforma crea oportunidades para democratizar el análisis de datos. A medida que avances en cada capítulo del libro, verás de primera mano por qué Snowflake es líder en la nueva economía de datos.
En este capítulo introductorio, has podido familiarizarte con Snowsight, la interfaz de usuario web de Snowflake. También has tenido la oportunidad de conocer los eventos de la comunidad Snowflake, así como las certificaciones Snowflake. Y lo que es más importante, te has enterado de las advertencias relativas a los ejemplos de código de este libro. Sobre todo, salvo algunas excepciones, seguiremos las buenas prácticas de Snowflake que se describen en el Apéndice B.
En el próximo capítulo compararemos las arquitecturas tradicionales de plataformas de datos con Snowflake. Luego profundizaremos en las tres capas distintas de Snowflake. Es un capítulo fundacional importante para ayudarte a comprender mejor algunos de los aspectos más técnicos de Snowflake. En también obtendrás experiencia práctica en la creación de nuevos clusters de recursos informáticos denominados almacenes virtuales.
Comprobación de conocimientos
Las siguientes preguntas se basan en la información proporcionada en este capítulo:
-
La cuenta de prueba gratuita de Snowflake te permite utilizar casi todas las funciones de una cuenta de pago. Sin embargo, ¿cuáles son algunas de las diferencias al utilizar una cuenta de prueba de Snowflake?
-
¿Cuáles son tus opciones si no puedes crear un caso de soporte dentro de Snowflake?
-
Explica lo que significa establecer el contexto para tu hoja de trabajo Copo de nieve.
-
¿Qué hace "Formatear consulta"? Concretamente, ¿"Formatear consulta" corrige la ortografía de los comandos o los nombres de las tablas?
-
¿Durante cuánto tiempo son válidas las certificaciones Snowflake? ¿Cuáles son las dos formas de ampliar la fecha de validez de las certificaciones Snowflake?
-
¿De qué dos formas distintas puedes ejecutar una consulta SQL en una hoja de cálculo Snowflake ?
-
Desde dentro de una hoja de cálculo Snowflake, ¿cómo se vuelve al menú principal?
-
¿Cuál es la razón por la que utilizaremos todas las letras mayúsculas al nombrar nuestros objetos Copo de Nieve? ¿Podríamos utilizar en su lugar mayúsculas y minúsculas? Si es así, explica cómo lo haríamos.
-
En futuros capítulos utilizaremos la sentencia
CREATE OR REPLACE
para crear nuevos objetos Snowflake. ¿Por qué es mejor no hacer esto en un entorno de producción? -
Cuando creas una nueva hoja de cálculo Snowflake, ¿cuál es el nombre por defecto de la hoja de cálculo?
Las respuestas a estas preguntas están disponibles en el Apéndice A.
Get Copo de nieve: La Guía Definitiva now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.