programa
Snowflake ofrece una arquitectura especializada para compartir datos de forma segura y eficiente en diversos entornos. Ya sea para colaborar dentro de tu organización o con socios externos, Snowflake ofrece múltiples opciones diseñadas específicamente para este fin, como el intercambio directo, el intercambio de datos y Snowflake Marketplace.
En un contexto empresarial, estas características permiten una colaboración fluida al tiempo que controlan los costes y garantizan una seguridad sólida. Este artículo tiene como objetivo ayudarte a comprender cada método para compartir y ofrece orientación práctica sobre cómo utilizarlos de manera eficaz en situaciones reales. Si eres nuevo en Snowflake, te recomiendo que eches un vistazo a nuestro programa formativo Snowflake Foundations.
¿Qué es Snowflake Data Sharing?
Tradicionalmente, el intercambio de datos se basa en procesos ETL (Extraer, Transformar, Cargar), que implican extraer datos de un sistema de origen y cargarlos en un sistema de destino. Este método requiere copiar y mover físicamente los datos, lo que consume recursos de almacenamiento y computación.
Snowflake elimina la necesidad de copiar o mover físicamente los datos. Con la arquitectura de intercambio de datos de Snowflake, una cuenta (el proveedor) puede conceder acceso en tiempo real y de solo lectura a conjuntos de datos específicos a otra cuenta (el consumidor) sin transferir ni duplicar los datos.
Los consumidores pueden consultar los datos como si estuvieran almacenados localmente, aunque físicamente se encuentren en la cuenta del proveedor. Dado que los datos permanecen en una única ubicación, el proveedor solo incurre en los costes de almacenamiento, lo que hace que este enfoque sea mucho más eficiente y escalable para la colaboración entre cuentas.
¿Cómo funciona el intercambio de datos de Snowflake?
Snowflake permite compartir datos de forma segura y sin copias, utilizando punteros de metadatos en lugar de copiar o mover datos entre sistemas. Crea una referencia al objeto original en la cuenta del proveedor, lo que permite a los consumidores acceder a esta referencia para consultar los datos compartidos.
A ustedes se les concede acceso de solo lectura, lo que significa que pueden leer y explorar los datos, pero no pueden modificar los datos de origen. Dado que los consumidores consultan directamente el almacenamiento del proveedor sin duplicarlo, no se aplican costes de almacenamiento a la cuenta del consumidor.
Además, la arquitectura de Snowflake separa el cálculo y el almacenamiento, lo que facilita operaciones de datos rentables. El proveedor es responsable de los costes de almacenamiento y de los recursos informáticos que utilice, mientras que el consumidor solo paga por los recursos informáticos que utilice.
El intercambio de datos de Snowflake también es escalable. Cada cuenta de Snowflake con acceso a los datos compartidos puede crear su propio almacén virtual y ejecutar consultas de forma independiente, lo que facilita aún más el intercambio de datos escalable.
Además, Snowflake incorpora controles de gobernanza y seguridad para gestionar el acceso compartido. Los proveedores pueden definir la visibilidad de los datos mediante controles de acceso basados en roles y supervisar el uso con registros de auditoría. Estas características garantizan una visibilidad y un control totales sobre los datos compartidos.
Formas de compartir datos en Snowflake
El intercambio de datos en Snowflake se presenta en diversas formas, cada una de ellas diseñada para casos de uso específicos. Exploremos las diferentes capacidades de intercambio de datos para que sepas cuál utilizar.
Acciones directas
Utiliza los recursos compartidos directos para compartir datos con varios usuarios dentro de la misma región de Snowflake. Creas un objeto compartido que incluye bases de datos, tablas y vistas seleccionadas, y luego concedes acceso a cuentas Snowflake de consumidores específicos. Debes enumerar explícitamente cada cuenta que pueda acceder a los datos.
El consumidor crea una base de datos a partir del recurso compartido y puede consultarla directamente. Esta base de datos no consume almacenamiento de datos, sino que sirve como referencia lógica a los datos compartidos.
Las acciones directas solo funcionan cuando compartes datos dentro del mismo proveedor de nube y la misma región. Son ideales para compartir datos con equipos internos, socios comerciales de confianza o un número limitado de cuentas de Snowflake. Esta configuración funciona mejor en relaciones uno a pocos.
Intercambios de datos
Cuando necesitas compartir datos con muchas cuentas o grupos de consumidores, los recursos compartidos directos pueden resultar ineficaces, ya que tienes que especificar cada cuenta de Snowflake individualmente. En este caso, el intercambio de datos es la mejor opción.
Con un intercambio de datos, publicas tus conjuntos de datos como productos de datos en un mercado privado e invitas a grupos de consumidores a acceder a ellos. Esta configuración funciona como un catálogo con función de búsqueda en el que los consumidores pueden explorar y suscribirse a los datos que necesitan. Dado que el intercambio es privado, solo las cuentas o grupos internos invitados pueden acceder a él.
El intercambio de datos entre regiones o entre múltiples nube es posible gracias a la replicación de datos de Snowflake, lo que hace que los intercambios de datos sean ideales para compartir entre diferentes unidades de negocio o franquicias en grandes organizaciones.
Por ejemplo, si deseas compartir datos de ventas de clientes con diferentes equipos de la empresa, puedes crear un Snowflake Data Exchange privado denominado «customer_behaviour_data» y publicar varios listados del mismo conjunto de datos, cada uno con diferentes permisos de acceso. Cada equipo puede suscribirse al listado que satisfaga sus necesidades de datos, lo que facilita una colaboración más fluida y segura entre equipos con diferentes niveles de acceso.
Mercado Snowflake
Snowflake Marketplace funciona como la App Store de Apple, pero para datos. Es un mercado público en el que los proveedores comparten productos de datos con cualquier usuario de Snowflake. Los proveedores crean listados, añaden metadatos, ofrecen vistas previas y establecen condiciones de uso para que los consumidores puedan encontrar fácilmente lo que necesitan.
Al publicar, los proveedores pueden elegir entre listados públicos (visibles para todos los clientes de Snowflake) o listados privados (visibles solo para cuentas seleccionadas).
Los consumidores pueden buscar en el Marketplace utilizando palabras clave relevantes. Para los listados públicos, pueden suscribirse directamente; para los listados privados, deben solicitar acceso. Una vez aprobados, pueden ver y consultar los conjuntos de datos directamente en sus cuentas de Snowflake.
Snowflake Marketplace admite anuncios de pago con precios basados en el uso y en suscripciones. La facturación es procesada por Snowflake (por ejemplo, a través de Stripe) y puede reducir la capacidad contratada para los consumidores elegibles. Por ejemplo, una empresa financiera podría vender un paquete que contenga datos bursátiles en tiempo real y precios históricos. Snowflake facturará a los usuarios según el modelo de precios del proveedor y el uso real.
Cuentas de lectores
Las cuentas de lector de Snowflake te permiten compartir datos con terceros que no tienen cuentas de Snowflake.
En lugar de exigir al consumidor que configure y pague Snowflake, los proveedores crean y gestionan la cuenta del lector en tu nombre.
A continuación, el proveedor utiliza acciones para compartir bases de datos con cuentas de lectores y proporciona estas cuentas a los consumidores. Es importante recordar que una cuenta de lector solo puede consumir datos de la cuenta de proveedor que la ha creado.
Las cuentas de lector están destinadas principalmente a consultar conjuntos de datos compartidos. Cualquier computación utilizada dentro de la cuenta del lector a través de almacenes virtuales se factura a la cuenta del proveedor . Para limitar el uso, puedes configurar un monitor de recursos para el almacén.
Descripción general de los proveedores y consumidores de datos
Ahora que ya conoces los diferentes tipos de recursos compartidos de datos en Snowflake, veamos qué son los proveedores y los consumidores de datos. ¿De qué es responsable cada función y qué limitaciones debes tener en cuenta al compartir o acceder a datos?
Acerca de los proveedores
En Snowflake, los proveedores de datos son propietarios de los datos que desean compartir. Tenéis control total sobre los datos compartidos y podéis decidir qué datos compartir y quién puede acceder a ellos. A menudo son responsables de:
- Definir qué contenido compartir y con quién
- Conceder o revocar permisos de acceso
- Garantizar que los datos compartidos sean limpios, fiables y estén actualizados.
- Auditar el acceso y realizar un seguimiento del uso a través de registros para garantizar el cumplimiento normativo.
Para garantizar un intercambio de datos seguro y fiable, los proveedores deben seguir estas prácticas recomendadas:
- Utiliza vistas seguras para mostrar solo las columnas o filas necesarias, ocultando los datos confidenciales o sin procesar.
- Aplicar catálogos de metadatos para que los activos compartidos sean más fáciles de encontrar y comprender.
- Incorporar el seguimiento del linaje y registro para supervisar los cambios en los conjuntos de datos compartidos.
- Aplica controles de acceso basados en roles para garantizar que solo los usuarios autorizados puedan acceder a datos específicos.
Acerca de los consumidores
Los consumidores son los destinatarios del intercambio de datos de Snowflake. No son propietarios de los datos, sino que consultan los datos compartidos por los proveedores utilizando sus propios recursos informáticos. Esto significa que los consumidores acceden a los datos y los analizan.
Dado que no pagáis por el almacenamiento, vuestra principal responsabilidad es gestionar vuestros almacenes virtuales y consultar la eficiencia para optimizar los costes informáticos.
En caso de que realicen consultas desde cuentas de lectores, los recursos informáticos que utilicen también se facturarán a los proveedores.
La principal limitación de un consumidor es que solo pueden leer los datos compartidos. No pueden modificar, insertar ni eliminar registros en el conjunto de datos. Además, los consumidores no ven ningún cambio interno realizado por el proveedor. Siempre ven la última versión de los datos disponibles.
Implementación del intercambio de datos en Snowflake
Hemos cubierto los conceptos clave para ayudarte a empezar a compartir datos en Snowflake. Tanto si estás creando un perfil de proveedor, configurando una cuenta de consumidor o gestionando una cuenta de lector, en esta sección se trata todo ello.
Configuración como proveedor de datos
Para publicar datos en Snowflake Marketplace o en un intercambio de datos privado, primero debes configurar un perfil de proveedor. Una vez que solicites el perfil de proveedor, Snowflake revisará y aprobará los datos de tu empresa. Una vez aprobado, puedes empezar a crear y publicar tus anuncios.
A continuación, se explica cómo configurar un perfil de proveedor:
- Paso 1: Inicia sesión en tu cuenta de Snowflake.
- Paso 2: Asegúrate de que estás en el rolACCOUTADMIN de .
- Paso 3: En la barra lateral izquierda, haz clic enProductos de datos de y, a continuación, selecciona Provider Studio.

- Paso 4: Selecciona la pestaña « » ( Perfiles de control de acceso ) y, a continuación , haz clic en el botón«Create Profile» (Crear perfil ), tal y como se muestra en la imagen siguiente.

- Paso 5: En el formulario que aparece, completa la información requerida sobrela organización y los datos de contacto para completar la configuración de tu perfil de proveedor.
Configuración como consumidor de datos
- Paso 1: Inicia sesión en tu cuenta de Snowflake.
- Paso 2: En la barra lateral izquierda, haz clic enProductos de datos de y, a continuación, selecciona Compartir de forma privada.

- Paso 3: Ve a la pestaña« o compartido contigo» para ver los datos compartidos que te han enviado.
Compartir con cuentas de lector
Paso 1: Inicia sesión en tu cuenta de Snowflake.
Paso 2: En el menú de la izquierda, selecciona« » (Administración y cuentas).

Paso 3: Selecciona la pestaña Cuentas de y, a continuación, ve a la subpestañaCuentas de lectores.
Paso 4: Para añadir una nueva cuenta de lector, haz clic en el botón « ar +Cuenta de lector» situado en la esquina superior derecha y, a continuación, rellena los datos necesarios en el formulario emergente.

Arquitectura de seguridad
Los datos compartidos en Snowflake son intrínsecamente seguros, ya que los usuarios tienen acceso de solo lectura y no pueden modificar, insertar ni eliminar ningún dato compartido. Para reforzar aún más la seguridad más allá de este control de acceso predeterminado, Snowflake también sigue estas medidas:
Objetos de datos seguros
Puedes compartir tablas, vistas seguras y UDF seguras; las vistas no seguras no se pueden compartir. Las vistas seguras impiden que los consumidores accedan a las tablas base subyacentes o vean la lógica SQL utilizada para definir la vista. Esto garantiza que la lógica empresarial confidencial, los cálculos propios o las funciones definidas por el usuario permanezcan ocultos para los usuarios finales.
Las vistas seguras también admiten políticas de acceso a nivel de fila y enmascaramiento a nivel de columna, lo que las hace eficaces para aplicar controles de acceso a datos granulares. Puedes combinar estas políticas con el control de acceso basado en roles para garantizar que cada consumidor solo vea los datos que está autorizado a ver.
Snowflake también te permite implementar esquemas separados para recursos compartidos internos y externos. Por ejemplo, puedes almacenar conjuntos de datos sin procesar y confidenciales en un esquema y mostrar solo vistas enmascaradas o agregadas en otro, restringiendo así el acceso de los consumidores a los datos confidenciales.
Seguridad entre regiones
En las acciones directas, Snowflake comparte metadatos y punteros a objetos originales dentro de la misma región y plataforma en la nube. Pero si la cuenta del consumidor se encuentra en otra región o en la nube, los recursos compartidos directos no funcionan. Ahí es donde entra en juego la replicación.
El proveedor primero replica los datos en una región donde existe una cuenta de consumidor. A continuación, crean un objeto compartido que apunta a los datos replicados y concede acceso al consumidor. A continuación, el consumidor consulta los datos replicados mediante un acceso de solo lectura, al igual que con los recursos compartidos directos.
Snowflake protege todos los datos replicados mediante su cifrado en reposo y en tránsito.
Además, la replicación de datos sigue rutas de datos internas controladas por Snowflake, no rutas públicas de Internet. Al igual que con los recursos compartidos directos, el consumidor nunca es propietario de la base de datos replicada; siempre se trata de un acceso de solo lectura.
Prácticas recomendadas para compartir datos en Snowflake
Estas prácticas recomendadas protegen los datos confidenciales, optimizan el uso de los recursos y garantizan el cumplimiento de las normativas de privacidad de datos, lo que permite una colaboración escalable entre entornos.
Marco de gobernanza
Un marco de gobernanza sólido garantiza que los datos compartidos lleguen a los usuarios adecuados con los permisos de acceso apropiados. Evita el uso indebido y permite realizar un seguimiento de todos los accesos y acciones.
Comienza con la clasificación de datos. Etiqueta claramente tus datos como confidenciales, restringidos o públicos, y aplica controles de seguridad específicos para cada categoría con el fin de minimizar el riesgo y evitar la exposición accidental.
Incorporar revisiones periódicas del acceso y auditorías del uso. El hecho de que un usuario necesitara acceso hace seis meses no significa que todavía lo necesite hoy. Por lo tanto, revisa y actualiza los permisos periódicamente para ajustar el acceso a las funciones y responsabilidades actuales.
Utiliza los registros de acceso de Snowflake para supervisar el uso de los datos compartidos. Estos registros rastrean quién consultó los datos, con qué frecuencia y qué acciones realizaron, lo que facilita el cumplimiento normativo y el ajuste del rendimiento.
Para aplicar controles de acceso granulares, aprovecha la seguridad a nivel de fila y columna. El enmascaramiento a nivel de columna oculta los campos confidenciales mientras expone el resto del conjunto de datos. Las políticas a nivel de fila te permiten restringir el acceso a registros específicos en función de los roles o atributos de los usuarios.
Optimización del rendimiento
Además de proteger los datos compartidos, los proveedores son responsables de optimizar el rendimiento de los conjuntos de datos para garantizar un acceso y una consulta eficientes para los consumidores.
Utiliza claves de agrupación en Snowflake para mejorar el rendimiento de las consultas y la eficiencia del almacenamiento. Esto funciona como la partición de tablas. Por ejemplo, si tu conjunto de datos de ventas se consulta a menudo por «precio» y «región», puedes establecerlos como claves de agrupación. Snowflake organizará físicamente los datos subyacentes de manera que las filas con valores similares para «precio» y «región» se almacenen juntas. Esto permite un acceso más rápido y una búsqueda más eficiente.
Para las métricas empresariales de uso común, comparte vistas materializadas junto con los conjuntos de datos base. Esto implica calcular previamente métricas como los ingresos mensuales por región, las ventas semanales medias o el número de promociones, y compartirlas con los datos subyacentes. Los consumidores pueden consultar estas vistas directamente, lo que mejora tanto el rendimiento como la coherencia en todos los casos de uso.
Validación y actualización de datos compartidos
Compartir datos precisos es fundamental para un uso eficiente del intercambio de datos de Snowflake. Para garantizar la calidad de los datos, valida los datos compartidos con respecto a la fuente. Compara recuentos de filas, ejecuta comprobaciones de agregación o estadísticas resumidas, y realiza comprobaciones de integridad del esquema, comprobaciones de valores nulos y validaciones de metadatos. Estas validaciones garantizan que compartas datos completos y precisos.
Añadir nuevas fuentes de datos o cambiar esquemas puede resultar difícil de gestionar, especialmente cuando hay varios recursos compartidos de datos. Para simplificar las migraciones, compartid vistas en lugar de tablas sin procesar. Las vistas actúan como una capa flexible, lo que te permite cambiar la estructura de datos subyacente o las tablas backend sin alterar las consultas de los consumidores.
Cuando actualices conjuntos de datos compartidos, utiliza el control de versiones. Las vistas versionadas o las versiones de esquema te permiten realizar un seguimiento de los cambios, probar nuevas lógicas y revertir los cambios si algo sale mal.
Informa a tus consumidores sobre los próximos cambios que puedan afectar a los datos compartidos. Un simple aviso les da tiempo a los usuarios para adaptarse y prepararse para la transición.
Limitaciones y consideraciones
Los recursos compartidos de datos de Snowflake tienen algunas restricciones integradas. No son factores decisivos, pero es importante tenerlos en cuenta a la hora de planificar.
No todos los tipos de objetos se pueden compartir. Puedes compartir tablas, vistas seguras y UDF seguras. No puedes compartir vistas no seguras, procedimientos almacenados, etapas de archivos y tareas o flujos.
Aunque Snowflake Marketplace y los intercambios de datos comparten datos entre regiones, los intercambios directos de datos solo pueden realizarse dentro de la misma región y entorno de nube. Para evitar esta limitación, necesitarás la replicación entre regiones/nubes de Snowflake (que requiere la edición Enterprise o superior).
Los consumidores solo tienen acceso de lectura a los datos compartidos. No pueden modificar, insertar ni eliminar registros. Si necesitan transformar o escribir los datos, tendrán que copiarlos en su propio entorno, lo que supone costes adicionales de almacenamiento y computación.
Conclusión
El uso eficaz de los recursos compartidos de datos en Snowflake permite aprovechar todo el potencial de una colaboración segura y rentable. Los proveedores pueden compartir datos en tiempo real y consultables con los consumidores, sin necesidad de ETL ni duplicación de datos. Cualquier actualización de los datos originales se refleja inmediatamente en las cuentas de los consumidores, lo que garantiza el acceso a la información más actualizada.
Al adoptar el modelo de intercambio de datos de Snowflake, las organizaciones pueden ampliar la colaboración en materia de análisis, mejorar la gobernanza y maximizar el valor de sus activos de datos. Sin embargo, esto solo resulta útil cuando los consumidores no necesitan editar los datos compartidos.
Si eres nuevo en Snowflake, comienza con esta guía para principiantes sobre cómo aprender a utilizar Snowflake. Para ampliar tus conocimientos, consulta nuestro programa de habilidades Snowflake Foundations y nuestro curso sobre modelado de datos en Snowflake.
Preguntas frecuentes sobre el intercambio de datos de Snowflake
¿Cómo garantiza Snowflake la seguridad de los datos durante el intercambio?
Snowflake utiliza una arquitectura sin copia que proporciona acceso de solo lectura a los consumidores a través de punteros de metadatos seguros. También utiliza vistas seguras de forma predeterminada al compartir datos.
¿Cuáles son las principales diferencias entre los recursos compartidos directos y los intercambios de datos en Snowflake?
Las acciones directas se utilizan para compartir datos con cuentas específicas de Snowflake dentro de la misma región. Son adecuados para configuraciones de intercambio de datos uno a uno o uno a pocos. Los intercambios de datos son muy adecuados para compartir datos de forma escalable, ya que los proveedores publican los datos en un mercado y los consumidores acceden a ellos desde allí.
¿Cuáles son las ventajas de utilizar vistas seguras para compartir datos en Snowflake?
Las vistas seguras impiden que los consumidores vean las tablas base subyacentes y la lógica SQL. Admiten seguridad a nivel de fila y columna, lo que permite un control granular de la visibilidad.
¿Qué objetos se pueden compartir en Snowflake?
Puedes compartir tablas, vistas (estándar, seguras), vistas materializadas, UDF, secuencias, tablas externas y funciones seguras.
¿Podemos programar el uso de nuestros datos compartidos?
Sí. Snowflake proporciona funciones de historial de acceso y historial de consultas que te permiten supervisar cómo se utilizan los objetos compartidos, quién ha accedido a ellos y cuándo. Esto ayuda con la auditoría y la gobernanza.
Srujana es una redactora técnica autónoma con una licenciatura de cuatro años en Informática. Escribir sobre diversos temas, como la ciencia de datos, la computación en la nube, el desarrollo, la programación, la seguridad y muchos otros, le resulta natural. Le encanta la literatura clásica y explorar nuevos destinos.

