Mengenal Kelebihan dan Kekurangan Snowflake Schema

Subscribe Dengan Account Google Untuk Membaca Artikel Tanpa Iklan
Mengenal Kelebihan dan Kekurangan Snowflake Schema

Apa itu Snowflake Schema ?


Snowflake schema adalah database multidimensional dalam data warehouse. Database berupa skema ini memiliki beberapa tabel di dalamnya yang menyerupai bentuk snowflake atau kepingan salju.

Oleh karena itu, namanya disebut sebagai snowflake schema atau skema kepingan salju. Skema ini tersusun dari fact table atau tabel fakta yang berada di tengah.

Tabel ini terhubung dengan berbagai dimensi yang juga dikelompokkan dalam tabel. Tabel ini disebut dengan dimensional tables atau tabel dimensional.

Informasi atau data dalam tabel-tabel ini kemudian dinormalisasi untuk mengurangi redundancy atau pengulangan data yang ada.

Skema jenis ini merupakan yang sangat cocok untuk mengolah data dengan hubungan serta tabel yang rumit, tidak seperti star schema.

snowflake schema ilustration snowflake schema ilustration // geeksforgeeks


Kelebihan Snowflake Schema



1) Lebih banyak tool yang bisa digunakan

Snowflake schema bisa digunakan dengan lebih banyak OLAP database modeling tools. OLAP database modeling tools adalah tool yang digunakan untuk analisis data dan modeling.

Tool ini pada dasarnya dibuat dan didesain untuk memproses skema data tipe snowflake.

2) Hemat storage

Karena ada proses snowflaking yaitu normalisasi data, pengulangan data yang sama bisa dikurangi.

Dengan begitu, besar data yang harus disimpan juga semakin kecil.

Kekurangan Snowflake Schema




1) Skema data lebih kompleks

Skema database yang satu ini memiliki kemungkinan menciptakan banyak level kompleksitas saat proses normalisasi atribut dari star schema.

Memang, ini akan berujung pada penyimpanan data yang lebih efektif. Namun, performanya bisa menurun akibat join query yang rumit.

Akan tetapi, dengan berkembangnya teknologi, snowflake schema menjadi semakin cepat beberapa tahun belakangan ini.

Oleh karena itu, skema ini semakin banyak digunakan dari waktu ke waktu.

2) Proses lebih lambat


Skema ini lebih lambat dalam memproses cube data akibat join query yang kompleks. Dibanding star schema, kecepatannya masih kalah.

3) Integritas data


Skema jenis ini memiliki integritas data yang lebih rendah.

Snowflake schema pada dasarnya menawarkan pengambilan data yang lebih efektif dengan risiko minim setelah update dan memasukkan data baru.

Akan tetapi, tidak ada jaminan integritas data seperti struktur database tradisional yang highly–normalized.

Untuk meminimalkan risiko ini, penting untuk selalu mengecek kualitas informasi atau data setelah di-load.



sumber referensi : glint, geeksforgeeks



Baca artikel lainya:


  1. Mini Wallet Bagian 1 - Django Template dan Static File

  2. Mini Wallet Bagian 2 - Django Template Base HTML

  3. Tutorial bassic Mysql bagian 1 - Create Read Update Delete

  4. Tutorial bassic Mysql bagian 2 - Inner, Left, Right, Cross Join

  5. Tutorial bassic Mysql bagian 3 - Filtering Data

  6. Tutorial bassic Mysql bagian 4 - Grouping Data 

  7. Tutorial bassic Mysql bagian 5 - Operator dan Clausa

  8. Tutorial bassic Mysql bagian 6 - Replace Statement

  9. Tutorial bassic Mysql bagian 7 - Constraint Data

  10. Tutorial bassic Mysql bagian 8 - Mengubah Struktur tabel

  11. Tutorial bassic Mysql bagian 9 - Subquery

  12. Tutorial bassic Mysql bagian 10 - Virtual Tabel

  13. Tutorial bassic Mysql bagian 11 - Control Flow Function

  14. Membuat service OTP bagian 1 - OTP dan PIN

  15. Membuat service OTP bagian 2 - Sequence Diagram

  16. Membuat service OTP bagian 3 - Model dan Serializer

  17. Membuat  service OTP bagian 4 - Validate OTP

  18. Membuat  service OTP bagian 5 - Api Client Service

  19. Membuat service user login bagian 1 - Konfigurasi Database

  20. Membuat service user login bagian 2 - Serializer dan JWT

  21. Membuat CRUD service product bagian 1 - Models Product

  22. Membuat CRUD service product bagian 2 - Function Serializer

  23. Membuat CRUD service product bagian 3 - Api Client Service

  24. Membaut CRUD service product bagian 4 - Auth User

  25. Membuat CRUD service product bagian 5 - TDR File Log

  26. Membuat CRUD service product bagian 6 - Unit Test

  27. Membuat service user register bagian 1 - Django

  28. Membuat Service user register bagian 2 - Django

  29. Membuat service filter dan download file CSV di django

  30. Django upload file menggunakan FileSystemStorage