Next Tech

Secure Data Sharing, la compartición segura de datos en Snowflake

4 Mins de lectura

Tradicionalmente, cuando un usuario de bases de datos quería compartir información con otro usuario, tenía que hacer una copia de los datos, duplicando los recursos a compartir. Snowflake proporciona una solución óptima para la compartición de datos que no solo evita la duplicidad, sino que también permite la actualización de los datos compartidos en real time: el Secure Data Sharing.

¿Qué es el Secure Data Sharing?

El Secure Data Sharing es una funcionalidad de Snowflake que permite compartir objetos de base de datos desde una cuenta de Snowflake a otros usuarios tengan o no una cuenta de Snowflake. Al usuario que comparte los datos se le llama productor y al usuario que los recibe se le llama consumidor.

¿Qué ventajas proporciona frente a las formas tradicionales de compartir datos?

La forma en la que se han compartido los datos hasta ahora ha consistido en hacer una copia de los mismos y compartirla. De esta forma, se duplica el gasto en almacenamiento y se tiene la limitación de que, si se realiza algún cambio en los datos originales, la copia no estará actualizada.

Gracias a la arquitectura única de Snowflake, este ofrece una forma más eficiente de llevar a cabo dicho proceso. Como en este software el almacenamiento y los recursos de cómputo están separados, al compartir datos no se ha de realizar una copia de los mismos, sino que el consumidor, al igual que el productor, accede al dato original de la capa de almacenamiento. Esto permite no aumentar el gasto de almacenamiento al compartir datos y que los recursos compartidos estén actualizados en real-time. Dado lo anterior y por seguridad, los datos compartidos están en formato read-only para el consumidor.

Además, como se ha mencionado anteriormente, no es necesario que el consumidor de los datos tenga cuenta de Snowflake, ya que este puede acceder a los datos compartidos a través de una reader account creada por el consumidor.

¿Cuáles son sus restricciones?

En el caso de compartir datos entre dos cuentas de Snowflake, solo se pueden compartir datos entre cuentas situadas en la misma región y plataforma cloud. Si se quiere compartir datos con una cuenta en otra región, el productor debe replicar su cuenta en dicha región y realizar la compartición de datos. Lo mismo se habría de hacer si se pretende compartir datos entre cuentas cuyo almacenamiento es proporcionado por diferentes plataformas cloud.

Además, solo se pueden compartir los siguientes objetos:

  • Bases de datos
  • Esquemas
  • Tablas (externas e internas)
  • Vistas seguras y vistas seguras materializadas
  • Funciones definidas por el usuario seguras

¿Cómo se utiliza el Secure Data Sharing?

Para realizar la compartición de datos, el consumidor tiene que crear un objeto SHARE, el cual encapsula toda la información necesaria para realizar la compartición de datos. Después, dependiendo de si el consumidor tiene cuenta de Snowflake o no, se procede de forma distinta. En el primer caso, el consumidor crea una base de datos compartida a partir del SHARE y accede a los datos consultando sobre esta. En el segundo caso, el productor tiene que crear una reader account a la cual el consumidor puede acceder y trabajar como si tuviera una cuenta en Snowflake.

Además, si el productor quiere compartir datos con, por ejemplo, una compañía externa, es bastante común que tenga que compartir datos con varios usuarios que no tengan cuenta de Snowflake. Para ello, el productor tiene que crear una reader account y, dentro de esta, crear tantos usuarios como consumidores haya para que cada uno de ellos pueda acceder a la misma cuenta con distintos logins.

¿Cómo se reparten los costes de este servicio?

Como no se hace una copia de los datos, el consumidor no paga por el almacenamiento de los datos, solo lo hace el productor.

En el caso de compartir datos entre dos cuentas de Snowflake, el consumidor paga por los recursos de cómputo que utilice. En otro caso, como hemos visto, el productor debe crear una reader account que pertenecerá a este y por la que pagará los recursos de cómputo que se consuman en esta.

Data Marketplace: ¿qué es?

Es un sitio web que permite la compraventa de datos en línea con el objetivo de proporcionar datos externos a las empresas que puedan complementar y enriquecer sus datos internos para, así, monitorear tendencias, sacar conclusiones más acertadas y hacer predicciones más exactas. Entre otros, se comparten datos de inteligencia empresarial, investigación, datos demográficos, meteorológicos, filmográficos, de mercado o datos públicos.

Snowflake Data Marketplace

Snowflake proporciona un Data Marketplace que permite el acceso en vivo a datos listos para consultar y la posibilidad de compartir datos propios en un ecosistema de socios comerciales y clientes. Además, Snowflake elimina la necesidad de integrar y modelar los datos al consumidor ya que proporciona acceso seguro a los conjuntos de datos mantenidos por el proveedor.

En el Snowflake Summit 2022, la compañía anunció el lanzamiento del Snowflake Native Application Framework. Este producto, actualmente en versión preliminar privada, consiste en que el Snowflake Marketplace permitirá a los desarrolladores crear, monetizar e implementar aplicaciones de uso intensivo de datos de forma nativa dentro de sus cuentas de Snowflake. Esta funcionalidad permite al usuario tanto utilizar funcionalidades de la plataforma como procedimientos almacenados, UFDs, Time Travel, Fail Safe o Streamlit, como evitar el movimiento o compartición de datos para trabajar con aplicaciones, consiguiendo una ventaja evidente sobre la forma de trabajo tradicional.

En Hiberus somos Service Partner Select de Snowflake y contamos con un equipo certificado en la plataforma que tiene una gran experiencia en el desarrollo de estrategias de datos. Podemos ayudarte a diseñar, migrar, implantar y sacar el máximo partido de las soluciones Snowflake más adecuadas para tu negocio. ¿Hablamos?

1 posts

Sobre el autor
Data Engineer en Hiberus.
Artículos

Líderes en visualización y análisis de datos, Big Data y Machine Learning

Nuestra área Data & Analytics está dedicada al desarrollo de soluciones y proyectos basados en tecnologías de datos.

¿Te interesa?

Artículos relacionados
Next Tech

Cómo aumentar la productividad con Low Code

4 Mins de lectura
Las herramientas de desarrollo Low Code están cambiando la forma en que las empresas desarrollan y automatizan sus procesos de negocio. Con…
Next Tech

¿Qué es Dataform?

4 Mins de lectura
Actualmente, aprovechar los datos es un requisito clave para el éxito de las organizaciones. Sin embargo, para satisfacer las necesidades de datos…
Next Tech

Cómo automatizar pruebas funcionales con Selenium

3 Mins de lectura
En los proyectos de desarrollo de software, se considera que está implícito contar con la implementación de pruebas, automáticas o manuales, que…

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *