Snowflake, farklı ortamlar arasında güvenli ve verimli veri paylaşımı için özel bir mimari sunar. İster kuruluşunuz içinde iş birliği yapın ister harici ortaklarla çalışın, Snowflake doğrudan paylaşımlar, veri değişimleri ve Snowflake Marketplace gibi amaca yönelik birden çok seçenek sağlar.
Kurumsal bağlamda bu özellikler, maliyetleri kontrol ederken ve güçlü güvenliği sağlarken kesintisiz iş birliği imkânı sunar. Bu makale, her paylaşım yöntemini anlamanıza yardımcı olmayı ve bunları gerçek dünyadaki senaryolarda etkili biçimde kullanmanız için pratik rehberlik sağlamayı amaçlar. Snowflake'e yeniyseniz, Snowflake Foundations beceri yolumuzu incelemenizi öneririm.
Snowflake Veri Paylaşımı Nedir?
Geleneksel olarak veri paylaşımı, bir kaynak sistemden veriyi çıkarıp hedef sisteme yüklemeyi içeren ETL (Extract, Transform, Load) süreçlerine dayanır. Bu yöntem verinin kopyalanmasını ve fiziksel olarak taşınmasını gerektirir; hem depolama hem de hesaplama kaynaklarını tüketir.
Snowflake veriyi kopyalama veya fiziksel olarak taşıma ihtiyacını ortadan kaldırır. Snowflake'in veri paylaşım mimarisiyle bir hesap (sağlayıcı), veriyi aktarmadan veya çoğaltmadan başka bir hesaba (tüketici) belirli veri kümelerine canlı, salt okunur erişim verebilir.
Tüketiciler, veri fiziksel olarak sağlayıcının hesabında depolansa bile sanki yereldeymiş gibi sorgulayabilir. Veri tek bir konumda kaldığından, sağlayıcı yalnızca depolama maliyetlerine katlanır; bu da hesabın ötesinde iş birliği için bu yaklaşımı çok daha verimli ve ölçeklenebilir kılar.
Snowflake Veri Paylaşımı Nasıl Çalışır?
Snowflake, sistemler arasında veriyi kopyalamak veya taşımak yerine meta veri işaretçileri kullanarak güvenli, sıfır kopyalı veri paylaşımı sağlar. Sağlayıcının hesabındaki özgün nesneye bir başvuru oluşturur ve tüketicilerin bu başvuruyu kullanarak paylaşılan veriyi sorgulamasına olanak tanır.
Tüketicilere salt okunur erişim verilir; yani veriyi okuyabilir ve keşfedebilirler ancak kaynak veriyi değiştiremezler. Tüketiciler, veriyi çoğaltmadan doğrudan sağlayıcının depolamasını sorguladıkları için, tüketici hesabına depolama maliyeti yansımaz.
Ayrıca, Snowflake’in mimarisi hesaplama ile depolamayı ayırır ve maliyet-etkin veri işlemlerini kolaylaştırır. Depolama maliyetleri ve kullandıkları hesaplama kaynaklarından sağlayıcı sorumludur; tüketici ise yalnızca kendi kullandığı hesaplama kaynakları için ödeme yapar.
Snowflake'in veri paylaşımı ayrıca ölçeklenebilirdir. Paylaşılan veriye erişimi olan her Snowflake hesabı kendi sanal ambarını oluşturup sorguları bağımsız olarak çalıştırabilir; bu da ölçeklenebilir veri paylaşımını destekler.
Buna ek olarak Snowflake, paylaşılan erişimi yönetmek için yönetişim ve güvenlik kontrolleri içerir. Sağlayıcılar, role dayalı erişim kontrolleriyle veri görünürlüğünü tanımlayabilir ve denetim günlükleriyle kullanımı izleyebilir. Bu özellikler, paylaşılan veriler üzerinde tam görünürlük ve kontrol sağlar.
Snowflake'te Veri Paylaşma Yöntemleri
Snowflake’te veri paylaşımı, belirli kullanım senaryoları için tasarlanmış çeşitli biçimlerde sunulur. Hangi duruma hangi yeteneğin uygun olduğunu bilmeniz için farklı veri paylaşım kabiliyetlerini inceleyelim.
Doğrudan paylaşımlar
Aynı Snowflake bölgesindeki birden çok kullanıcıyla veri paylaşmak için doğrudan paylaşımları kullanın. Seçili veritabanlarını, tabloları ve görünümleri içeren bir paylaşım nesnesi oluşturur ve ardından belirli tüketici Snowflake hesaplarına erişim verirsiniz. Veriye erişebilecek her hesabı açıkça listelemeniz gerekir.
Tüketici, paylaşımı kullanarak bir veritabanı oluşturur ve doğrudan sorgulayabilir. Bu veritabanı veri depolaması tüketmez; paylaşılan veriye mantıksal bir başvuru görevi görür.
Doğrudan paylaşımlar yalnızca aynı bulut sağlayıcısı ve bölge içinde veri paylaştığınızda çalışır. Dahili ekiplerle, güvenilir iş ortaklarıyla veya sınırlı sayıda Snowflake hesabıyla veri paylaşmak için idealdir. Bu yapı, bire-az ilişki türlerinde en iyi sonucu verir.
Veri değişimleri
Veriyi çok sayıda tüketici hesabı veya gruplarla paylaşmanız gerektiğinde, her Snowflake hesabını tek tek belirtmeniz gerektiğinden doğrudan paylaşımlar verimsiz olabilir. Bu durumda veri değişimi daha iyi bir seçenektir.
Bir veri değişiminde veri kümelerinizi özel bir pazarda veri ürünü olarak yayımlar ve tüketici gruplarını bunlara erişmeye davet edersiniz. Bu yapı, tüketicilerin ihtiyaç duydukları veriyi göz atıp abone olabildikleri aranabilir bir katalog gibi çalışır. Değişim özel olduğundan yalnızca davet edilen dahili hesaplar veya gruplar erişebilir.
Bölgeler arası veya çoklu bulutta veri paylaşımı Snowflake’in veri çoğaltmasıyla mümkündür; bu da veri değişimlerini, büyük kuruluşlarda farklı iş birimleri veya bayilikler arasında paylaşım için ideal kılar.
Örneğin, müşteri satış verilerini şirket genelindeki farklı ekiplerle paylaşmak istiyorsanız, “customer_behaviour_data” adlı özel bir Snowflake Veri Değişimi oluşturup aynı veri kümesinin farklı erişim izinlerine sahip birden fazla listesini yayımlayabilirsiniz. Her ekip, veri ihtiyaçlarını karşılayan listeye abone olabilir; böylece farklı erişim düzeylerine sahip ekipler arasında daha sorunsuz ve güvenli iş birliği sağlanır.
Snowflake Marketplace
Snowflake Marketplace, Apple’ın App Store’u gibidir; ancak veri için. Sağlayıcıların veri ürünlerini herhangi bir Snowflake kullanıcısıyla paylaştığı herkese açık bir pazardır. Sağlayıcılar listelemeler oluşturur, meta veri ekler, önizlemeler sunar ve kullanım koşulları belirler; böylece tüketiciler ihtiyaçlarını kolayca bulabilir.
Yayımlarken sağlayıcılar, herkese açık listelemeler (tüm Snowflake müşterilerine görünür) veya özel listelemeler (yalnızca seçili hesaplara görünür) arasında seçim yapabilir.
Tüketiciler Marketplace’te ilgili anahtar sözcüklerle arama yapabilir. Herkese açık listelemelerde doğrudan abone olabilirler; özel listelemelerde erişim talep etmeleri gerekir. Onaylandıktan sonra veri kümelerini kendi Snowflake hesaplarında doğrudan görüntüleyip sorgulayabilirler.
Snowflake Marketplace, kullanıma dayalı ve abonelik fiyatlandırmalı ücretli listelemeleri destekler. Faturalandırma Snowflake tarafından (ör. Stripe aracılığıyla) işlenir ve uygun tüketiciler için sözleşmeli kapasiteden düşebilir. Örneğin bir finans kurumu, gerçek zamanlı hisse senedi verileri ve tarihsel fiyatları içeren bir paket satabilir. Snowflake, kullanıcıları sağlayıcının fiyatlandırma modeline ve fiili kullanıma göre faturalandırır.
Okuyucu hesapları
Snowflake okuyucu hesapları, Snowflake hesabı olmayan üçüncü taraflarla veri paylaşmanıza olanak tanır.
Tüketicinin Snowflake kurup bunun için ödeme yapması yerine, sağlayıcılar okuyucu hesabını tüketici adına oluşturur ve yönetir.
Sağlayıcı daha sonra okuyucu hesaplarıyla veritabanlarını paylaşmak için paylaşımları kullanır ve bu hesapları tüketicilere sağlar. Bir okuyucu hesabının yalnızca onu oluşturan sağlayıcı hesabından veri tüketebileceğini unutmamak önemlidir.
Okuyucu hesapları öncelikle paylaşılan veri kümelerini sorgulamak için tasarlanmıştır. Okuyucu hesabı içinde sanal ambarlar aracılığıyla kullanılan tüm hesaplama, sağlayıcı hesabına faturalandırılır. Kullanımı sınırlamak için ambar için bir kaynak izleyici kurabilirsiniz.
Sağlayıcılar ve Tüketicilere Genel Bakış
Artık Snowflake’teki farklı veri paylaşım türlerine aşina olduğunuza göre, veri sağlayıcıları ve tüketicilerini anlayalım. Her rol neyle sorumludur ve veriyi paylaşırken veya erişirken hangi sınırlamaların farkında olmalısınız?
Sağlayıcılar hakkında
Snowflake’te veri sağlayıcıları, paylaşmak istedikleri verinin sahibidir. Paylaşılan veri üzerinde tam kontrole sahiptirler ve hangi veriyi, kiminle paylaşacaklarına karar verebilirler. Genellikle şu konulardan sorumludurlar:
- Hangi içeriğin kiminle paylaşılacağını tanımlamak
- Erişim izinlerini vermek veya geri almak
- Paylaşılan verinin temiz, güvenilir ve güncel olmasını sağlamak
- Uygunluk için erişimi denetlemek ve kullanımı günlüklerle izlemek
Güvenli ve güvenilir veri paylaşımı için sağlayıcıların şu en iyi uygulamaları izlemesi gerekir:
- Güvenli görünümler kullanın ve yalnızca gerekli sütun veya satırları açığa çıkararak hassas veya ham veriyi maskeleyin
- Meta veri katalogları uygulayın ve paylaşılan varlıkların keşfedilmesini ve anlaşılmasını kolaylaştırın
- Soy kütüğü takibi ve günlükleme ekleyerek paylaşılan veri kümelerindeki değişiklikleri izleyin
- Role dayalı erişim kontrollerini uygulayın ve yalnızca yetkili kullanıcıların belirli verilere erişmesini sağlayın
Tüketiciler hakkında
Tüketiciler, Snowflake veri paylaşımının alıcı tarafındadır. Verinin sahibi değildirler; bunun yerine sağlayıcıların paylaştığı veriyi kendi hesaplama kaynaklarını kullanarak sorgularlar. Yani tüketiciler veriye erişir ve analiz eder.
Depolama için ödeme yapmadıkları için temel sorumlulukları, sanal ambarlarını ve sorgu verimliliğini yöneterek hesaplama maliyetlerini en uygun düzeyde tutmaktır.
Okuyucu hesaplarından sorgu yaptıkları durumda, kullandıkları hesaplama kaynakları da sağlayıcılara faturalandırılır.
Bir tüketicinin temel sınırlaması, paylaşılan veriyi yalnızca okuyabilmesidir. Veri kümesindeki kayıtları değiştiremez, ekleyemez veya silemez. Ayrıca tüketiciler, sağlayıcının yaptığı dahili değişiklikleri görmez; her zaman mevcut en güncel veriyi görürler.
Snowflake'te Veri Paylaşımının Uygulanması
Snowflake’te veri paylaşımına başlamanıza yardımcı olacak temel kavramları ele aldık. Bir sağlayıcı profili kuruyor, bir tüketici hesabı yapılandırıyor veya bir okuyucu hesabını yönetiyor olun, bu bölüm hepsini ele alır.
Veri sağlayıcı olarak kurulum
Snowflake Marketplace'e veya özel bir Veri Değişimi'ne veri yayımlamak için önce bir sağlayıcı profili oluşturmalısınız. Sağlayıcı profili talebinde bulunduktan sonra Snowflake şirket bilgilerinizi inceler ve onaylar. Onaydan sonra listelemelerinizi oluşturmaya ve yayımlamaya başlayabilirsiniz.
Bir sağlayıcı profili şu şekilde kurulur:
- Adım 1: Snowflake hesabınıza giriş yapın.
- Adım 2: ACCOUTADMIN rolünde olduğunuzdan emin olun.
- Adım 3: Sol kenar çubuğunda Data Products öğesine tıklayın, ardından Provider Studio seçeneğini belirleyin.

- Adım 4: Profiles sekmesini seçin, ardından aşağıdaki görselde gösterildiği gibi Create Profile düğmesine tıklayın.

- Adım 5: Açılan formda gerekli kuruluş ve iletişim bilgilerini doldurarak sağlayıcı profili kurulumunu tamamlayın.

Veri tüketicisi olarak kurulum
- Adım 1: Snowflake hesabınıza giriş yapın.
- Adım 2: Sol kenar çubuğunda Data Products öğesine tıklayın, ardından Private Sharing seçeneğini belirleyin.

- Adım 3: Size gönderilen veri paylaşımlarını görmek için Shared with You sekmesine gidin.
Okuyucu hesaplarıyla paylaşım
Adım 1: Snowflake hesabınıza giriş yapın.
Adım 2: Sol taraftaki menüden Admin ve Accounts seçeneklerini belirleyin.

Adım 3: Accounts sekmesini seçin ve ardından Reader Accounts alt sekmesine gidin.
Adım 4: Yeni bir okuyucu hesabı eklemek için sağ üst köşedeki +Reader Account düğmesine tıklayın ve açılır formda gerekli bilgileri doldurun.

Güvenlik Mimarisi
Snowflake’te veri paylaşımları doğası gereği güvenlidir; çünkü tüketiciler salt okunur erişime sahiptir ve paylaşılan veriyi değiştiremez, ekleyemez veya silemez. Bu varsayılan erişim kontrolünün ötesinde güvenliği daha da güçlendirmek için Snowflake şu önlemleri de uygular:
Güvenli veri nesneleri
Tabloları, güvenli görünümleri ve güvenli UDF’leri paylaşabilirsiniz; güvenli olmayan görünümler paylaşılamaz. Güvenli görünümler, tüketicilerin altta yatan temel tablolara erişmesini veya görünümü tanımlamak için kullanılan SQL mantığını görmesini engeller. Bu sayede hassas iş mantığı, tescilli hesaplamalar veya özel tanımlı işlevler son kullanıcılardan gizli kalır.
Güvenli görünümler ayrıca satır düzeyinde erişim politikalarını ve sütun düzeyinde maskelemeyi destekler; bu da ayrıntılı veri erişim kontrollerinin uygulanmasında etkilidir. Her tüketicinin yalnızca yetkili olduğu veriyi görmesini sağlamak için bu politikaları role dayalı erişim kontrolüyle birleştirebilirsiniz.
Snowflake ayrıca dahili ve harici paylaşımlar için ayrı şemalar uygulamanıza olanak tanır. Örneğin ham, hassas veri kümelerini bir şemada tutup yalnızca maskelenmiş veya toplulaştırılmış görünümleri başka bir şemada açığa çıkararak tüketicilerin hassas verilere erişimini kısıtlayabilirsiniz.
Bölgeler arası güvenlik
Doğrudan paylaşımlarda Snowflake, aynı bölge ve bulut platformu içinde meta verileri ve özgün nesnelere işaretçileri paylaşır. Ancak tüketici hesabı başka bir bölgede veya bulut platformundaysa, doğrudan paylaşımlar çalışmaz. İşte burada çoğaltma devreye girer.
Sağlayıcı önce veriyi tüketici hesabının bulunduğu bir bölgeye çoğaltır. Ardından çoğaltılmış veriye işaret eden bir paylaşım nesnesi oluşturur ve tüketiciye erişim verir. Tüketici daha sonra çoğaltılmış veriyi, tıpkı doğrudan paylaşımlarda olduğu gibi, salt okunur erişimle sorgular.
Snowflake, hareketsiz ve aktarım halindeki tüm çoğaltılmış veriyi şifreleyerek güvence altına alır.
Ayrıca veri çoğaltma, kamu interneti yolları değil Snowflake tarafından kontrol edilen dahili veri yollarını izler. Doğrudan paylaşımlara benzer şekilde, tüketici çoğaltılmış veritabanının sahibi olmaz; erişim her zaman salt okunurdur.
Snowflake Veri Paylaşımları için En İyi Uygulamalar
Bu en iyi uygulamalar, hassas verileri korur, kaynak kullanımını optimize eder ve veri gizliliği düzenlemeleriyle uyumu sağlar; böylece ortamlar arasında ölçeklenebilir iş birliğini mümkün kılar.
Yönetişim çerçevesi
Sağlam bir yönetişim çerçevesi, veri paylaşımlarının doğru kullanıcılara uygun erişim izinleriyle ulaşmasını sağlar. Kötüye kullanımı önler ve tüm erişim ile eylemlerin izlenebilirliğini korur.
Veri sınıflandırmasıyla başlayın. Verilerinizi açıkça hassas, kısıtlı veya genel olarak etiketleyin ve riski en aza indirmek, kazara ifşayı önlemek için kategoriye özel güvenlik kontrolleri uygulayın.
Düzenli erişim incelemeleri ve kullanım denetimleri ekleyin. Bir kullanıcının altı ay önce erişime ihtiyaç duyması, bugün de ihtiyaç duyduğu anlamına gelmez. Bu nedenle izinleri periyodik olarak gözden geçirip güncelleyerek erişimi güncel rol ve sorumluluklarla hizalayın.
Paylaşılan veri kullanımını izlemek için Snowflake erişim günlüklerini kullanın. Bu günlükler veriyi kimin, ne sıklıkta sorguladığını ve hangi işlemleri yaptığını takip eder; hem uygunluğu hem de performans ayarlarını destekler.
Ayrıntılı erişim kontrolleri uygulamak için satır ve sütun düzeyinde güvenlikten yararlanın. Sütun düzeyinde maskeleme, hassas alanları gizleyip veri kümesinin geri kalanını açığa çıkarır. Satır düzeyinde politikalar ise kullanıcı rolleri veya özniteliklerine göre belirli kayıtlara erişimi kısıtlamanıza imkân tanır.
Paylaşılan veriyi güvence altına almanın yanı sıra, sağlayıcılar tüketiciler için veriye verimli erişim ve sorgulama sağlamak üzere veri kümesi performansını optimize etmekten sorumludur.
Sorgu performansını ve depolama verimliliğini artırmak için Snowflake’te kümeleme anahtarları kullanın. Bu, tablolar için bölümlemeye benzer çalışır. Örneğin satış veri kümeniz sıklıkla “price” ve “region” alanlarına göre sorgulanıyorsa, bunları kümeleme anahtarları olarak belirleyebilirsiniz. Snowflake, alttaki veriyi “price” ve “region” için benzer değerlere sahip satırlar birbirine yakın olacak şekilde fiziksel olarak düzenler. Bu da daha hızlı erişim ve verimli sorgulamayı mümkün kılar.
Yaygın olarak kullanılan iş metrikleri için temel veri kümelerinin yanında maddi görünümleri (materialized view) paylaşın. Bu, bölge bazında aylık gelir, ortalama haftalık satış veya promosyon sayıları gibi metrikleri önceden hesaplayıp alttaki verilerle birlikte paylaşmak anlamına gelir. Tüketiciler bu görünümleri doğrudan sorgulayabilir; bu da hem performansı hem de kullanım senaryoları genelinde tutarlılığı artırır.
Veri paylaşımlarını doğrulama ve güncelleme
Doğru veri paylaşımı, Snowflake veri paylaşımının verimli kullanımı için kritik önemdedir. Veri kalitesini sağlamak için paylaşılan verinizi kaynakla karşılaştırarak doğrulayın. Satır sayılarını eşleştirin, toplama veya özet istatistik kontrolleri yapın ve şema bütünlüğü, null kontrolleri ile meta veri doğrulamalarını gerçekleştirin. Bu doğrulamalar, eksiksiz ve doğru veri paylaşmanızı sağlar.
Yeni veri kaynakları eklemek veya şemaları değiştirmek, özellikle birden fazla veri paylaşımı genelinde yönetimi zorlaştırabilir. Geçişleri basitleştirmek için ham tablolar yerine görünümleri paylaşın. Görünümler, alttaki veri yapısını veya arka uç tablolarını tüketicilerin sorgularını bozmadan değiştirmenize olanak tanıyan esnek bir katman görevi görür.
Paylaşılan veri kümelerini güncellediğinizde sürümleme kullanın. Sürümlenmiş görünümler veya şema sürümleri, değişiklikleri takip etmenizi, yeni mantığı test etmenizi ve bir sorun olursa geri almanızı sağlar.
Paylaşılan veriyi etkileyebilecek yaklaşan değişiklikler hakkında tüketicilerinizi bilgilendirin. Basit bir ön bilgilendirme, kullanıcıların uyum sağlamasına ve geçişe hazırlanmasına zaman tanır.
Sınırlamalar ve Dikkat Edilmesi Gerekenler
Snowflake veri paylaşımlarının bazı yerleşik kısıtlamaları vardır. Bunlar kritik engeller değildir; ancak planlama yaparken önemlidir.
Tüm nesne türleri paylaşılamaz. Tabloları, güvenli görünümleri ve güvenli UDF’leri paylaşabilirsiniz. Güvenli olmayan görünümler, saklı yordamlar, dosya aşamaları, görevler veya akışlar paylaşılamaz.
Snowflake Marketplace ve veri değişimleri veriyi bölgeler arasında paylaşırken, doğrudan veri paylaşımları yalnızca aynı bölge ve bulut ortamında mümkündür. Bu sınırlamayı aşmak için Snowflake’in bölgeler arası/çoklu bulut çoğaltmasına (Enterprise Edition veya üstü gerekir) ihtiyaç duyarsınız.
Tüketicilerin paylaşılan veriye yalnızca salt okunur erişimi vardır. Kayıtları değiştiremez, ekleyemez veya silemezler. Veriyi dönüştürmeleri veya yazmaları gerekiyorsa, veriyi kendi ortamlarına kopyalamaları gerekir; bu da ek depolama ve hesaplama maliyetleri getirir.
Sonuç
Snowflake’te veri paylaşımlarını etkin biçimde kullanmak, güvenli ve maliyet-etkin iş birliğinin tüm potansiyelini açığa çıkarır. Sağlayıcılar, ETL veya veri çoğaltması gerektirmeden tüketicilerle canlı ve sorgulanabilir veriler paylaşabilir. Kaynak veriye yapılan tüm güncellemeler, tüketici hesaplarına anında yansır ve en güncel bilgilere erişim sağlar.
Snowflake’in veri paylaşım modelini benimseyen kuruluşlar, analitik iş birliğini ölçekleyebilir, yönetişimi güçlendirebilir ve veri varlıklarının değerini en üst düzeye çıkarabilir. Ancak, bu yalnızca tüketicilerin paylaşılan veriyi düzenlemeye ihtiyaç duymadığı durumlarda faydalıdır.
Snowflake'e yeniyseniz, Snowflake öğrenme üzerine bu başlangıç dostu kılavuzla başlayın. Uzmanlığınızı derinleştirmek için Snowflake Foundations beceri yolumuzu ve Snowflake'te veri modelleme kursumuzu inceleyin.
Snowflake, farklı ortamlar arasında güvenli ve verimli veri paylaşımı için özel bir mimari sunar. İster kuruluşunuz içinde iş birliği yapın ister harici ortaklarla çalışın, Snowflake doğrudan paylaşımlar, veri değişimleri ve Snowflake Marketplace gibi amaca yönelik birden çok seçenek sağlar.
Kurumsal bağlamda bu özellikler, maliyetleri kontrol ederken ve güçlü güvenliği sağlarken kesintisiz iş birliği imkânı sunar. Bu makale, her paylaşım yöntemini anlamanıza yardımcı olmayı ve bunları gerçek dünyadaki senaryolarda etkili biçimde kullanmanız için pratik rehberlik sağlamayı amaçlar. Snowflake'e yeniyseniz, Snowflake Foundations beceri yolumuzu incelemenizi öneririm.
Snowflake Veri Paylaşımı Nedir?
Geleneksel olarak veri paylaşımı, bir kaynak sistemden veriyi çıkarıp hedef sisteme yüklemeyi içeren ETL (Extract, Transform, Load) süreçlerine dayanır. Bu yöntem verinin kopyalanmasını ve fiziksel olarak taşınmasını gerektirir; hem depolama hem de hesaplama kaynaklarını tüketir.
Snowflake veriyi kopyalama veya fiziksel olarak taşıma ihtiyacını ortadan kaldırır. Snowflake'in veri paylaşım mimarisiyle bir hesap (sağlayıcı), veriyi aktarmadan veya çoğaltmadan başka bir hesaba (tüketici) belirli veri kümelerine canlı, salt okunur erişim verebilir.
Tüketiciler, veri fiziksel olarak sağlayıcının hesabında depolansa bile sanki yereldeymiş gibi sorgulayabilir. Veri tek bir konumda kaldığından, sağlayıcı yalnızca depolama maliyetlerine katlanır; bu da hesabın ötesinde iş birliği için bu yaklaşımı çok daha verimli ve ölçeklenebilir kılar.
Snowflake Veri Paylaşımı Nasıl Çalışır?
Snowflake, sistemler arasında veriyi kopyalamak veya taşımak yerine meta veri işaretçileri kullanarak güvenli, sıfır kopyalı veri paylaşımı sağlar. Sağlayıcının hesabındaki özgün nesneye bir başvuru oluşturur ve tüketicilerin bu başvuruyu kullanarak paylaşılan veriyi sorgulamasına olanak tanır.
Tüketicilere salt okunur erişim verilir; yani veriyi okuyabilir ve keşfedebilirler ancak kaynak veriyi değiştiremezler. Tüketiciler, veriyi çoğaltmadan doğrudan sağlayıcının depolamasını sorguladıkları için, tüketici hesabına depolama maliyeti yansımaz.
Ayrıca, Snowflake’in mimarisi hesaplama ile depolamayı ayırır ve maliyet-etkin veri işlemlerini kolaylaştırır. Depolama maliyetleri ve kullandıkları hesaplama kaynaklarından sağlayıcı sorumludur; tüketici ise yalnızca kendi kullandığı hesaplama kaynakları için ödeme yapar.
Snowflake'in veri paylaşımı ayrıca ölçeklenebilirdir. Paylaşılan veriye erişimi olan her Snowflake hesabı kendi sanal ambarını oluşturup sorguları bağımsız olarak çalıştırabilir; bu da ölçeklenebilir veri paylaşımını destekler.
Buna ek olarak Snowflake, paylaşılan erişimi yönetmek için yönetişim ve güvenlik kontrolleri içerir. Sağlayıcılar, role dayalı erişim kontrolleriyle veri görünürlüğünü tanımlayabilir ve denetim günlükleriyle kullanımı izleyebilir. Bu özellikler, paylaşılan veriler üzerinde tam görünürlük ve kontrol sağlar.
Snowflake'te Veri Paylaşma Yöntemleri
Snowflake’te veri paylaşımı, belirli kullanım senaryoları için tasarlanmış çeşitli biçimlerde sunulur. Hangi duruma hangi yeteneğin uygun olduğunu bilmeniz için farklı veri paylaşım kabiliyetlerini inceleyelim.
Doğrudan paylaşımlar
Aynı Snowflake bölgesindeki birden çok kullanıcıyla veri paylaşmak için doğrudan paylaşımları kullanın. Seçili veritabanlarını, tabloları ve görünümleri içeren bir paylaşım nesnesi oluşturur ve ardından belirli tüketici Snowflake hesaplarına erişim verirsiniz. Veriye erişebilecek her hesabı açıkça listelemeniz gerekir.
Tüketici, paylaşımı kullanarak bir veritabanı oluşturur ve doğrudan sorgulayabilir. Bu veritabanı veri depolaması tüketmez; paylaşılan veriye mantıksal bir başvuru görevi görür.
Doğrudan paylaşımlar yalnızca aynı bulut sağlayıcısı ve bölge içinde veri paylaştığınızda çalışır. Dahili ekiplerle, güvenilir iş ortaklarıyla veya sınırlı sayıda Snowflake hesabıyla veri paylaşmak için idealdir. Bu yapı, bire-az ilişki türlerinde en iyi sonucu verir.
Veri değişimleri
Veriyi çok sayıda tüketici hesabı veya gruplarla paylaşmanız gerektiğinde, her Snowflake hesabını tek tek belirtmeniz gerektiğinden doğrudan paylaşımlar verimsiz olabilir. Bu durumda veri değişimi daha iyi bir seçenektir.
Bir veri değişiminde veri kümelerinizi özel bir pazarda veri ürünü olarak yayımlar ve tüketici gruplarını bunlara erişmeye davet edersiniz. Bu yapı, tüketicilerin ihtiyaç duydukları veriyi göz atıp abone olabildikleri aranabilir bir katalog gibi çalışır. Değişim özel olduğundan yalnızca davet edilen dahili hesaplar veya gruplar erişebilir.
Bölgeler arası veya çoklu bulutta veri paylaşımı Snowflake’in veri çoğaltmasıyla mümkündür; bu da veri değişimlerini, büyük kuruluşlarda farklı iş birimleri veya bayilikler arasında paylaşım için ideal kılar.
Örneğin, müşteri satış verilerini şirket genelindeki farklı ekiplerle paylaşmak istiyorsanız, “customer_behaviour_data” adlı özel bir Snowflake Veri Değişimi oluşturup aynı veri kümesinin farklı erişim izinlerine sahip birden fazla listesini yayımlayabilirsiniz. Her ekip, veri ihtiyaçlarını karşılayan listeye abone olabilir; böylece farklı erişim düzeylerine sahip ekipler arasında daha sorunsuz ve güvenli iş birliği sağlanır.
Snowflake Marketplace
Snowflake Marketplace, Apple’ın App Store’u gibidir; ancak veri için. Sağlayıcıların veri ürünlerini herhangi bir Snowflake kullanıcısıyla paylaştığı herkese açık bir pazardır. Sağlayıcılar listelemeler oluşturur, meta veri ekler, önizlemeler sunar ve kullanım koşulları belirler; böylece tüketiciler ihtiyaçlarını kolayca bulabilir.
Yayımlarken sağlayıcılar, herkese açık listelemeler (tüm Snowflake müşterilerine görünür) veya özel listelemeler (yalnızca seçili hesaplara görünür) arasında seçim yapabilir.
Tüketiciler Marketplace’te ilgili anahtar sözcüklerle arama yapabilir. Herkese açık listelemelerde doğrudan abone olabilirler; özel listelemelerde erişim talep etmeleri gerekir. Onaylandıktan sonra veri kümelerini kendi Snowflake hesaplarında doğrudan görüntüleyip sorgulayabilirler.
Snowflake Marketplace, kullanıma dayalı ve abonelik fiyatlandırmalı ücretli listelemeleri destekler. Faturalandırma Snowflake tarafından (ör. Stripe aracılığıyla) işlenir ve uygun tüketiciler için sözleşmeli kapasiteden düşebilir. Örneğin bir finans kurumu, gerçek zamanlı hisse senedi verileri ve tarihsel fiyatları içeren bir paket satabilir. Snowflake, kullanıcıları sağlayıcının fiyatlandırma modeline ve fiili kullanıma göre faturalandırır.
Okuyucu hesapları
Snowflake okuyucu hesapları, Snowflake hesabı olmayan üçüncü taraflarla veri paylaşmanıza olanak tanır.
Tüketicinin Snowflake kurup bunun için ödeme yapması yerine, sağlayıcılar okuyucu hesabını tüketici adına oluşturur ve yönetir.
Sağlayıcı daha sonra okuyucu hesaplarıyla veritabanlarını paylaşmak için paylaşımları kullanır ve bu hesapları tüketicilere sağlar. Bir okuyucu hesabının yalnızca onu oluşturan sağlayıcı hesabından veri tüketebileceğini unutmamak önemlidir.
Okuyucu hesapları öncelikle paylaşılan veri kümelerini sorgulamak için tasarlanmıştır. Okuyucu hesabı içinde sanal ambarlar aracılığıyla kullanılan tüm hesaplama, sağlayıcı hesabına faturalandırılır. Kullanımı sınırlamak için ambar için bir kaynak izleyici kurabilirsiniz.
Sağlayıcılar ve Tüketicilere Genel Bakış
Artık Snowflake’teki farklı veri paylaşım türlerine aşina olduğunuza göre, veri sağlayıcıları ve tüketicilerini anlayalım. Her rol neyle sorumludur ve veriyi paylaşırken veya erişirken hangi sınırlamaların farkında olmalısınız?
Sağlayıcılar hakkında
Snowflake’te veri sağlayıcıları, paylaşmak istedikleri verinin sahibidir. Paylaşılan veri üzerinde tam kontrole sahiptirler ve hangi veriyi, kiminle paylaşacaklarına karar verebilirler. Genellikle şu konulardan sorumludurlar:
Güvenli ve güvenilir veri paylaşımı için sağlayıcıların şu en iyi uygulamaları izlemesi gerekir:
Tüketiciler hakkında
Tüketiciler, Snowflake veri paylaşımının alıcı tarafındadır. Verinin sahibi değildirler; bunun yerine sağlayıcıların paylaştığı veriyi kendi hesaplama kaynaklarını kullanarak sorgularlar. Yani tüketiciler veriye erişir ve analiz eder.
Depolama için ödeme yapmadıkları için temel sorumlulukları, sanal ambarlarını ve sorgu verimliliğini yöneterek hesaplama maliyetlerini en uygun düzeyde tutmaktır.
Okuyucu hesaplarından sorgu yaptıkları durumda, kullandıkları hesaplama kaynakları da sağlayıcılara faturalandırılır.
Bir tüketicinin temel sınırlaması, paylaşılan veriyi yalnızca okuyabilmesidir. Veri kümesindeki kayıtları değiştiremez, ekleyemez veya silemez. Ayrıca tüketiciler, sağlayıcının yaptığı dahili değişiklikleri görmez; her zaman mevcut en güncel veriyi görürler.
Snowflake'te Veri Paylaşımının Uygulanması
Snowflake’te veri paylaşımına başlamanıza yardımcı olacak temel kavramları ele aldık. Bir sağlayıcı profili kuruyor, bir tüketici hesabı yapılandırıyor veya bir okuyucu hesabını yönetiyor olun, bu bölüm hepsini ele alır.
Veri sağlayıcı olarak kurulum
Snowflake Marketplace'e veya özel bir Veri Değişimi'ne veri yayımlamak için önce bir sağlayıcı profili oluşturmalısınız. Sağlayıcı profili talebinde bulunduktan sonra Snowflake şirket bilgilerinizi inceler ve onaylar. Onaydan sonra listelemelerinizi oluşturmaya ve yayımlamaya başlayabilirsiniz.
Bir sağlayıcı profili şu şekilde kurulur:
Veri tüketicisi olarak kurulum
Okuyucu hesaplarıyla paylaşım
Adım 1: Snowflake hesabınıza giriş yapın.
Adım 2: Sol taraftaki menüden Admin ve Accounts seçeneklerini belirleyin.
Adım 3: Accounts sekmesini seçin ve ardından Reader Accounts alt sekmesine gidin.
Adım 4: Yeni bir okuyucu hesabı eklemek için sağ üst köşedeki +Reader Account düğmesine tıklayın ve açılır formda gerekli bilgileri doldurun.
Güvenlik Mimarisi
Snowflake’te veri paylaşımları doğası gereği güvenlidir; çünkü tüketiciler salt okunur erişime sahiptir ve paylaşılan veriyi değiştiremez, ekleyemez veya silemez. Bu varsayılan erişim kontrolünün ötesinde güvenliği daha da güçlendirmek için Snowflake şu önlemleri de uygular:
Güvenli veri nesneleri
Tabloları, güvenli görünümleri ve güvenli UDF’leri paylaşabilirsiniz; güvenli olmayan görünümler paylaşılamaz. Güvenli görünümler, tüketicilerin altta yatan temel tablolara erişmesini veya görünümü tanımlamak için kullanılan SQL mantığını görmesini engeller. Bu sayede hassas iş mantığı, tescilli hesaplamalar veya özel tanımlı işlevler son kullanıcılardan gizli kalır.
Güvenli görünümler ayrıca satır düzeyinde erişim politikalarını ve sütun düzeyinde maskelemeyi destekler; bu da ayrıntılı veri erişim kontrollerinin uygulanmasında etkilidir. Her tüketicinin yalnızca yetkili olduğu veriyi görmesini sağlamak için bu politikaları role dayalı erişim kontrolüyle birleştirebilirsiniz.
Snowflake ayrıca dahili ve harici paylaşımlar için ayrı şemalar uygulamanıza olanak tanır. Örneğin ham, hassas veri kümelerini bir şemada tutup yalnızca maskelenmiş veya toplulaştırılmış görünümleri başka bir şemada açığa çıkararak tüketicilerin hassas verilere erişimini kısıtlayabilirsiniz.
Bölgeler arası güvenlik
Doğrudan paylaşımlarda Snowflake, aynı bölge ve bulut platformu içinde meta verileri ve özgün nesnelere işaretçileri paylaşır. Ancak tüketici hesabı başka bir bölgede veya bulut platformundaysa, doğrudan paylaşımlar çalışmaz. İşte burada çoğaltma devreye girer.
Sağlayıcı önce veriyi tüketici hesabının bulunduğu bir bölgeye çoğaltır. Ardından çoğaltılmış veriye işaret eden bir paylaşım nesnesi oluşturur ve tüketiciye erişim verir. Tüketici daha sonra çoğaltılmış veriyi, tıpkı doğrudan paylaşımlarda olduğu gibi, salt okunur erişimle sorgular.
Snowflake, hareketsiz ve aktarım halindeki tüm çoğaltılmış veriyi şifreleyerek güvence altına alır.
Ayrıca veri çoğaltma, kamu interneti yolları değil Snowflake tarafından kontrol edilen dahili veri yollarını izler. Doğrudan paylaşımlara benzer şekilde, tüketici çoğaltılmış veritabanının sahibi olmaz; erişim her zaman salt okunurdur.
Snowflake Veri Paylaşımları için En İyi Uygulamalar
Bu en iyi uygulamalar, hassas verileri korur, kaynak kullanımını optimize eder ve veri gizliliği düzenlemeleriyle uyumu sağlar; böylece ortamlar arasında ölçeklenebilir iş birliğini mümkün kılar.
Yönetişim çerçevesi
Sağlam bir yönetişim çerçevesi, veri paylaşımlarının doğru kullanıcılara uygun erişim izinleriyle ulaşmasını sağlar. Kötüye kullanımı önler ve tüm erişim ile eylemlerin izlenebilirliğini korur.
Veri sınıflandırmasıyla başlayın. Verilerinizi açıkça hassas, kısıtlı veya genel olarak etiketleyin ve riski en aza indirmek, kazara ifşayı önlemek için kategoriye özel güvenlik kontrolleri uygulayın.
Düzenli erişim incelemeleri ve kullanım denetimleri ekleyin. Bir kullanıcının altı ay önce erişime ihtiyaç duyması, bugün de ihtiyaç duyduğu anlamına gelmez. Bu nedenle izinleri periyodik olarak gözden geçirip güncelleyerek erişimi güncel rol ve sorumluluklarla hizalayın.
Paylaşılan veri kullanımını izlemek için Snowflake erişim günlüklerini kullanın. Bu günlükler veriyi kimin, ne sıklıkta sorguladığını ve hangi işlemleri yaptığını takip eder; hem uygunluğu hem de performans ayarlarını destekler.
Ayrıntılı erişim kontrolleri uygulamak için satır ve sütun düzeyinde güvenlikten yararlanın. Sütun düzeyinde maskeleme, hassas alanları gizleyip veri kümesinin geri kalanını açığa çıkarır. Satır düzeyinde politikalar ise kullanıcı rolleri veya özniteliklerine göre belirli kayıtlara erişimi kısıtlamanıza imkân tanır.
Performans optimizasyonu
Paylaşılan veriyi güvence altına almanın yanı sıra, sağlayıcılar tüketiciler için veriye verimli erişim ve sorgulama sağlamak üzere veri kümesi performansını optimize etmekten sorumludur.
Sorgu performansını ve depolama verimliliğini artırmak için Snowflake’te kümeleme anahtarları kullanın. Bu, tablolar için bölümlemeye benzer çalışır. Örneğin satış veri kümeniz sıklıkla “price” ve “region” alanlarına göre sorgulanıyorsa, bunları kümeleme anahtarları olarak belirleyebilirsiniz. Snowflake, alttaki veriyi “price” ve “region” için benzer değerlere sahip satırlar birbirine yakın olacak şekilde fiziksel olarak düzenler. Bu da daha hızlı erişim ve verimli sorgulamayı mümkün kılar.
Yaygın olarak kullanılan iş metrikleri için temel veri kümelerinin yanında maddi görünümleri (materialized view) paylaşın. Bu, bölge bazında aylık gelir, ortalama haftalık satış veya promosyon sayıları gibi metrikleri önceden hesaplayıp alttaki verilerle birlikte paylaşmak anlamına gelir. Tüketiciler bu görünümleri doğrudan sorgulayabilir; bu da hem performansı hem de kullanım senaryoları genelinde tutarlılığı artırır.
Veri paylaşımlarını doğrulama ve güncelleme
Doğru veri paylaşımı, Snowflake veri paylaşımının verimli kullanımı için kritik önemdedir. Veri kalitesini sağlamak için paylaşılan verinizi kaynakla karşılaştırarak doğrulayın. Satır sayılarını eşleştirin, toplama veya özet istatistik kontrolleri yapın ve şema bütünlüğü, null kontrolleri ile meta veri doğrulamalarını gerçekleştirin. Bu doğrulamalar, eksiksiz ve doğru veri paylaşmanızı sağlar.
Yeni veri kaynakları eklemek veya şemaları değiştirmek, özellikle birden fazla veri paylaşımı genelinde yönetimi zorlaştırabilir. Geçişleri basitleştirmek için ham tablolar yerine görünümleri paylaşın. Görünümler, alttaki veri yapısını veya arka uç tablolarını tüketicilerin sorgularını bozmadan değiştirmenize olanak tanıyan esnek bir katman görevi görür.
Paylaşılan veri kümelerini güncellediğinizde sürümleme kullanın. Sürümlenmiş görünümler veya şema sürümleri, değişiklikleri takip etmenizi, yeni mantığı test etmenizi ve bir sorun olursa geri almanızı sağlar.
Paylaşılan veriyi etkileyebilecek yaklaşan değişiklikler hakkında tüketicilerinizi bilgilendirin. Basit bir ön bilgilendirme, kullanıcıların uyum sağlamasına ve geçişe hazırlanmasına zaman tanır.
Sınırlamalar ve Dikkat Edilmesi Gerekenler
Snowflake veri paylaşımlarının bazı yerleşik kısıtlamaları vardır. Bunlar kritik engeller değildir; ancak planlama yaparken önemlidir.
Tüm nesne türleri paylaşılamaz. Tabloları, güvenli görünümleri ve güvenli UDF’leri paylaşabilirsiniz. Güvenli olmayan görünümler, saklı yordamlar, dosya aşamaları, görevler veya akışlar paylaşılamaz.
Snowflake Marketplace ve veri değişimleri veriyi bölgeler arasında paylaşırken, doğrudan veri paylaşımları yalnızca aynı bölge ve bulut ortamında mümkündür. Bu sınırlamayı aşmak için Snowflake’in bölgeler arası/çoklu bulut çoğaltmasına (Enterprise Edition veya üstü gerekir) ihtiyaç duyarsınız.
Tüketicilerin paylaşılan veriye yalnızca salt okunur erişimi vardır. Kayıtları değiştiremez, ekleyemez veya silemezler. Veriyi dönüştürmeleri veya yazmaları gerekiyorsa, veriyi kendi ortamlarına kopyalamaları gerekir; bu da ek depolama ve hesaplama maliyetleri getirir.
Sonuç
Snowflake’te veri paylaşımlarını etkin biçimde kullanmak, güvenli ve maliyet-etkin iş birliğinin tüm potansiyelini açığa çıkarır. Sağlayıcılar, ETL veya veri çoğaltması gerektirmeden tüketicilerle canlı ve sorgulanabilir veriler paylaşabilir. Kaynak veriye yapılan tüm güncellemeler, tüketici hesaplarına anında yansır ve en güncel bilgilere erişim sağlar.
Snowflake’in veri paylaşım modelini benimseyen kuruluşlar, analitik iş birliğini ölçekleyebilir, yönetişimi güçlendirebilir ve veri varlıklarının değerini en üst düzeye çıkarabilir. Ancak, bu yalnızca tüketicilerin paylaşılan veriyi düzenlemeye ihtiyaç duymadığı durumlarda faydalıdır.
Snowflake'e yeniyseniz, Snowflake öğrenme üzerine bu başlangıç dostu kılavuzla başlayın. Uzmanlığınızı derinleştirmek için Snowflake Foundations beceri yolumuzu ve Snowflake'te veri modelleme kursumuzu inceleyin.