Ana içeriğe atla

Yeni Başlayanlar için Snowflake Eğitimi: Mimariden Veritabanı Çalıştırmaya

Snowflake kullanarak bulut veri ambarı yönetiminin temellerini öğrenin. Snowflake, verilerinden mümkün olduğunca hızlı ve verimli biçimde içgörü elde etmek isteyen şirketler için önemli avantajlar sunan bulut tabanlı bir platformdur.
Güncel 16 Nis 2026  · 12 dk. oku

Snowflake Nedir?

Biri benden Snowflake’i mümkün olduğunca az kelimeyle tanımlamamı istese, şunları seçerdim:

  • Veri Ambarları
  • Büyük Ölçekli Veri
  • Çoklu Bulut
  • Ayrışma
  • Ölçeklenebilir
  • Esnek
  • Basit

Açıklamamı isterlerse, kelimeleri şöyle bir araya getirirdim:

Snowflake, son derece popüler bir yapay zeka veri bulutu platformudur. Büyük ölçekli veri ve iş yüklerini daha hızlı ve verimli yönetebilmesi sayesinde rakiplerinden ayrışır. Üstün performansı, depolama ve hesaplama katmanlarını ayıran benzersiz mimarisinden gelir; bu da onu son derece esnek ve ölçeklenebilir kılar. Ayrıca birden çok bulut sağlayıcısıyla yerel olarak bütünleşir. Bu ileri düzey özelliklere rağmen öğrenmesi ve hayata geçirmesi basittir.

Daha da fazla detay isterlerse, işte o zaman bu eğitimi yazarım. Konuya tamamen yeniyseniz, Introduction to Snowflake kursumuz mükemmel bir başlangıç noktasıdır.

Neden Snowflake Kullanmalı?

Snowflake dünya genelinde 8.900’den fazla müşteriye hizmet verir ve her gün 3,9 milyar sorgu işler. Bu tür kullanım istatistikleri kesinlikle tesadüf değildir.

Aşağıda Snowflake’i bu kadar cazip kılan en iyi faydalar yer almaktadır:

1. Bulut tabanlı mimari

Snowflake bulutta çalışır; bu sayede şirketler, fiziksel altyapı (donanım) derdi olmadan talebe göre kaynaklarını artırıp azaltabilir. Platform ayrıca yazılım güncellemeleri, donanım yönetimi ve performans ayarlamaları gibi rutin bakım görevlerini üstlenir. Bu da bakım yükünü azaltarak kurumların asıl önemli olana, yani veriden değer elde etmeye odaklanmasını sağlar.

2. Esneklik ve ölçeklenebilirlik

Snowflake depolama ve hesaplama katmanlarını ayırır; böylece kullanıcılar hesaplama kaynaklarını depolama gereksinimlerinden bağımsız olarak ölçeklendirebilir. Bu esneklik, çeşitli iş yüklerini gereksiz maliyet oluşturmadan ve en iyi performansla verimli biçimde yönetmeyi sağlar.

3. Eşzamanlılık ve performans

Snowflake yüksek eşzamanlılığı kolayca kaldırır: Birden fazla kullanıcı veriye aynı anda erişip sorgu çalıştırabilir ve performans düşüşü yaşanmaz.

4. Veri paylaşımı

Snowflake’in güvenlik önlemleri, diğer kuruluşlar, iç departmanlar, harici iş ortakları, müşteriler ya da diğer paydaşlar arasında veri paylaşımını mümkün kılar. Karmaşık veri aktarım süreçlerine gerek yoktur.

5. Time travel

Snowflake, veri sürümlemesi için “Time Travel” adlı havalı bir terim kullanır. Veritabanında her değişiklik yapıldığında Snowflake bir anlık görüntü alır. Bu, kullanıcıların geçmiş verilere farklı zaman noktalarında erişmesini sağlar.

6. Maliyet etkinliği

Snowflake, kaynakları dinamik olarak ölçeklendirebildiği için kullandıkça öde modelini sunar. Yalnızca kullandığınız kadarını ödersiniz.

Tüm bu avantajlar bir araya geldiğinde Snowflake’i son derece arzu edilen bir yapay zeka veri bulutu platformu yapar.

Şimdi, bu özelliklerin kilidini açan Snowflake’in temel mimarisine göz atalım.

Veri Ambarı Nedir?

Snowflake’in mimarisine dalmadan önce, aynı çizgide olduğumuzdan emin olmak için veri ambarlarını kısaca gözden geçirelim.

Veri ambarı, bir şirket için çeşitli kaynaklardan gelen büyük miktarda yapılandırılmış ve düzenli veriyi depolayan merkezi bir depodur. Kurumlardaki farklı roller (çalışanlar) içindeki verileri kullanarak farklı içgörüler elde eder.

Örneğin, veri analistleri pazarlama ekibiyle birlikte satış tablosunu kullanarak yeni bir pazarlama kampanyası için A/B testi yürütebilir. İK uzmanları, performansı takip etmek için çalışan bilgilerini sorgulayabilir.

Bunlar, şirketlerin dünya genelinde büyümeyi sağlamak için veri ambarlarını nasıl kullandıklarına dair bazı örneklerdir. Ancak Snowflake gibi araçlarla doğru uygulama ve yönetim olmadan, veri ambarları yalnızca karmaşık kavramlar olarak kalır.

Konu hakkında daha fazlasını Data Warehousing kursumuzla öğrenebilirsiniz.

Snowflake Mimarisi

Snowflake’in analitik sorguları hızlandırmak için tasarlanmış benzersiz mimarisi, depolama ve hesaplama katmanlarının ayrımından gelir. Bu ayrım, az önce bahsettiğimiz avantajlara katkıda bulunur.

Depolama katmanı

Snowflake’te depolama katmanı, veriyi verimli ve ölçeklenebilir şekilde saklayan kritik bir bileşendir. Bu katmanın bazı temel özellikleri şunlardır:

  1. Bulut tabanlı: Snowflake, AWS, GCP ve Microsoft Azure gibi büyük bulut sağlayıcılarıyla sorunsuz biçimde entegre olur.
  2. Sütunlu biçim: Snowflake, veriyi analitik sorgular için optimize edilmiş sütunlu biçimde depolar. Postgres gibi araçların kullandığı geleneksel satır tabanlı formatların aksine sütunlu format, veri toplamaya çok daha uygundur. Sütunlu depolamada sorgular yalnızca ihtiyaç duydukları belirli sütunlara erişir; bu da daha etkilidir. Öte yandan, satır tabanlı formatlar, ortalama hesaplama gibi basit işlemler için bile bellekte tüm satırlara erişmeyi gerektirir.
  3. Mikro bölümleme: Snowflake, tabloları bellekte küçük parçalara ayırarak saklayan mikro bölümleme adlı bir teknik kullanır. Her parça tipik olarak değiştirilemez ve yalnızca birkaç megabayt boyutundadır; bu da sorgu optimizasyonu ve yürütmesini çok daha hızlı hale getirir.
  4. Sıfır kopya klonlama: Snowflake, verilerin sanal klonlarını oluşturmayı sağlayan benzersiz bir özelliğe sahiptir. Klonlama anlıktır ve yeni kopyada değişiklik yapılana kadar ek bellek tüketmez.
  5. Ölçek ve esneklik: Depolama katmanı yatay olarak ölçeklenir; yani yükü dağıtmak için daha fazla sunucu ekleyerek artan veri hacmini kaldırabilir. Ayrıca bu ölçeklendirme, hesaplama kaynaklarından bağımsız gerçekleşir; bu da büyük hacimli veriyi saklamak ama yalnızca küçük bir kısmını analiz etmek istediğiniz durumlar için idealdir.

Şimdi hesaplama katmanına bakalım.

Hesaplama katmanı

Adından da anlaşılacağı gibi hesaplama katmanı, sorgularınızı çalıştıran motordur. Veriyi işlemek ve çeşitli hesaplamalı görevleri gerçekleştirmek için depolama katmanıyla birlikte çalışır. Bu katmanın nasıl çalıştığına dair bazı ayrıntılar aşağıdadır:

  1. Sanal ambarlar: Sanal Ambarları, sorgu işlemeyi üstlenmek üzere tasarlanmış bilgisayar ekipleri (hesaplama düğümleri) olarak düşünebilirsiniz. Ekibin her üyesi sorgunun farklı bir bölümünü ele alır; bu da yürütmeyi etkileyici biçimde hızlı ve paralel kılar. Snowflake, farklı boyutlarda ve buna bağlı olarak farklı fiyatlarda Sanal Ambarlar sunar (boyutlar XS, S, M, L, XL’yi içerir).
  2. Çok kümeli, çok düğümlü mimari: Hesaplama katmanı, yüksek eşzamanlılık için çok sayıda düğüme sahip birden fazla küme kullanır; bu da birçok kullanıcının aynı anda veriye erişip sorgu çalıştırmasına olanak tanır.
  3. Otomatik sorgu optimizasyonu: Snowflake sistemi, tüm sorguları analiz eder ve tarihsel verileri kullanarak optimizasyon için kalıpları belirler. Yaygın optimizasyonlar arasında gereksiz verilerin budanması, üst verilerin kullanılması ve en verimli yürütme yolunun seçilmesi yer alır.
  4. Sonuç önbelleği: Hesaplama katmanı, sık çalıştırılan sorguların sonuçlarını saklayan bir önbellek içerir. Aynı sorgu tekrar çalıştırıldığında sonuçlar neredeyse anında döner.

Hesaplama katmanının bu tasarım ilkeleri, Snowflake’in bulutta farklı ve zorlu iş yüklerini yönetebilmesine katkıda bulunur.

Bulut hizmetleri katmanı

Son katman bulut hizmetleridir. Bu katman Snowflake’in mimarisinin her bileşenine entegre olduğundan, çalışma şekline dair birçok ayrıntı vardır. Diğer katmanlarla ilgili özelliklerin yanı sıra aşağıdaki ek sorumluluklara sahiptir:

  1. Güvenlik ve erişim kontrolü: Bu katman kimlik doğrulama, yetkilendirme ve şifreleme dâhil olmak üzere güvenlik önlemlerini uygular. Yöneticiler, kullanıcı rolleri ve izinlerini tanımlamak ve yönetmek için Rol Tabanlı Erişim Kontrolü (RBAC) kullanır.
  2. Veri paylaşımı: Bu katman, farklı hesaplar ve hatta üçüncü taraf kuruluşlar arasında güvenli veri paylaşım protokollerini uygular. Veri tüketicileri, veri hareketine gerek kalmadan veriye erişebilir; bu da işbirliğini ve verinin ticarileştirilmesini teşvik eder.
  3. Yarı yapılandırılmış veri desteği: Snowflake’in bir diğer benzersiz avantajı, bir veri ambarı yönetim platformu olmasına rağmen JSON ve Parquet gibi yarı yapılandırılmış verileri işleyebilmesidir. Yarı yapılandırılmış verileri kolayca sorgulayabilir ve sonuçları mevcut tablolarla bütünleştirebilir. Bu esneklik, diğer RDBMS araçlarında görülmez.

Artık Snowflake’in mimarisine yüksek seviyeden baktığımıza göre, platformda biraz SQL yazalım.

Snowflake SQL’i Kurma

Snowflake’in Snowflake SQL adlı kendi SQL sürümü vardır. Bunun diğer SQL lehçelerinden farkı, İngilizce aksanlarının farkına benzer.

PostgreSQL gibi lehçelerde yaptığınız analitik sorguların çoğu değişmez, ancak DDL (Veri Tanımlama Dili) komutlarında bazı farklılıklar vardır.

Şimdi, birkaç sorguyu nasıl çalıştıracağımıza bakalım!

Snowsight: Web arayüzü

image3.png

Snowsight ile başlamak için Snowflake 120 günlük ücretsiz deneme sayfasına gidip bir hesap oluşturun. Kişisel bilgilerinizi girin ve listelenen bulut sağlayıcılarından herhangi birini seçin. Bu size diğer yerlerde bulacağınız daha standart 30 günlük deneme yerine 120 günlük ücretsiz deneme sunar. Deneme ayrıca 400 $ değerinde kredi içerir. 

Denemeye kaydolurken kullanıcılara AWS ve ABD-Oregon Batı bölgesini seçmeleri önerilir. Diğer nedenlerin yanı sıra Oregon, AWS altyapısı için en düşük maliyetli bölgelerden biridir ve bunun sonucu olarak deneme kredileri daha uzun sürer.

E-postanızı doğruladıktan sonra Worksheets sayfasına yönlendirileceksiniz. Worksheets, SQL sorgularınızı yazabileceğiniz, çalıştırabileceğiniz ve sonuçlarını görüntüleyebileceğiniz etkileşimli, canlı kodlama ortamlarıdır.

image8.png

Sorgu çalıştırmak için bir veritabanına ve bir tabloya ihtiyacımız var (Snowsight’teki örnek verileri kullanmayacağız). Başlamak için yeni bir veritabanı oluşturmayı deneyebilirsiniz (örneğin adını test_db koyabilirsiniz) ve yerel bir CSV dosyası kullanarak adlandırılmış bir tablo oluşturabilirsiniz. CSV dosyasını, terminalinizde bu GitHub gist’indeki kodu çalıştırarak indirebilirsiniz.

Ardından, dilediğiniz herhangi bir SQL sorgusunu çalıştırabileceğiniz yeni bir çalışma sayfasına yönlendirileceksiniz. Çalışma sayfası arayüzünü oldukça anlaşılır ve son derece işlevsel buluyorum. Panellere, düğmelere ve konumlarına aşina olmak için birkaç dakika ayırın.

Sonuç ve İleri Düzey Öğrenme

Vay! Basit kavramlarla başladık ama sona doğru epey detaylara daldık. Benim için iyi bir eğitimin tanımı budur.

Muhtemelen tahmin etmişsinizdir; Snowflake, burada ele aldıklarımızdan çok daha fazlasını içeriyor. Hatta Snowflake dokümantasyonunda, aslında 128 dakika süren hızlı başlangıç kılavuzları bulunuyor! Ancak onlara geçmeden önce, biraz pratik yapmak için başka kaynaklara göz atmanızı öneririm. Mesela şunlar:

Okuduğunuz için teşekkürler!


Bex Tuychiev's photo
Author
Bex Tuychiev
LinkedIn

2 yılı aşkın deneyime sahip bir veri bilimi içerik üreticisiyim ve Medium'da en büyük takipçi kitlelerinden birine sahibim. Yapay zeka ve makine öğrenimi üzerine, biraz da alaycı bir üslupla, ayrıntılı yazılar yazmayı seviyorum; çünkü bu konuları biraz olsun sıkıcılıktan çıkarmak gerekiyor. 130'dan fazla makale ve bir DataCamp kursu hazırladım; bir diğeri de yolda. İçeriklerim 5 milyondan fazla kişi tarafından görüntülendi; bunların 20 bini Medium ve LinkedIn'de takipçim oldu. 

Konular

Veritabanı Yolculuğunuza Bugün Başlayın!

Kurs

Power BI'de Veri Modellemesi

3 sa
92.1K
Power BI'da veri modellemenin temel kavramlarını öğrenin.
Ayrıntıları GörRight Arrow
Kursa Başla
Devamını GörRight Arrow