İçeriğe geç

Snowflake mimarisi nasıl çalışır ve ne için kullanılır

Snowflake; depolamayı, işlem gücünü ve koordinasyonu üç ayrı katmanda tutan bir bulut veri platformudur. Bu mimarinin nasıl çalıştığını, şirketlerin onu ne için kullandığını ve nerede doğru seçim olmadığını anlatıyorum.

İş istasyonları ve tavan vinci bulunan aydınlık bir mühendislik montaj salonunun geniş görünümü
İçindekiler
  1. Tek paragrafta Snowflake nedir
  2. Snowflake mimarisinin üç katmanı
  3. Depolama
  4. İşlem gücü: sanal warehouse'lar
  5. Cloud services
  6. Mimariden gelen özellikler
  7. Iceberg, kataloglar, hybrid tables ve Postgres: Snowflake nereye gitti
  8. Regülasyona tabi sektörler için sürümler ve güvenlik
  9. Snowflake ne için kullanılır, neye ideal değildir
  10. Snowflake şeması ve yıldız şeması: farklı bir konu
  11. Nereden başlardım
  12. Sıkça sorulan sorular

Snowflake mimarisi, bir veri platformunu bağımsız ölçeklenen üç katmana ayırır: depolama, işlem gücü (sanal warehouse'lar olarak adlandırılır) ve her şeyi koordine eden bir cloud services katmanı. Şirketler Snowflake'i raporlama ve analitik için bir bulut veri ambarı olarak, giderek artan şekilde de veri paylaşmak, Python çalıştırmak ve yönetişim altındaki veri üzerinde yapay zeka kurmak için bir yer olarak kullanıyor.

Depolama ile işlem gücünü ayrı tutan bu tek tasarım tercihi, Snowflake'in iyi yaptığı şeylerin çoğunu ve maliyetinin büyük kısmını açıklar.

Üretim ve savunma sektörlerindeki veri platformu programlarında Snowflake ile çalıştım. Sık gördüğüm bir desen var: yöneticiler onu analitik için satın alıyor, sonra mimari kararların (kaç warehouse, hangi sürüm, verinin nerede durduğu) faturayı ve uyum durumunu belirlediğini fark ediyor. Bu rehber, imzalamadan önce bu kararları anlaması gereken CIO, CDO veya mimar için.

Snowflake; Amazon Web Services, Microsoft Azure ve Google Cloud üzerinde çalışan, tamamen yönetilen bir veri platformudur. Onu kurmazsınız, yama yapmazsınız ya da indeks ayarlamazsınız. Veri yüklersiniz, SQL (veya Python) yazarsınız ve depolama ile işlem gücü için ayrı ayrı ödersiniz.

Snowflake tasarımını, shared-disk ve shared-nothing mimarilerinin bir melezi olarak tanımlıyor: bağımsız işlem kümeleri tarafından sorgulanan tek bir merkezi veri deposu. Savunma alıcıları için erkenden önemli olan bir gerçek var: Snowflake'in kendi temel kavramlar ve mimari rehberine göre, yerel veya özel bulut altyapısına kurulamaz.

Aşağıdan yukarıya yapı şöyle.

Katman katman Snowflake mimarisiDepolama ve işlem gücü ayrı ölçeklenir ve ayrı faturalanır. Hepsini cloud services bir arada tutar.
  1. Cloud servicesGüvenlik, erişim kontrolü, meta veri, sorgu optimizasyonu ve işlemler
  2. İşlem gücüSanal warehouse'lar: SQL ve Python çalıştıran, çalıştıkları sürece credits ile faturalanan bağımsız kümeler
  3. DepolamaBulut nesne depolamasında sıkıştırılmış, sütun tabanlı micro-partition'lar, terabayt başına faturalanır

Depolama

Veri yüklediğinizde Snowflake onu sıkıştırılmış, sütun tabanlı bir formatta yeniden düzenler ve bulut nesne depolamasında saklar. Her tabloyu, her biri 50 MB ile 500 MB arasında sıkıştırılmamış veri tutan micro-partition'lara böler. Snowflake her biri için, her sütundaki değer aralığı gibi meta veriler kaydeder.

İşin akıllıca kısmı bu meta veri. Geçen ayın üretim siparişlerine göre filtrelenen bir sorgu, tarih aralığı eşleşemeyecek her micro-partition'ı atlar.

Buna pruning (budama) denir ve Snowflake'in indeksler olmadan iyi performans göstermesinin nedeni budur. Bu aynı zamanda verinin geliş şeklinin (tarihe veya tesise göre sıralı ya da rastgele) çok büyük tablolarda maliyeti etkilediği anlamına gelir.

İşlem gücü: sanal warehouse'lar

Sanal warehouse, sorguları ve kodu çalıştıran bir işlem kümesidir. Her biri bağımsızdır. Finansın ay sonu raporları bir warehouse'ta çalışırken veri bilimi ağır işleri başka birinde çalıştırabilir ve hiçbiri diğerini yavaşlatmaz.

Warehouse'lar tişört bedenleri gibi boyutlarda gelir ve yalnızca çalışırken credit tüketir. Boşta kaldıklarında otomatik olarak askıya alınabilirler. Daha büyük boyutlar, tek tek ağır sorguları hızlandırır.

Daha fazla küme aynı anda daha fazla kullanıcıyı karşılar; multi-cluster warehouse'ların yaptığı da budur: Enterprise sürümü ve üzerinde bir warehouse, sorgular kuyruğa girmeye başladığında otomatik olarak küme ekleyebilir, yük düştüğünde de bunları kaldırabilir. Snowflake, multi-cluster'ın tek bir yavaş sorguya değil, eşzamanlılığa yardımcı olduğunu açıkça belirtiyor. Tek yavaş sorgu için boyutu büyütürsünüz.

Snowflake credits ve faturayı belirleyen etkenler üzerine fiyatlandırma rehberim maliyet tarafını ayrıntılı ele alıyor.

Cloud services

En üst katman kimlik doğrulamayı, erişim kontrolünü, meta veriyi, sorgu optimizasyonunu ve işlemleri yönetir. Time Travel ve klonlama çoğunlukla meta veri işlemleridir, bu yüzden onları bu katman mümkün kılar. Onu nadiren düşünürsünüz; amaç da zaten bu.

İlginç özellikler sonradan eklenmiş parçalar değil. Depolama ve meta veri tasarımından doğal olarak çıkıyorlar.

  1. Time Travel. Veriyi geçmişteki bir anda olduğu haliyle sorgulayabilir, klonlayabilir veya geri yükleyebilirsiniz. Standard sürüm 1 gün tutar. Enterprise ve üzeri, Time Travel dokümantasyonunda belirtildiği gibi kalıcı tablolar için 90 güne kadar tutabilir.
  2. Fail-safe. Time Travel süresi dolduktan sonra kalıcı tablo verisi 7 günlük bir Fail-safe dönemine geçer. Onu yalnızca Snowflake kurtarabilir. Bunu kontrol ettiğiniz bir yedek olarak değil, felaket kurtarma olarak görün.
  3. Sıfır kopya klonlama (zero-copy cloning). Bir tablonun, şemanın veya veritabanının klonu oluşturulduğunda ek depolama kullanmaz, çünkü aynı micro-partition'lara işaret eder. Yalnızca sonradan değişen veri için ödersiniz. Ekipler tam boyutlu test ortamlarını dakikalar içinde böyle kurar.
  4. Güvenli veri paylaşımı. Bir sağlayıcı canlı tabloları başka bir Snowflake hesabıyla paylaşır ve hiçbir veri kopyalanmaz. Tüketici yalnızca sorgulamak için kullandığı işlem gücü için öder. Doğrudan paylaşımlar tek bir bölge içinde çalışır; bölgeler arası paylaşım, otomatik karşılamalı (auto-fulfilment) listeler üzerinden gider.
  5. Snowflake Marketplace. Listeler, veri ürünlerini belirli iş ortaklarına veya herkese açık olarak yayımlamanızı sağlar; hava durumu veya piyasa endeksleri gibi üçüncü taraf veriler dahil.
  6. Snowpark. Veriyi dışarı çekmek yerine işlemeyi Snowflake'in içine iten Python, Java ve Scala kütüphaneleri. Container'lı uygulamaları verinin yanında çalıştıran Snowpark Container Services, üç bulutta da ticari bölgelerde genel kullanımda.

Bir üretici için güvenli veri paylaşımı pilot yapmaya değer. Başlangıç noktası konusunda gerçekçi olun: gördüğüm tedarikçi veri alışverişinin çoğu hâlâ dosya transferi.

Yönetişim altındaki bir tabloyu paylaşmak daha temizdir ve paylaşımı geri alabilirsiniz. Tek bir tedarikçi ve tek bir veri setiyle başlayın ve daha fazlasını planlamadan önce bunu kanıtlayın.

Snowflake eskiden "verileriniz Snowflake'in formatında" demekti. Bu değişti, adlar da değişti. Ekim 2026 itibarıyla güncel durum:

YetenekNe yaparDurum (Ekim 2026)
Apache Iceberg tablolarıAçık Iceberg formatında, sizin bulut depolamanızda veya Snowflake'inkinde saklanan veriHaziran 2024'ten beri GA; Snowflake tarafından yönetilen depolama seçeneği Haziran 2026'da GA (ticari AWS ve Azure)
Snowflake Horizon CatalogApache Polaris üzerine kurulu yönetişim ve katalog; harici motorlar Snowflake tarafından yönetilen Iceberg tablolarını Iceberg REST API üzerinden okurYeni müşteriler için önerilen
Snowflake Open CatalogYönetilen Apache Polaris hizmeti (eski adıyla Polaris Catalog)GA, ama yeni müşterilere kapalı; mevcut kullanıcılar devam edebilir
Hybrid tables (Unistore)Analitiğin yanında düşük gecikmeli işlemsel sorgular için satır tabanlı tablolarYalnızca ticari AWS ve Azure bölgelerinde GA
Snowflake PostgresSnowflake platformu içinde tamamen yönetilen PostgreSQL24 Şubat 2026'dan beri AWS ve Azure'da GA

Pratik sonuç: Iceberg tabloları Spark'ın, Databricks'in veya diğer motorların Snowflake'in sorguladığı aynı dosyalar üzerinde çalışmasını sağlar; bu da bağımlılığı azaltır. Snowflake'in Open Catalog genel bakışı artık yeni müşterilere bunun yerine Horizon Catalog kullanmalarını söylüyor.

Biri hybrid tables'ı operasyonel bir veritabanı olarak önermeden önce sınırlarını okuyun. Her veritabanı 2 TB hybrid table verisiyle sınırlıdır ve Fail-safe, veri paylaşımı, replikasyon veya stream'leri desteklemezler. Bir uygulama arama tablosu için uygundurlar.

Operasyonel bir veritabanı değildirler. Bir uygulamanın analitiğinin yanında operasyonel bir veritabanına ihtiyacı varsa, Snowflake Postgres Şubat 2026'da genel kullanıma sunuldu ve daha dürüst bir seçimdir.

Snowflake maliyet sürprizlerinin çoğu, kimsenin yazıya dökmediği mimari kararlardır.

Snowflake dört sürüm satıyor: Standard, Enterprise, Business Critical ve Virtual Private Snowflake (VPS). Hangi güvenlik özelliklerini alacağınızı sürüm belirler ve credit fiyatı onunla birlikte yükselir.

ÖzellikStandardEnterpriseBusiness CriticalVPS
Time Travel1 gün90 güne kadar90 güne kadar90 güne kadar
Multi-cluster warehouse'larHayırEvetEvetEvet
Tri-Secret Secure (müşteri tarafından yönetilen anahtar)HayırHayırEvetEvet
Özel bağlantı (AWS PrivateLink, Azure Private Link, Google Private Service Connect)HayırHayırEvetEvet
HIPAA ve PCI DSS desteğiHayırHayırEvetEvet
Özel ortam, paylaşılan donanım yokHayırHayırHayırEvet

Tri-Secret Secure, bir Snowflake anahtarını bulut sağlayıcınızın anahtar yönetim hizmetinde tuttuğunuz bir anahtarla birleştirir. Anahtarınızı iptal ederseniz Snowflake verilerinizin şifresini artık çözemez. Savunma ve havacılık tedarikçileri için bu kontrol, herhangi bir analitik özellikten daha önemlidir.

ABD kamu işleri için Snowflake, AWS GovCloud ve Azure Government üzerinde ABD kamu müşterilerine ve yüklenicilerine açık SnowGov bölgeleri işletiyor. Snowflake'in desteklenen bölgeler sayfası, bu bölgelerde FedRAMP High, Impact Level 4 ve ITAR desteğini, bir AWS bölgesinde Impact Level 5'i listeliyor ve Business Critical veya üzeri sürüm şart koşuyor. Özellik erişilebilirliğini bölge bölge kontrol edin: Open Catalog, hybrid tables ve Snowpark Container Services'in bazı kısımları tüm kamu bölgelerinde mevcut değil.

Çalıştığım savunma programlarında ilk soru hiçbir zaman "ne kadar hızlı" olmadı. İlk soru "veri nerede duruyor, kim görebiliyor ve bunu bir denetçiye kanıtlayabilir miyiz" oldu. Doğru bölge ve sürümde Snowflake buna iyi yanıt veriyor.

Kendi binanızda kalması gereken veri için ise yanıt veremez. Şirket içinde işleme gerektiren gizli veya ihracat kontrolüne tabi iş yükleri farklı bir platforma ihtiyaç duyar; gizli olmayan ortamı Snowflake üstlenir.

Gördüklerimin çoğu birkaç desene giriyor.

  1. Kurumsal raporlama ve BI. ERP verisinden (SAP, Oracle veya Microsoft Dynamics 365) finans, satış ve operasyon raporlaması; üzerinde Power BI, Tableau veya benzeri bir araç. Bu hâlâ temel kullanım. ERP verisini Snowflake'e taşıma rehberim çıkarım seçeneklerini ele alıyor.
  2. Üretim operasyon verisi. Snowflake'e indirildiğini gördüğüm tesis ve operasyon verisi, üretim planlama verisi. Historian, MES, kalite ve bakım verisi onun yanında durabilir ve JSON formatındaki yarı yapılandırılmış sensör verisi yerel olarak yüklenir.
  3. İş ortaklarıyla veri paylaşımı. Tedarikçiler, distribütörler ve müşteriler yönetişim altındaki tabloları doğrudan sorgulayabilir. Pratikte gördüğüm tedarikçi alışverişinin çoğu hâlâ dosya transferi.
  4. Yönetişim altındaki veri üzerinde veri bilimi ve yapay zeka. Snowpark üzerinden Python ve Snowflake'in yapay zeka hizmetleri; Snowflake Cortex AI ve Snowflake Intelligence yazımda ele alınıyor.
  5. Satın almalardan sonra konsolidasyon. Birkaç ERP, tek bir raporlama katmanı; güvenli test ortamları için klonlama.

Tereddüt edeceğim yerler:

  1. Yüksek hacimli işlemsel sistemler. Hybrid tables ve Snowflake Postgres yardımcı olur, ama ERP ve MES işlemleriniz kendi veritabanlarına aittir.
  2. Gerçek zamanlı makine kontrolü. Snowflake milisaniyelere değil, dakikalara uygundur. Sensör verisini akış olarak içeri almak sorun değil. Bir kontrol döngüsünü kapatmak ise öyle değil.
  3. Katı şirket içi gereksinimler. Şirket içi kurulum diye bir şey yok.
  4. Spark'ta yoğun özel makine öğrenmesi ve veri mühendisliği. Yapılabilir, ama birçok ekip Databricks'i daha doğal buluyor. Snowflake ve Databricks karşılaştırmam bu seçimi ele alıyor.

Snowflake şeması ve yıldız şeması: farklı bir konu

Snowflake'i arayanlar çoğu zaman "snowflake schema"ya (kar tanesi şeması) denk geliyor. Bunun ürünle hiçbir ilgisi yok. Kar tanesi şeması, boyut tablolarının alt tablolara normalize edildiği bir veri modelleme desenidir; bu yüzden diyagram bir kar tanesi gibi dallanır.

Yıldız şeması (star schema) her boyutu tek bir düz tabloda tutar. İki modeli de Snowflake'te ya da başka herhangi bir veri ambarında kurabilirsiniz. Çoğu BI ekibi daha basit sorgular için yıldız şemalarını tercih eder.

İmzalamadan önce dört kararı yazıya dökün: uyum durumunuz için hangi sürüme ihtiyacınız var, hangi bulut ve bölge, iş yüklerini warehouse'lara nasıl böleceksiniz ve veriniz Snowflake'in formatında mı yoksa Iceberg'de mi kalacak. Tedarikçiden ve sistem entegratörünüzden tek bir yıllık rakam değil, warehouse başına credit tahmini göstermelerini isteyin. Snowflake maliyet sürprizlerinin çoğu, kimsenin yazıya dökmediği mimari kararlardır.

ERP verisi kapsamdaysa, önce SAP veri taşıma projelerinin neden başarısız olduğunu okuyun; aynı veri kalitesi sorunları sizi her platformda takip eder. Bir Snowflake kararı hakkında ikinci bir görüş isterseniz benimle iletişime geçin.

Snowflake ne için kullanılır?

Esas olarak ERP, CRM ve operasyon verisi gibi iş verileri üzerinde raporlama ve analitik için bir bulut veri ambarı olarak. Şirketler onu ayrıca iş ortaklarıyla canlı veri paylaşmak, Snowpark üzerinden Python ile veri bilimi çalıştırmak ve yönetişim altındaki veri üzerinde yapay zeka uygulamaları kurmak için de kullanır.

Snowflake mimarisinin üç katmanı nelerdir?

Depolama, işlem gücü ve cloud services. Depolama veriyi sıkıştırılmış, sütun tabanlı micro-partition'larda tutar. İşlem gücü, sorguları çalıştıran sanal warehouse'lardan oluşur. Cloud services güvenliği, meta veriyi, sorgu optimizasyonunu ve işlemleri yönetir. Depolama ve işlem gücü ayrı ölçeklenir ve ayrı faturalanır.

Snowflake bir veritabanı mı, veri ambarı mı?

Tanıma göre ikisi de. Analitik iş yükleri için kurulmuş bir SQL veritabanıdır; bu yüzden genellikle bulut veri ambarı olarak adlandırılır. Iceberg tabloları, hybrid tables ve Snowflake Postgres ile artık sınırlar dahilinde lakehouse ve bazı işlemsel kullanım senaryolarını da kapsıyor.

Snowflake şirket içinde (on-premises) çalışabilir mi?

Hayır. Snowflake yalnızca AWS, Microsoft Azure ve Google Cloud üzerinde çalışır. ABD kamu ve savunma iş yükleri için AWS GovCloud ve Azure Government üzerinde, Business Critical veya üzeri sürüm gerektiren SnowGov bölgeleri sunar.

Snowflake şeması, Snowflake şirketiyle ilgili mi?

Hayır. Snowflake şeması (kar tanesi şeması), normalize edilmiş boyut tablolarına sahip bir veri modelleme desenidir. Şirketten daha eskidir ve her veri ambarında çalışır.

Regülasyona tabi şirketlerin hangi Snowflake sürümüne ihtiyacı var?

Genellikle Business Critical. Müşteri tarafından yönetilen anahtarla Tri-Secret Secure, özel bağlantı ve HIPAA ile PCI DSS desteği ekler ve kamu bölgeleri için asgari sürümdür. Virtual Private Snowflake, paylaşılan donanım olmayan özel bir ortam ekler.

Noel D'Costa

Yazar

Noel D'Costa

Havacılık, kamu, finans, perakende ve üretim sektörlerinde SAP ve Oracle ERP programlarında 25 yıl. Finans kökenliyim. Yönetim ekiplerinin dönüşümleri gerçekçi biçimde kapsamlandırmasına, sorunlu programları toparlamasına ve canlı ortamdaki ilk yılını sağlam atlatan sistemler kurmasına yardımcı oluyorum.

Sonraki adım

Şu anda bir ERP programı mı yürütüyorsunuz?

Bu makale şu anda içinde olduğunuz bir programa dokunduysa, 30 dakikalık bir görüşme genellikle bir hafta daha süren iç analizden daha fazla yol aldırır.