Snowflake Data Sharing: Cara Berbagi Data Secara Aman

Di lingkungan bisnis modern, data tidak hanya digunakan oleh satu tim atau satu sistem. Perusahaan sering kali perlu berbagi data dengan berbagai pihak, mulai dari departemen internal, anak perusahaan, partner bisnis, supplier, customer, hingga organisasi eksternal.

Masalahnya, metode berbagi data secara tradisional sering membutuhkan proses export, transfer file, ETL, dan pembuatan salinan data. Selain memerlukan waktu dan effort, pendekatan tersebut juga dapat meningkatkan risiko data duplication, data inconsistency, dan masalah governance.

Snowflake Data Sharing menawarkan pendekatan yang berbeda.

Dengan fitur Secure Data Sharing, organisasi dapat memberikan akses terhadap data yang dipilih kepada account Snowflake lain tanpa harus melakukan copy atau transfer data secara fisik. Data tetap berada pada account provider dan dapat diakses oleh consumer secara read-only.

Pendekatan ini membuat proses kolaborasi data menjadi lebih cepat, terkontrol, dan scalable untuk kebutuhan enterprise.

Apa Itu Snowflake Data Sharing?

Snowflake Data Sharing adalah kemampuan di Snowflake yang memungkinkan sebuah account berbagi database objects tertentu dengan account Snowflake lainnya melalui mekanisme yang disebut share.

Account yang menyediakan data disebut data provider, sedangkan account yang menerima dan menggunakan data disebut data consumer. Consumer dapat membuat database dari share tersebut dan melakukan query terhadap data yang dibagikan.

Salah satu karakteristik utama Secure Data Sharing adalah tidak adanya data copy atau data transfer secara fisik antar-account untuk direct sharing. Shared data tetap berada pada provider dan consumer dapat mengaksesnya melalui Snowflake services layer. Data yang di-share juga tidak menambah storage pada account consumer. Consumer tetap menggunakan compute resource mereka sendiri ketika melakukan query.

Secara sederhana:

Consumer mendapatkan akses terhadap data yang telah diberikan izin tanpa harus membuat salinan data di environment mereka.

Bagaimana Cara Kerja Snowflake Data Sharing?

Snowflake Data Sharing menggunakan konsep provider dan consumer.

1. Provider Menentukan Data yang Akan Dibagikan

Provider memilih database objects yang ingin diberikan kepada consumer.

Snowflake mendukung berbagai object untuk Secure Data Sharing, termasuk database, tables, dynamic tables, external tables, Iceberg tables, views, secure views, materialized views, semantic views, Cortex Search services, UDFs, dan beberapa jenis model tertentu.

Provider dapat memberikan akses secara granular sehingga tidak semua data dalam database harus dibagikan.

2. Provider Membuat Share

Provider membuat sebuah share, yaitu object Snowflake yang menyimpan informasi mengenai data dan akses yang akan diberikan.

Provider kemudian memberikan privilege terhadap object tertentu kepada share dan menentukan account consumer yang dapat mengaksesnya.

3. Consumer Mengimpor Share

Setelah share tersedia, consumer dapat membuat database dari share tersebut.

Database hasil import bersifat read-only. Consumer dapat melakukan query terhadap data yang dibagikan, tetapi tidak dapat mengubah atau menghapus object yang berasal dari share.

4. Consumer Menggunakan Data

Setelah database tersedia, data dapat digunakan seperti sumber data lainnya untuk kebutuhan:

  • Analytics
  • Business intelligence
  • Reporting
  • Data science
  • AI
  • Data enrichment
  • Business applications

Consumer bahkan dapat menggabungkan shared data dengan data yang mereka miliki sendiri untuk kebutuhan analisis.

Apa Keuntungan Snowflake Data Sharing?

Snowflake Data Sharing memberikan sejumlah manfaat bagi organisasi yang membutuhkan kolaborasi data antar-tim maupun antar-organisasi.

1. Mengurangi Data Duplication

Dalam metode tradisional, data yang akan dibagikan biasanya diekspor dan dikirim kepada consumer. Consumer kemudian menyimpan salinan data tersebut.

Dengan Secure Data Sharing, data tidak perlu disalin ke account consumer untuk direct sharing. Hal ini membantu mengurangi kebutuhan membuat duplicate dataset.

2. Data Lebih Cepat Diakses

Karena tidak perlu menunggu proses export, transfer, dan import file, consumer dapat memperoleh akses terhadap shared data dengan lebih cepat.

Snowflake menyebut akses terhadap imported data melalui Secure Data Sharing sebagai near-instantaneous karena tidak ada proses physical data copy antar-account.

3. Mengurangi Kompleksitas ETL

Berbagi data melalui file atau database replication sering membutuhkan pipeline tambahan.

Snowflake Data Sharing dapat membantu mengurangi kebutuhan pipeline khusus untuk sekadar mendistribusikan dataset kepada consumer.

4. Kontrol Akses Lebih Terpusat

Provider tetap memiliki kontrol terhadap share yang dibuat.

Provider dapat menentukan object yang dibagikan dan dapat mencabut akses terhadap share atau object tertentu ketika diperlukan.

5. Mendukung Data Collaboration

Data Sharing memungkinkan perusahaan berkolaborasi dengan berbagai pihak tanpa harus membuat mekanisme transfer data yang berbeda untuk setiap consumer.

Hal ini dapat digunakan untuk kebutuhan internal maupun eksternal.

Snowflake Data Sharing vs Data Transfer Tradisional

Perbedaan pendekatan dapat dilihat secara sederhana berikut:

Data Transfer TradisionalSnowflake Data Sharing
Data dieksporData tetap pada provider
Data dikirim ke consumerConsumer mengakses shared data
Membutuhkan data copyTidak membutuhkan copy untuk direct share
Membutuhkan storage tambahanShared data tidak menambah storage consumer untuk direct share
Perlu sinkronisasi datasetConsumer mengakses data yang dibagikan
Pipeline tambahan mungkin diperlukanMengurangi kebutuhan pipeline untuk distribusi data
Risiko duplicate data lebih tinggiMengurangi kebutuhan duplicate data

Namun, metode tradisional tetap memiliki use case tertentu. Pemilihan arsitektur harus mempertimbangkan kebutuhan security, latency, region, compliance, workload, dan karakteristik data.

Apa Saja Cara Berbagi Data di Snowflake?

Snowflake menyediakan beberapa mekanisme data sharing dan collaboration.

Direct Share

Direct Share digunakan untuk berbagi data secara langsung kepada satu atau beberapa Snowflake account.

Untuk direct sharing dalam region yang sama, provider dapat membuat share dan memberikan akses kepada account consumer tanpa melakukan data copy.

Pendekatan ini cocok untuk kebutuhan seperti:

  • Berbagi data dengan anak perusahaan
  • Kolaborasi antar departemen
  • Partner tertentu
  • Customer tertentu
  • Internal data collaboration

Snowflake Listings

Jika data akan ditawarkan kepada lebih banyak consumer, provider dapat menggunakan Listings.

Listing memungkinkan provider memberikan data beserta metadata seperti judul, deskripsi, dan informasi penggunaan. Listing dapat ditawarkan secara private kepada consumer tertentu maupun melalui Snowflake Marketplace.

Snowflake Marketplace dapat menjadi sarana bagi organisasi untuk menyediakan dataset sebagai data product yang dapat ditemukan dan digunakan oleh consumer.

Data Exchange

Untuk kelompok consumer yang lebih terkontrol, organisasi dapat menggunakan Data Exchange.

Data Exchange merupakan data hub untuk kolaborasi dengan kelompok member tertentu, misalnya partner bisnis, supplier, vendor, atau departemen internal. Admin dapat mengatur membership serta siapa yang dapat menjadi provider atau consumer.

Reader Account

Bagaimana jika consumer belum memiliki Snowflake account?

Snowflake menyediakan reader account, yang memungkinkan provider berbagi data dengan consumer yang belum menjadi customer Snowflake.

Reader account dibuat, dimiliki, dan dikelola oleh provider. Consumer dapat melakukan query terhadap data yang diberikan tanpa harus memiliki full Snowflake account.

Pendekatan ini dapat menjadi opsi untuk kebutuhan tertentu ketika organisasi ingin memberikan akses data kepada pihak eksternal tanpa meminta mereka menyediakan Snowflake account sendiri.

Snowflake Data Sharing untuk Cross-Cloud dan Cross-Region

Enterprise sering memiliki data yang tersebar pada berbagai cloud dan region.

Snowflake mendukung skenario data sharing lintas region dan cloud platform dengan memanfaatkan data replication. Snowflake mendukung AWS, Microsoft Azure, dan Google Cloud Platform untuk cross-region data sharing.

Untuk skenario lintas region, organisasi perlu memperhatikan:

  • Data residency
  • Regulatory requirements
  • Compliance
  • Replication
  • Network architecture
  • Cost
  • Performance
  • Security policy

Karena data dapat direplikasi ke region lain, perusahaan perlu memastikan bahwa pemindahan atau hosting data lintas wilayah sesuai dengan kebijakan dan regulasi yang berlaku.

Bagaimana Menjaga Keamanan Snowflake Data Sharing?

Data sharing tidak berarti seluruh database harus dibuka kepada consumer.

Provider dapat menentukan secara granular object apa saja yang dapat diakses.

Untuk data sensitif, Snowflake merekomendasikan penggunaan secure views dan/atau secure UDFs dibandingkan membagikan tabel secara langsung. Pendekatan ini membantu mengontrol data yang dapat terlihat oleh consumer.

Contohnya, perusahaan memiliki tabel:

CUSTOMER

dengan kolom:

  • Customer ID
  • Customer Name
  • Email
  • Phone
  • Address
  • Transaction
  • Revenue

Tidak semua kolom tersebut harus dibagikan.

Provider dapat membuat secure view yang hanya mengekspos data yang relevan, misalnya:

CUSTOMER_ANALYTICS

yang hanya berisi:

  • Customer ID
  • Customer Segment
  • Transaction
  • Revenue

Dengan demikian, consumer mendapatkan data yang dibutuhkan tanpa memperoleh akses langsung terhadap seluruh data sumber.

Snowflake Data Sharing dan Data Governance

Dalam lingkungan enterprise, data sharing harus berjalan bersama governance.

Sebelum membagikan dataset, organisasi perlu menentukan:

  • Siapa consumer-nya?
  • Data apa yang boleh dibagikan?
  • Apakah terdapat data sensitif?
  • Berapa lama akses diberikan?
  • Bagaimana akses dimonitor?
  • Apakah data dapat dibagikan lintas region?
  • Apakah terdapat regulatory requirements?
  • Bagaimana akses akan dicabut?

Snowflake menyediakan kontrol akses dan governance capabilities yang dapat digunakan untuk membantu mengelola data sharing. Provider juga dapat memantau penggunaan listing tertentu melalui data usage yang tersedia bagi provider.

Contoh Penggunaan Snowflake Data Sharing

Berbagi Data dengan Partner

Perusahaan dapat memberikan akses terhadap dataset tertentu kepada partner tanpa harus mengirimkan file secara manual.

Customer Data Sharing

Perusahaan dapat memberikan dataset yang relevan kepada customer untuk kebutuhan analytics atau reporting.

Supply Chain Collaboration

Produsen dapat berbagi informasi tertentu dengan supplier atau distributor untuk meningkatkan visibility supply chain.

Data Monetization

Organisasi yang memiliki data bernilai dapat mengemas dataset menjadi data product dan menawarkan akses melalui Snowflake Marketplace.

Internal Data Collaboration

Perusahaan dengan banyak business unit dapat menggunakan data sharing untuk mempermudah kolaborasi antar-unit tanpa membuat banyak salinan dataset.

Snowflake Data Sharing untuk Data Product

Data sharing juga dapat menjadi bagian dari strategi data product.

Alih-alih melihat dataset hanya sebagai tabel database, perusahaan dapat memperlakukannya sebagai produk data yang memiliki:

  • Business definition
  • Owner
  • Metadata
  • Quality standard
  • Security policy
  • Access policy
  • Documentation
  • Consumer

Melalui Listings dan Snowflake Marketplace, organisasi dapat mempublikasikan data product agar lebih mudah ditemukan dan digunakan oleh consumer.

Pendekatan ini dapat membantu organisasi membangun data marketplace dan meningkatkan pemanfaatan data sebagai aset bisnis.

Snowflake Data Sharing untuk AI dan Analytics

AI dan analytics membutuhkan data yang berkualitas dan relevan.

Ketika data berada di berbagai organisasi atau business unit, proses mendapatkan akses terhadap data dapat menjadi bottleneck.

Snowflake Data Sharing dapat membantu mempercepat akses terhadap dataset yang dibutuhkan sehingga data dapat digunakan untuk:

  • Business intelligence
  • Advanced analytics
  • Machine learning
  • AI
  • Customer intelligence
  • Risk analytics
  • Financial analytics

Snowflake juga saat ini memosisikan data sharing sebagai bagian dari pendekatan zero-ETL untuk data dan AI collaboration, dengan fokus pada governed data sharing dan pengurangan kebutuhan pipeline tambahan.

Apakah Snowflake Data Sharing Menggantikan ETL?

Tidak.

Snowflake Data Sharing dan ETL/ELT menyelesaikan kebutuhan yang berbeda.

ETL/ELT digunakan untuk:

  • Data ingestion
  • Data transformation
  • Data consolidation
  • Data migration
  • Data warehouse loading

Sedangkan Snowflake Data Sharing digunakan untuk:

  • Data collaboration
  • Data distribution
  • Data access
  • Partner data sharing
  • Data marketplace
  • Cross-organization collaboration

Dalam arsitektur modern, keduanya dapat digunakan bersama.

Misalnya:

arsitektur-data-modern

Dengan pendekatan ini, Snowflake dapat menjadi centralized data platform sekaligus distribution layer untuk kebutuhan data collaboration.

Snowflake Data Sharing dengan PT All Data International

Implementasi Snowflake Data Sharing tidak hanya berkaitan dengan membuat sebuah share.

Enterprise perlu mempertimbangkan keseluruhan arsitektur, termasuk data source, data warehouse, security, governance, data quality, consumer requirements, cross-region architecture, hingga monitoring.

Sebagai partner resmi Snowflake, PT All Data International dapat membantu perusahaan merancang dan mengimplementasikan solusi data platform berbasis Snowflake sesuai kebutuhan bisnis.

Layanan dapat mencakup:

  • Snowflake implementation
  • Data platform architecture
  • Data integration
  • Data migration
  • Data sharing architecture
  • Data governance
  • Performance optimization
  • Security implementation
  • Managed services
  • Support dan maintenance

PT All Data International juga memiliki ekosistem partnership dengan berbagai principal teknologi data, analytics, cloud, database, integration, dan AI yang dapat mendukung kebutuhan enterprise secara lebih menyeluruh.

Informasi mengenai partner teknologi PT All Data International dapat dilihat pada halaman Our Partners.

Kesimpulan

Snowflake Data Sharing memberikan pendekatan modern untuk berbagi data tanpa harus selalu melakukan physical data copy atau transfer file.

Dengan Secure Data Sharing, provider dapat menentukan data yang ingin dibagikan, consumer dapat mengakses data secara read-only, dan organisasi dapat mengurangi kompleksitas yang biasanya muncul dari data duplication dan pipeline distribusi.

Snowflake menyediakan beberapa mekanisme untuk kebutuhan yang berbeda, mulai dari Direct Share, Listings, Data Exchange, hingga Reader Accounts. Untuk kebutuhan lintas region dan cloud, Snowflake juga menyediakan mekanisme berbasis replication.

Bagi perusahaan enterprise, data sharing bukan sekadar aktivitas memindahkan data dari satu pihak ke pihak lain. Dengan arsitektur yang tepat, data sharing dapat menjadi bagian dari strategi data collaboration, data product, data monetization, analytics, dan AI.

Dengan dukungan partner yang tepat, perusahaan dapat membangun Snowflake data platform yang tidak hanya scalable, tetapi juga secure, governed, dan siap mendukung kebutuhan kolaborasi data di masa depan.

Sumber: Snowflake

Scroll to Top