Boyutsal modelleme

Snowflake ile Veri Modellemesine Giriş

Nuno Rocha

Director of Engineering

Boyutsal veri modeline giriş

  • Boyutsal modelleme: Ölçümleri (olgular) tanımlayıcı ayrıntılardan (boyutlar) ayıran, raporlama ve analiz için optimize edilmiş bir veri yapılandırma tekniği.

Boyutsal model

Snowflake ile Veri Modellemesine Giriş

Boyutsal veri modeline giriş (1)

  • Boyutlar: Boyutsal modelde kategorik veriye sahip varlıklar.
  • Olgular: Boyutlardaki kategoriler içinde faaliyetleri yakalayan ve ölçen varlıklar.

Boyutsal kolej modeli

Snowflake ile Veri Modellemesine Giriş

Yıldız boyutsal model şeması

Boyutsal yıldız modeli

Snowflake ile Veri Modellemesine Giriş

Yıldız boyutsal model şeması

  • Snowflake Veri Ambarı: Bulut tabanlı depolama ve analitik hizmeti.
  • Snowflake Şeması: Alt boyutları içeren boyutsal modelde veri düzenleme yöntemi.

Snowflake, veri ambarı ve boyutsal model

Snowflake ile Veri Modellemesine Giriş

Snowflake boyutsal model şeması

Boyutsal snowflake modeli

Snowflake ile Veri Modellemesine Giriş

Boyutları tanımlama

  • Modeldeki boyutları izlemek için varlıkları netlik adına dim_VarlıkAdı olarak yeniden adlandırın:
ALTER TABLE students RENAME TO dim_students;
ALTER TABLE classes RENAME TO dim_classes;
ALTER TABLE schools RENAME TO dim_schools;
Snowflake ile Veri Modellemesine Giriş

Tarih boyutunu tanımlama

  • Okuldaki öğrenci kayıtlarıyla ilgili temel sabit tarihleri tutmak için dim_date tablosunu oluşturma:
CREATE OR REPLACE TABLE dim_date (
    date_id NUMBER(10,0) PRIMARY KEY,
    year NUMBER(4,0),
    semester VARCHAR(255)
);
Snowflake ile Veri Modellemesine Giriş

Kayıtlar olgusunu tanımlama

  • Tüm boyutlara referanslar içeren bir olgu varlığı oluşturun:
CREATE OR REPLACE TABLE fact_enrollments (
    enrollment_id NUMBER(10,0) PRIMARY KEY,
    student_id NUMBER(10,0),
    class_id NUMBER(10,0),
    date_id NUMBER(10,0),
    FOREIGN KEY (student_id) REFERENCES dim_students(student_id),
    FOREIGN KEY (class_id) REFERENCES dim_classes(class_id),
    FOREIGN KEY (date_id) REFERENCES dim_date(date_id)
);
Snowflake ile Veri Modellemesine Giriş

Boyutlardan veri getirme

Kolej boyutsal veri modeli

Snowflake ile Veri Modellemesine Giriş

Boyutlardan veri getirme (1)

SELECT name, 
    class_name
FROM fact_enrollments
    JOIN dim_students -- Öğrenci adlarını almak için birleştirme
    ON fact_enrollments.student_id = dim_students.student_id
    JOIN dim_classes -- Ders adlarını almak için birleştirme
    ON fact_enrollments.class_id = dim_classes.class_id
    JOIN dim_schools -- 'Science' okuluna göre filtrelemek için birleştirme
    ON dim_classes.school_id = dim_schools.school_id
    JOIN dim_date -- Veriyi 2023 yılıyla sınırlamak için birleştirme
    ON fact_enrollments.date_id = dim_date.date_id
WHERE dim_schools.school_name = 'Science' 
    AND dim_date.year = 2023;
Snowflake ile Veri Modellemesine Giriş

Terimler ve işlevlere genel bakış

  • Boyutsal modelleme: Ölçümleri (olgular) tanımlayıcı ayrıntılardan (boyutlar) ayıran, raporlama ve analiz için optimize edilmiş veri yapılandırma tekniği
  • Boyutlar: Boyutsal modelde kategorik veriye sahip varlıklar
  • Olgular: Boyutlardaki kategoriler içinde faaliyetleri yakalayan ve ölçen varlıklar
  • ALTER TABLE: Mevcut bir varlığın yapısını değiştiren SQL komutu
  • RENAME TO: ALTER TABLE ile kullanılan, bir varlığı yeniden adlandıran SQL komutu
  • JOIN ON: İlişkili bir sütuna dayalı olarak tabloları birleştiren SQL ifadesi
  • WHERE: Koşula göre kayıtları filtreleyen SQL ifadesi
  • AND: WHERE ile birden çok koşulu birleştiren mantıksal işlemci
Snowflake ile Veri Modellemesine Giriş

İşlevlere genel bakış

-- Bir varlığı değiştirme
ALTER TABLE table_name 
RENAME TO new_name;
-- Belirli koşullara göre birleştirilmiş varlıklardan sorgulama
SELECT 
    table_name.column_name,
    other_name.*
FROM table_name
    JOIN other_table 
    ON table_name.FK = other_table.PK
WHERE column_name  condition  value
    AND column_name  condition  value;
Snowflake ile Veri Modellemesine Giriş

Hadi pratik yapalım!

Snowflake ile Veri Modellemesine Giriş

Preparing Video For Download...