Traffine I/O

Bahasa Indonesia

2022-12-30

Apa itu Dimensional Modeling

Apa itu Dimensional Modeling

Dimensional modeling adalah teknik pemodelan data yang digunakan dalam data warehousing untuk mengorganisir dan menyajikan data dengan cara yang memudahkan querying dan analisis yang efisien. Dalam sebuah model dimensional, data diorganisir menjadi dimensi dan fakta, yang kemudian digabungkan untuk membentuk sebuah skema yang dioptimalkan untuk analisis data.

Pentingnya Dimensional Modeling

Pentingnya dimensional modeling terletak pada kemampuannya untuk menyederhanakan model data, sehingga memudahkan pengguna akhir dalam memahami dan mengakses data. Dengan mengorganisir data menjadi dimensi dan fakta, pengguna dapat dengan cepat mengakses informasi yang mereka butuhkan tanpa harus menavigasi hubungan yang kompleks antara tabel. Hal ini juga memungkinkan performa querying yang lebih cepat, karena data telah dipre-agregasi dan disimpan dengan cara yang memungkinkan pengambilan dan analisis yang efisien.

Komponen Kunci dari Dimensional Modeling

Komponen kunci dari dimensional modeling adalah dimensi, fakta, dan hubungan. Dimensi adalah atribut-atribut dengan mana data dianalisis dan dapat mencakup hal-hal seperti waktu, geografi, dan kategori produk. Fakta adalah pengukuran atau metrik yang sedang dianalisis dan dapat mencakup hal-hal seperti penjualan, pendapatan, atau jumlah pelanggan. Hubungan antara dimensi dan fakta ditetapkan melalui penggunaan foreign keys, yang memungkinkan pembuatan hierarki dan kemampuan drill-down.

Berikut adalah contoh tabel fakta dan dimensi.

  • Fact_Sales
Sale_ID Date_Key Product_Key Store_Key Unit_Sold Revenue
1 20230101 1001 2001 5 500.00
2 20230101 1002 2001 2 300.00
3 20230102 1001 2002 3 300.00
  • Dim_Date
Date_Key Date Day Month Year
20230101 2023-01-01 1 1 2023
20230102 2023-01-02 2 1 2023

Pada contoh di atas, kita memiliki tabel fakta bernama Fact_Sales yang berisi informasi tentang transaksi penjualan, dan tabel dimensi bernama Dim_Date yang menyimpan informasi tanggal.

Komponen penting lain dari dimensional modeling meliputi penggunaan star schema dan snowflake schema. Star schema adalah model dimensional sederhana di mana satu tabel fakta terhubung dengan seperangkat tabel dimensi, membentuk bentuk seperti bintang. Snowflake schema adalah model dimensional yang lebih kompleks di mana tabel dimensi dinormalisasi, menciptakan penggunaan ruang penyimpanan yang lebih efisien.

Merancang Model Dimensional

Merancang model dimensional merupakan komponen penting dalam membangun data warehouse yang efektif. Model dimensional adalah teknik pemodelan data yang mengorganisir data ke dalam dimensi dan fakta, menciptakan struktur yang dioptimalkan untuk pengambilan data dan analisis yang efisien. Saat merancang model dimensional, ada beberapa hal penting yang perlu diperhatikan.

Star Schema

Salah satu pendekatan umum dalam merancang model dimensional adalah dengan menggunakan star schema. Star schema terdiri dari satu atau beberapa tabel fakta yang terhubung dengan tabel dimensi. Tabel fakta berisi metrik atau pengukuran yang dianalisis, sedangkan tabel dimensi menyediakan konteks dan detail untuk metrik tersebut. Star schema dinamai demikian karena bentuknya menyerupai bintang dengan tabel fakta di tengah dan tabel dimensi menjulang keluar darinya.

Snowflake Schema

Pendekatan lain dalam merancang model dimensional adalah dengan menggunakan snowflake schema. Snowflake schema adalah variasi dari star schema, di mana tabel dimensi dinormalisasi sehingga menciptakan penggunaan ruang penyimpanan yang lebih efisien. Pada snowflake schema, tabel dimensi dibagi menjadi beberapa tabel, di mana setiap tabel mengandung sebagian atribut dari tabel dimensi asli.

Memilih Antara Star dan Snowflake Schema

Saat memilih antara star dan snowflake schema, ada beberapa faktor yang perlu dipertimbangkan. Star schema lebih mudah dipahami dan dinavigasi, sehingga cocok untuk data warehouse atau data mart yang lebih kecil. Snowflake schema, di sisi lain, lebih kompleks tetapi dapat memberikan kinerja dan skalabilitas yang lebih baik untuk data warehouse yang lebih besar.

Dimensi dan Fakta Bersama

Salah satu pertimbangan penting dalam merancang model dimensional adalah penggunaan dimensi dan fakta bersama. Dimensi dan fakta bersama adalah dimensi dan fakta yang digunakan oleh beberapa tabel fakta atau data mart. Dengan menggunakan dimensi dan fakta bersama, organisasi dapat memastikan konsistensi dan akurasi data mereka, serta mengurangi risiko kesalahan atau inkonsistensi.

Merancang untuk Kinerja

Terakhir, saat merancang model dimensional, sangat penting untuk mempertimbangkan kinerja. Ini termasuk mengoptimalkan model untuk pengambilan data dan analisis yang efisien, serta memastikan bahwa data warehouse dapat diskalakan dan dapat menangani volume data yang semakin meningkat dari waktu ke waktu. Pertimbangan kinerja utama termasuk merancang strategi indeks yang sesuai, meminimalkan redundansi data, dan memastikan bahwa model dioptimalkan untuk jenis query yang akan dijalankan.

Membuat Data Mart dengan Tabel Dimensi dan Fakta

Data mart adalah subset dari data warehouse, yang disesuaikan dengan kebutuhan analisis spesifik dari suatu departemen atau kelompok pengguna. Merancang data mart melibatkan pemilihan tabel dimensi dan fakta yang relevan serta membuat skema untuk mengoptimalkan kueri.

Misalkan ada bisnis ritel yang ingin menganalisis data penjualan mereka. Tabel dimensi "Product" mungkin terlihat seperti ini:

product_id product_name category subcategory brand
1 Product A Apparel Shirts Brand1
2 Product B Apparel Pants Brand2
3 Product C Electronics Phones Brand3

Untuk contoh bisnis ritel tersebut, tabel fakta "Sales" bisa terlihat seperti ini:

date store_id product_id units_sold revenue
2023-01-01 1 1 10 1000
2023-01-01 1 2 5 500
2023-01-01 2 3 8 2400

Untuk bisnis ritel tersebut, data mart yang difokuskan pada analisis penjualan berdasarkan kategori produk mungkin mencakup tabel dimensi "Product" dan tabel fakta "Sales", dengan skema yang menghubungkan kedua tabel melalui product_id.

sql
-- Creating a view for the Sales Data Mart
CREATE VIEW Sales_Data_Mart AS
SELECT
    s.date,
    s.store_id,
    p.product_id,
    p.product_name,
    p.category,
    p.subcategory,
    p.brand,
    s.units_sold,
    s.revenue
FROM
    Sales s
JOIN
    Product p ON s.product_id = p.product_id;
date store_id product_id product_name category subcategory brand units_sold revenue
2023-03-01 1 1 Product A Apparel Shirts Brand1 10 1000
2023-01-01 1 2 Product B Apparel Pants Brand2 5 500
2023-01-01 2 3 Product C Electronics Phones Brand3 8 2400

Dengan menggunakan tampilan Sales_Data_Mart, kita sekarang dapat dengan mudah melakukan kueri dan analisis pada data penjualan bisnis ritel dengan konteks kategori produk.

sql
SELECT
    category,
    SUM(revenue) as total_revenue
FROM
    Sales_Data_Mart
GROUP BY
    category;
category total_revenue
Apparel 1500
Electronics 2400

Ryusei Kakujo

researchgatelinkedingithub

Focusing on data science for mobility

Bench Press 100kg!