Snowflake 101: Introducción a la Nube de Datos Snowflake

Snowflake 101: Introducción a la Nube de Datos Snowflake

  • Nube
6 min de lectura Actualizado Jun 10, 2021

Puntos clave: Snowflake es una plataforma de almacenes de datos basada en la nube diseñada para una gestión escalable de datos utilizando SQL compatible con ANSI. Cuenta con una interfaz web, múltiples conectores de cliente y medidas de seguridad robustas, lo que la hace ideal para manejar grandes volúmenes de datos.

  • Soporta varios formatos de datos y métodos de carga.
  • Ofrece una prueba gratuita de 30 días para nuevos usuarios.

Con el constante aumento de volumen y velocidad de los datos, las organizaciones buscan soluciones para procesar big data y cualquier desafío relacionado. ¿Una de las primeras decisiones que toman las organizaciones? Adoptar un modelo basado en la nube que ofrezca flexibilidad, escalabilidad y alto rendimiento.

Snowflake está una plataforma de almacenamiento de datos basada en la nube que está ganando popularidad gracias a sus numerosas funciones y eficiencia.

En este artículo, profundizamos en la arquitectura de Snowflake, sus características clave y el propósito que cumple.

¿Qué es Copo de Nieve?

Copo de Nieve

Snowflake es una plataforma de almacén de datos (DWH) basada en SaaS que funciona sobre una infraestructura en la nube de AWS o MS Azure. (Puede que te oigas esto llamado almacén de datos como servicio.)

A diferencia de otras soluciones de almacén, Snowflake utiliza un motor SQL mejorado compatible con ANSI que está diseñado para funcionar exclusivamente en la nube.

Fundamentalmente, la arquitectura central de Snowflake le permite ejecutarse en la nube pública, utilizando instancias virtuales de cómputo y buckets de almacenamiento eficientes, convirtiéndolo en una solución altamente escalable y rentable para procesar enormes cantidades de big data.

(Entiende las diferencias entre almacenes de datos y bases de datos.)

Características clave de Snowflake

En comparación con las tecnologías clásicas de DWH, Snowflake ofrece varias características, entre ellas:

Características clave de Copo de Nieve

Soporte SQL estándar y extendido

Como almacén de datos basado en SQL, soporta el lenguaje definido por datos especificado y los comandos DML del lenguaje de manipulación de datos usados por SQL. También proporciona comandos DML avanzados para operaciones multi-tabla como INSERT, GERGE y MULTI-MERGE.

Con Snowflake, los usuarios pueden:

  • Configura tablas temporales y transitorias para datos a corto plazo
  • Utilizar funciones agregadas analíticas y estadísticas y vistas laterales
  • Crea funciones definidas por el usuario (UDFs) para extender funcionalidades tanto en SQL como en JavaScript

(Compárese con almacenamiento de datos SQL y sin SQL .)

Interfaz gráfica de usuario (GUI) basada en la web

Snowflake proporciona una interfaz web para que los usuarios interactúen con la nube de datos. Con la interfaz web GUI, los usuarios pueden:

  • Gestiona su cuenta y otros ajustes generales
  • Supervisa los recursos y el uso del sistema
  • Datos de consulta

Cliente de línea de comandos (CLI)

Snowflake proporciona una CLI basada en Python llamada SnowSQL para conectarse al DWH. Es una herramienta terminal separada descargable e instalable para ejecutar todas las consultas, incluyendo la definición y la manipulación de datos para cargar y descargar datos.

(Obtén con nuestra introducción a Python.)

Conjunto enriquecido de conectores cliente

Snowflake ofrece una amplia gama de conectores y controladores que los usuarios pueden utilizar para conectarse a su nube de datos. Algunos de estos conectores cliente incluyen:

  • Python Connector, una interfaz de programación para escribir aplicaciones en Python que se conectan a Snowflake
  • Controlador NodeJS
  • Controlador ODBC para desarrollo en C/C++
  • Controlador JBDC para programación en Java

Extensos plugins de terceros

Además de las interfaces programáticas mencionadas anteriormente, varias otras herramientas de big data se integran con Snowflake. Estas herramientas van desde herramientas de inteligencia empresarial hasta integración de datos, aprendizaje automático, seguridad y software de gobernanza.

Datos de carga y descarga masiva

Snowflake permite cargar datos en diferentes formatos y desde diversas fuentes de datos, siempre que los datos utilicen una codificación de caracteres soportada. Los usuarios pueden cargar datos desde:

  • Archivos comprimidos
  • Fuentes de datos de AWS S3
  • Archivos locales
  • Archivos de datos planos como CSV y TSV
  • Archivos de datos en formatos Avro, JSON, ORC, Parquet y XML

Además, con Snowpipe, los usuarios pueden cargar datos continuamente en lotes desde las etapas de Snowflake, AWS S3 o almacenamiento de Azure.

Protección y seguridad de datos adecuadas

Con Snowflake, los usuarios pueden:

  • Establecer regiones para almacenamiento de datos que cumplan con las directrices regulatorias
  • Ajustar sus niveles de seguridad según los requisitos

Snowflake también cifra automáticamente los datos. El control de acceso a nivel de objeto ofrece un control granular sobre quién puede acceder a qué.

Arquitectura de copos de nieve

Snowflake sigue una combinación de arquitectura de base de datos de disco compartido y de base de datos sin nada compartido . Consiste en:

  • Un repositorio central que mantiene datos
  • Los nodos de cómputo dentro del almacén de datos pueden acceder a ese almacenamiento base en disco

Para ejecutar consultas, Snowflake utiliza nodos de clúster distribuidos de Procesamiento Masivo Paralelo (MPP), cada uno con su propio almacenamiento local para almacenar partes de los datos localmente, CPU y memoria.

VPC

El marco de Snowflake está típicamente segregado en tres capas. Todas estas capas son independientes entre sí y pueden escalarse, configurarse y gestionarse individualmente. Estas capas incluyen:

  • Capa de almacenamiento
  • Capa de cómputo
  • Capa de servicios en la nube

Capa de almacenamiento

La capa en la que se encuentra el repositorio central. Cualquier dato cargado en el sistema se divide y reorganiza en el formato columnar comprimido y optimizado internamente de Snowflake, cifrado usando AES 256 y posteriormente almacenado en almacenamiento en la nube. Snowflake realiza automáticamente la partición pero proporciona ajustes para que los usuarios configuren los parámetros de las particiones.

Los datos almacenados en esta capa están centrales, y todos los nodos del clúster pueden acceder a ellos. Snowflake gestiona todos los aspectos del almacenamiento de datos, permitiendo así a los usuarios interactuar con los datos subyacentes solo mediante consultas SQL.

Capa de cómputo

La capa de cómputo se encarga de la ejecución de consultas. Esto lo hace utilizando almacenes virtuales, que son clústeres de cómputo MPP independientes con múltiples nodos de cómputo.

Snowflake asigna estos nodos de computación de un proveedor de nube elegido a cada usuario. Estos clústeres son autónomos—cuentan con su propia CPU, memoria y almacenamiento local—donde el rendimiento de uno no afecta a los demás.

Capa de servicios en la nube

Snowflake ofrece una colección de servicios para administrar y gestionar una nube de datos de Snowflake. Esta capa está donde se desarrollan varias actividades:

  • Control de acceso
  • Autenticación
  • Gestión de infraestructuras
  • Gestión de metadatos
  • Análisis sintáctico de consultas
  • Optimización

¿Por qué utilizar Snowflake?

Son muchas razones por las que las organizaciones optan por Snowflake. Aquí son las principales razones:

  • La arquitectura híbrida ofrece a los usuarios lo mejor de ambos mundos. Los usuarios pagan por separado por el repositorio central subyacente y toda la potencia de cálculo que necesiten.
  • Basado en SQL para aprendizaje rápido. Una implementación basada en SQL garantiza que los desarrolladores no tengan que pasar por una curva de aprendizaje pronunciada para entender nuevas tecnologías.
  • Primero los datos. Soporta clonación de datos y el intercambio seguro de datos.
  • No hay configuración de infraestructura. Snowflake no requiere ninguna configuración de infraestructura; en su lugar, Snowflake lo hace automáticamente una vez que te elegido el proveedor de servicios en la nube preferido.

Empezando con Snowflake

¿Listo para Obtén empezar? Snowflake ofrece actualmente una prueba gratuita de 30 días para nuevos usuarios. Una vez te Obtén acceso, te puede:

  • Consulta nuestro menú de Guía de Copos de Nieve, a la derecha, para varios tutoriales.
  • Consulte la documentación oficial

El copo de nieve está nativo de las nubes

Los servicios nativos en la nube son la nueva normalidad.

Snowflake es uno de los servicios DWH que ha sido creado específicamente para la nube y que permite a las organizaciones gestionar un enorme almacenamiento y procesamiento de big data al escalar computación y almacenamiento de forma independiente. Para una ejecución de consultas más rápida y un rendimiento mejorado, Snowflake permite a los usuarios escalar con almacenes de datos adicionales ofreciendo recursos de cómputo adicionales, según sea necesario.

Snowflake permite análisis eficientes a gran escala — y cuando te orquestar cargas de trabajo de Snowflake con Control-M, te añadir programación empresarial, gestión SLA y gestión de dependencias entre sistemas para mantener los datos de Snowflake Pipelines funcionando de forma fiable en producción.

Lecturas relacionadas

Estas publicaciones son mías y no representan necesariamente la posición, estrategias u opinión de BMC.

Más de Nube

Suscríbete al Informe

Al registrarse para esta oferta te son confirmar que te leído y aceptado la Política de Privacidad de BMC.

Gracias te

Tú te has suscrito a The Brief
El Brief abarca la orquestación de mainframe y empresa—BMC AMI y Control-M—y la investigación de analistas, despliegues de clientes y eventos en ambas áreas.