Snowflake, Veri Bilimi / 13 Şubat 2022 / Miraç ÖZTÜRK
Merhaba, iyi günler.
Bugünkü yazımda; çok çeşitli alanlarda faklılaşmış çözümler gerçekleştirmemizi sağlayan ve günümüzün popüler konusu haline gelmiş olan Büyük Veri (Big Data) çözümüne yönelik oluşturulmuş özel yazılım olan Snowflake’e ait kısa notları aktarıyor olacağım.
İlgili notlara geçiş yapmadan önce; Büyük Veri ve Büyük Veri üzerinde yer alan bazı kült yaklaşımlar, ek olarak popüler trendler üzerinde durmuş olduğum ön bilgilendirme yazısına göz atmanızı öneririm.
Ek bilgilendirme bağlantısı için lütfen tıklayınız…
Şimdiden iyi okumalar.
Snowflake; bulut bilişim tabanlı veri depolama, veri işleme ve raporlama hizmetleri veren bir yazılımdır. (Şirket)
İlgili yazılıma (hizmete);
https://www.snowflake.com/
bağlantısı üzerinden erişebilirsiniz.
Ücretsiz olarak sunulan deneme sürümünü aktifleştirmek için alt bağlantı üzerinden hızlıca kayıt olup,
https://signup.snowflake.com/
deneyimde bulunabilirsiniz.
Dilerseniz hızlıca araca yönelik kayıt gerçekleştirelim;
Kullanıcı bilgilerinizi form üzerinde girdikten sonra size;
- İlerleyen süreçler adına kullanmayı öngördüğünüz kullanım/lisans tipini,
- Kullanmayı planladığınız sağlayıcıyı, (MS Azure, AWS, Google Cloud)
- Sağlayıcının yer aldığı bölgeyi
koşullarına yönelik opsiyonel seçeneklerin bulunduğu ek bilgi talebi alanına yönlendirmektedir.
Opsiyonel yapılandırma seçeneklerinin ardından 400$ test kredisi içeren bir kullanıcı hesabı aktifleştirmektedir.
Genel olarak sistem ve kullanım ile ilgili bilgi edinmek adına sizlere;
- Getting Started Video (Başlangıç kullanım video anlatımı EK)
- Virtual Hands-On Lab (Sanal Uygulamalı Laboratuvar EK)
- Full Snowflake Documention (Snowflake Dokümanları EK)
ön bilgilendirme hizmetlerini sağlamaktadır.
İlgili kullanıcı kayıt işlemleri tamamlandıktan sonra ise kayıt işlemi esnasında kullanmış olduğunuz mail adresine hizmet erişimi adına kapalı bir bağlantı linki iletilmektedir.
Bu mail üzerindeki ilgili bağlantı linkini 72 saat içerisinde aktive etmezseniz süresi dolarak kullanılmaz duruma düşecektir.Linki tıkladığınızda ise sizden bir sistem erişimi için kullanılacak Kullanıcı Adı bir de Parola talebinde bulunulacaktır.
Sistem kullanıcı erişim bilgilerinizi belirledikten sonra doğrudan sizi aşağıda yer alan kullanıcı giriş ekranına yönlendirmektedir.
Belirlediğiniz bilgiler ile giriş yaptıktan sonra ise;
kullanım ekranı sizleri karşılamaktadır.
Snowflake Kullanımı
Snowflake üyelik işlemlerini tamamladıktan sonra karşımıza gelen kullanım ekranına göz atalım.
Karşılama ekranının;
- Sol üst kısmında; işlemleri gerçekleştirdiğimiz gezinti bölmesi, (İşlem Alanı)
- Sol alt kısmında; genel üye kullanıcı bilgileri, (Sistem ve Kullanıcı Bilgi Alanı)
- Orta kısmında ise çalışma/işlem alanı (Ön Eğitim ~ İşlem/Çalışma Alanı)
Gezinti bölmesindeki alanlara göz atacak olursak;
- User Account Area (Kullanıcı Hesap Alanı): Kullanıcı hesap bilgilerini kontrol etmemizi, yapılandırmamız ve düzenlememizi sağlamaktadır.
- Worksheets (Çalışma Sayfaları (Alanı)): Sistemler üzerinde çalışmamızı/işlem yapmamızı sağlayan alan hizmetlerini sağlamaktadır.
- Dashboards (Panolar): Çeşitli ihtiyaç ve kullanımlara yönelik pano hizmetleri oluşturmamızı ve yönetmemizi sağlamaktadır.
- Data (Veri): Çeşitli süreçlere yönelik oluşturulmuş veri kaynaklarını barındırmamızı, yapılandırmamızı ve üzerinde işlemler gerçekleştirmemizi sağlamaktadır.
- Compute (Hesaplama): Veri kaynakları üzerindeki işlem geçmişini ve bunlara yönelik çeşitli analizlere erişmemizi sağlamaktadır.
- Account (Hesap): Hesap dahilinde organizasyon içerisindeki işlem, kullanım ve depolama/barındırma hareketlerine ait bilgilere erişmemizi sağlamaktadır.
- Organization (Organizasyon): Organizasyona ait genel hizmetlerin özet bilgilerine erişmemizi sağlamaktadır.
- Learn (Öğrenme): Snowflake ürün hizmetlerine yönelik eğitici ve öğretici içeriklere erişmemizi sağlamaktadır.
- Feature Area (Özellik Alanı): Snowflake ürününe yönelik ürün bildirimlerinin bilgilendirmesini sağlamaktadır.
- Organization User Account Area (Organizasyon Kullanıcı Hesap Alanı): Organizasyon kullanıcısına ait bilgilere erişmemizi sağlamaktadır.
User Account Area
Kullanıcı hesap bilgilerini kontrol etmemizi, yapılandırmamız ve düzenlememizi sağlamaktadır.
Bu alan içerisinde;
- Switch Role (Rol Değiştir): Kullanıcınız üzerindeki yetkileri değiştirebileceğiniz rol hizmetleri sağlamaktadır.
Roller içerisinde ise;
Account Admin: Tüm kullanıcılara ait hesapların yöneticisi.
OrgAdmin – Organizations Admin: Organizasyona ait tüm kullanıcılarının ve işlemlerin yöneticisi.
Public: Yerel kullanıcılar.
Security Admin: Güvenlik işlemlerinin yöneticisi.
SysAdmin – System Admin: Sistem işlemlerinin yöneticisi.
User Admin: Kullanıcıların (Public) yöneticisi. - Profile (Profil): Kullanıcınıza ait bilgileri görüntülemenizi sağlamaktadır.
- Partner Connect (İş Ortağı Bağlantıları): Snowflake iş ortağı bağlantılarına yönelik bilgi edinmenizi sağlamaktadır.
- Documentation (Dökümantasyon): Snowflake ürün hizmetlerine yönelik eğitici ve öğretici içeriklere erişmemizi sağlamaktadır.
- Sign Out (Oturum Kapat): İlgili kullanıcı oturumunuzu sonlandırmanızı sağlamaktadır.
hizmetleri yer almaktadır.
Switch Role (Rol Değiştir) görünümü;
Profile (Profil) görünümü;
Partner Connect (İş Ortağı Bağlantıları) görünümü;
Documentation (Dökümantasyon) görünümü;
Worksheets
Sistemler üzerinde çalışmamızı/işlem yapmamızı sağlayan alan hizmetlerini sağlamaktadır.
Bu alan içerisinde;
- Recent (Son Kullanımlar/Görüntülenmeler): Sistem üzerinde gerçekleştirilen son işlemleri ve işlemlere ait hizmet bilgilerini sağlamaktadır.
- Shared with me (Benimle Paylaşılanlar): Kullanıcınız ile paylaşılan işlemleri ve işlemlere ait hizmet bilgilerini sağlamaktadır.
- My Worksheets (Benim Çalışma Sayfalarım): Kullanıcınıza ait oluşturmuş olduğunuz işlemleri ve işlemlere ait hizmet bilgilerini sağlamaktadır.
- Folders (Klasörler): Kullanıcınıza yönelik oluşturmuş olduğunuz ya da kullanıcınız ile paylaşılan klasör hizmetini sağlamaktadır.
hizmetleri yer almaktadır.
Recent (Son Kullanımlar/Görüntülenmeler) açılış ilkel görünümü;
Kullanımınıza yönelik çalışma sayfası oluşturmak için gezinti bölmesi üzerinden Worksheets alanına giriş yaptığınızda sağ üst köşede yer alan +Worksheet düğmesi/butonu ile yeni bir çalışma sayfası ekleyebilirsiniz.
Recent (Son Kullanımlar/Görüntülenmeler) klasör hizmeti vb. işlemler sonrası görünümü;
Shared with me (Benimle Paylaşılanlar) açılış ilkel görünümü;
Organizasyonda bulunan diğer kullanıcılar ile Sheet (Çalışma Sayfası) ya da Folder (Klasör) paylaşmak için ilgili öğelerin kullanım alanı içerisine girdiğinizde sağ üst köşede yer alan Share (Paylaş) ile paylaşım gerçekleştirebilirsiniz.
Paylaşım esnasında ise sizden;
- Hangi kullanıcı ile (Invite by name or username)
- Hangi işlem rolü üzerinden
View + Run: Görüntüleme ve çalıştırma,
View Result: Sonuçları görüntüleme,
Cannot View: Görüntüleyemeyecek şekilde kullanım yetkilendirmesi.
paylaşılacağının bilgisini istemektedir.
My Worksheets (Benim Çalışma Sayfalarım) görünümü;
Folders (Klasörler) görünümü;
Dashboards
Çeşitli ihtiyaç ve kullanımlara yönelik pano hizmetleri oluşturmamızı ve yönetmemizi sağlamaktadır.
Bu alan içerisinde;
- Recent (Son Kullanımlar/Görüntülenmeler): Sistem üzerinde gerçekleştirilen son pano işlemleri ve panolara ait hizmet bilgilerini sağlamaktadır.
- Shared with me (Benimle Paylaşılanlar): Kullanıcınız ile paylaşılan panolara ait hizmetlerini sağlamaktadır.
- My Dashboards (Benim Panolarım): Kullanıcınıza ait oluşturmuş olduğunuz panoların hizmetlerini sağlamaktadır.
hizmetleri yer almaktadır.
Recent (Son Kullanımlar/Görüntülenmeler) görünümü;
Shared with me (Benimle Paylaşılanlar) açılış ilkel görünümü;
My Dashboards (Benim Panolarım) görünümü;
Kullanımınıza yönelik pano oluşturmak için gezinti bölmesi üzerinden Dashboards alanına giriş yaptığınızda sağ üst köşede yer alan +Dashboard düğmesi/butonu ile yeni bir pano ekleyebilirsiniz.
+Dashboard düğmesini/butonunu tıkladığınızda aşağıdaki gibi bir pano oluşturma alanına yönlendirileceksiniz.Öncelik bu alan üzerinde pano öğenizde yer alacak görselleri oluşturmanız, ardından ise panonuzu düzenlemeniz gerekmektedir.
+Tile (Pano Döşemesi) düğmesini/butonunu tıkladığınızda;
kullanımınıza yönelik sistem üzerinde barındırılan veri kaynaklarını sorgulamanızı sağlayan bir sorgulama ekranı ile karşılaşacaksınız.
Buradan pano üzerinde görüntülemeyi planladığınız öğelerde görüntülenecek verileri tablolama ile oluşturabilir;
ve oluşturduğunuz veri grubuna göre panonuz üzerinde yer alacak görselleri tasarlayabilirsiniz.
İlgili çalışma alanı;
şeklindedir.
Görseli yapılandırmak için çıktı alanı üzerinde yer alan, görsel düzenleme alanındaki;
- Chart Type (Grafik Türü): Pano üzerinde yer alacak görselin tipini belirlemenizi sağlamaktadır.
- Data (Veri): Görsel üzerinde yer alacak parametre ve veri gruplarını belirlemenizi sağlamaktadır.
- Appearence (Görünüm): Pano üzerinde yer alacak görselin veri görünüm formatını belirlemenizi sağlamaktadır.
hizmetler ile düzenleme gerçekleştirebilirsiniz.
Görsel düzenleme alanı görünümü;
Chart Type (Grafik Türü) kullanım formatları; (Alternatif Görsel Tipleri)
şeklinde sistem üzerinde yer almaktadır.
Tüm öğe yapılandırma işlemlerinizi tamamladıktan sonra ilgili öğenizi panonuza aktarabilirsiniz.
Mevcut panonuz üzerinde;
Panoya aktarılmış olan görsel üzerinde yer alan verileri anlık olarak yenileyebilir,
ilgili öğelerinizi mevcut panonuz üzerinde tekrardan konumlandırabilir,
panonuz üzerinde yeni görsel öğeler oluşturabilir,
ya da kullanım özetini kontrol edebilirsiniz.
Data
Çeşitli süreçlere yönelik oluşturulmuş veri kaynaklarını barındırmamızı, yapılandırmamızı ve üzerinde işlemler gerçekleştirmemizi sağlamaktadır.
Bu alan içerisinde;
- Databases (Veritabanları): Sistem üzerinde çeşitli süreçlere ait barındırılan veritabanlarına yönelik yapılandırma ve ek işlemler gerçekleştirmemizi sağlamaktadır.
- Shared Data (Paylaşılan Veri): Kullanıcınızla ya da kullanıcınız tarafından kullanıcılar ile paylaşılan veritabanlarına yönelik işlem hizmetleri sağlamaktadır.
- Marketplace (Pazaryeri): Snowflake sağlayıcıları üzerinde yer alan test veritabanları ve ek hizmet çözümleri sağlamaktadır.
hizmetleri yer almaktadır.
Databases (Veritabanları) görünümü;
Bu alan üzerinde sahip olduğunuz (sizinle paylaşılan dahil) veritabanlarının genel ön izlemesi gerçekleştirilmektedir.
Kullanımınıza yönelik veritabanı oluşturmak için gezinti bölmesi üzerinden Data/Database alanına giriş yaptığınızda sağ üst köşede yer alan +Database düğmesi/butonu ile yeni bir veritabanı ekleyebilirsiniz.
+Database düğmesini/butonunu tıkladığınızda sizden aşağıdaki gibi veritabanı oluşturma bilgileri talep edilecek.
İlgili bilgilerini girip Create (Oluştur) düğmesini/butonunu tıkladığınızda ise;
Veritabanı oluşturma durumu hakkında bilgi iletip ilgili veritabanınızı veritabanı öğeleri arasında listeleyecek.
İlgili veritabanlarınıza yönelik obje bazlı bilgi almak istediğinizde, bilgisini edinmek istediğiniz veritabanını tıklayarak Database Details (Veritabanı Detayları) ve Schemas (Veritabanı Şemaları) bilgilerine ulaşabilirsiniz.
Database Details (Veritabanı Detayları) görünümü;
Database Details (Veritabanı Detayları) üzerinden; veritabanı bilgileri** düzenleme ve veritabanı paylaşım/erişim işlemlerini yapılandırabilirsiniz.
**Veritabanı; adı, şeması, tipi, öğe özellikleri ve açıklaması.
Schemas (Veritabanı Şemaları) görünümü;
Shared Data (Paylaşılan Veri) görünümü;
- Shared With Me (Benimle Paylaşılanlar): Kullanıcınızla paylaşılan veritabanlarına ait hizmetleri sağlamaktadır.
- Shared By My Account (Benim Hesabım ile Paylaşılanlar): Kullanıcınızın organizasyon hesabı ile paylaşılan veritabanlarına ait hizmetleri sağlamaktadır.
- Reader Account (Okuyucu Hesabı): Kullanıcınızla paylaşılan, okuma yetkiniz olan veritabanlarına ait hizmetleri sağlamaktadır.
hizmetlerinden/işlem alanlarından oluşmaktadır.
Shared With Me (Benimle Paylaşılanlar) görünümü;
Shared By My Account (Benim Hesabım ile Paylaşılanlar) görünümü;
Reader Account (Okuyucu Hesabı) görünümü;
Marketplace (Pazaryeri) görünümü;
Marketplace (Pazaryeri) içerisinde;
- Categories (Kategoriler),
- Business Need (İş İhtiyaçları),
- Providers (Sağlayıcılar)
standartlarında kullanıcı profilinize yönelik veri havuzları bulunmaktadır.
(Kullanıcı lisansınıza bağlı olarak kapasite ve işleme gereksinimleri mevcut.)
İlgili gereksinimlerinizi belirledikten sonra Request Data (Veri İste) ile veri kaynağını hesabınıza aktarabilirsiniz.
Compute
Veri kaynakları üzerindeki işlem geçmişini ve bunlara yönelik çeşitli analizlere erişmemizi sağlamaktadır.
Bu alan içerisinde;
- History (Tarihçe): Sistem üzerindeki veritabanlarına yönelik gerçekleştirilen sorgulama işlemlerinin geçmişine erişmemizi sağlamaktadır.
- Warehouse (Veri Depo Alanı/Ambarı): Kullanıcınızın sahip olduğu veri kaynaklarına ve depolama bilgilerine erişmenizi sağlamaktadır.
- Resource Monitors (Kaynak İzleyicileri): Kullanıcınıza ya da kaynaklarınıza yönelik işlem hizmet takibi oluşturmanızı sağlamaktadır.
hizmetleri yer almaktadır.
History (Tarihçe) görünümü;
Warehouse (Veri Depo Alanı) görünümü;
Resource Monitors (Kaynak İzleyicileri) görünümü;
Bu alan üzerinde sahip olduğunuz (sizinle paylaşılan dahil) kaynak izleyicileri genel ön izlemesi gerçekleştirilmektedir.
Kullanımınıza yönelik kaynak izleyicileri oluşturmak için gezinti bölmesi üzerinden
Compute/Resource Monitors alanına giriş yaptığınızda sağ üst köşede yer alan +Resource Monitor
düğmesi/butonu ile yeni bir kaynak izleyicisi ekleyebilirsiniz.
+Resource Monitor düğmesini/butonunu tıkladığınızda sizden aşağıdaki gibi kaynak izleyicisi oluşturma bilgileri talep edilecek.
İlgili bilgilerini girip Create Resource Monitor (Kaynak İzleyicisi Oluştur) düğmesini/butonunu tıkladığınızda ise;
kaynak izleyicisi oluşturma durumu hakkında bilgi iletip ilgili kaynak izleyicinizi diğer öğeler arasında listeleyecek.
Ek olarak kaynak izleyicisi oluştururken;
- Credit Quota (Kredi Kotası-Harcanacak kredi kotası)
- Monitor Type (Kaynak İzleyicisi Tipi-Hesap ya da Veri Ambarı)
opsiyonel olarak ilgili tiplerde tercihte bulunabilirsiniz.
Oluşturulan kaynak izleyicisi;
şeklinde sistem üzerinde görüntülenmektedir.
Account
Hesap dahilinde organizasyon içerisindeki işlem, kullanım ve depolama/barındırma hareketlerine ait bilgilere erişmemizi sağlamaktadır.
Bu alan içerisinde;
- Usage (Kullanım): Sistem üzerindeki kullanıcınıza yönelik sağlanan hizmetlerin kullanım geçmişine erişmemizi sağlamaktadır.
- Roles (Roller): Sistem üzerindeki kullanıcınıza/kullanıcılarınıza yönelik sağlanan yetkilerin/rollerin kullanım ve yapılandırmasına erişmemizi sağlamaktadır.
- Users (Kullanıcılar): Sistem üzerindeki kullanıcılarınıza yönelik bilgilerin yapılandırmasına erişmemizi sağlamaktadır.
- Security (Güvenlik): Sistem üzerindeki güvenlik hizmetlerine erişmemizi sağlamaktadır.
- Billing (Ödeme): Kullanıcınıza yönelik ödeme hizmetlerine erişmemizi sağlamaktadır.
hizmetleri yer almaktadır.
Usage (Kullanım) görünümü içerisinde;
- Organization (Organizasyon-Organizasyon kullanımları),
- Consumption (Tüketim-Genel kullanımlar/tüketimler),
- Storage (Depoalama-Genel depolama kullanımları),
- Transfers (Transfeler-Genel transfer kullanımları)
ek hizmetler bulunmaktadır.
Organization (Organizasyon) görünümü;
Consumption (Tüketim) görünümü;
Storage (Depoalama) görünümü;
Transfers (Transfeler) görünümü;
Roles (Roller) görünümü içerisinde;
Genel rol listesi ve rol şeması yer almaktadır.
Kullanımınıza yönelik roller oluşturmak için gezinti bölmesi üzerinden Accounts/Roles alanına giriş yaptığınızda sağ üst köşede yer alan +Role düğmesi/butonu ile yeni bir rol ekleyebilirsiniz.
+Role düğmesini/butonunu tıkladığınızda sizden aşağıdaki gibi rol oluşturma bilgileri talep edilecek.
İlgili bilgilerini girip Create Role (Rol Oluştur) düğmesini/butonunu tıkladığınızda ise;
rol durumu hakkında bilgi iletip ilgili rolünüzü diğer öğeler arasında listeleyecek, ve dilerseniz ek rol ile yeni bir yapı kurabileceksiniz. (EK USERADMIN özelliği atandı.)
Users (Kullanıcılar) görünümü;
Kullanımınıza yönelik kullanıcılar oluşturmak için gezinti bölmesi üzerinden Accounts/Users alanına giriş yaptığınızda sağ üst köşede yer alan +User düğmesi/butonu ile yeni bir kullanıcı ekleyebilirsiniz.
+User düğmesini/butonunu tıkladığınızda sizden aşağıdaki gibi kullanıcı oluşturma bilgileri talep edilecek.
İlgili bilgileri girip Create User (Kullanıcı Oluştur) düğmesini/butonunu tıkladığınızda ise;
kullanıcımız ilgili kullanıcı listemiz üzerinde yer alacak.
Security (Güvenlik) görünümü içerisinde;
- Network Policies (Ağ Politikaları-Erişim ağ hizmet planlaması),
- Sessions (Oturumlar-Oturum kayıtları),
ek hizmetler bulunmaktadır.
Network Policies (Ağ Politikaları) görünümü;
(Doğrudan New Network Policy ile açılmaktadır.)
Sessions (Oturumlar) görünümü;
Billing (Ödeme) görünümü;
(Basit ödeme aracı ekleme ekranı, yeter ki ödeme aracı ekleyin…)
Organization
Organizasyona ait genel hizmetlerin özet bilgilerine erişmemizi sağlamaktadır.
Bu alan içerisinde;
- Accounts (Hesaplar): Sistem üzerindeki kullanıcınıza yönelik genel hizmet özelliklerine erişmemizi sağlamaktadır.
- Notification Contacts (İletişim Bildirimleri): Sistem üzerindeki kullanıcınıza yönelik sağlanan bildirimlere ve içeriklere erişmemizi sağlamaktadır.
hizmetleri yer almaktadır.
Accounts (Hesaplar) görünümü;
Notification Contacts (İletişim Bildirimleri)
Snowflake Maliyetlendirme
Snowflake maliyetlendirme yapısı doğrudan kullanım hizmet içeriğine bağlı olarak belirlenmektedir.
Hizmet ekseni büyük veri ve yoğun işlem temposunda olan sistemler için maliyet bakımından uygun seviyede gözükmektedir. (EK)
Ek maliyetlendirmeler için Snowflake resmi sitesindeki maliyet hesap alanına göz atabilirsiniz.
İlgili bağlantı;
https://www.snowflake.com/pricing/
Snowflake Kullanım Alanları
- Yüksek ölçekteki veri ambarlarının depolanması,
- Yüksek ölçekteki veri ambarlarına yönelik veri analizi sorgulamalarının gerçekleştirilmesi,
- Yüksek ölçekteki veri ambarlarından anlık olarak veri analizi sorgulaması gerçekleştirilmesi
kısacası Büyük Veri işlemlerine ait yüksek performansta birçok işlemin gerçekleştirilmesi.
(ML, AI vb. spesifik hazır destekleri bulunmamaktadır.)
Bu bölümde genel manada Büyük Veri işlemleri için kullanılan Snowflake yazılımını aktarmaya çalıştım.
Gelecek yazılarda görüşmek üzere.
İyi günler, iyi çalışmalar…