Ini Cerita dariKami…
https://www.dicoding.com/impact
Kami ingin menganalisis,
tapi query-nya terlalu lama.
“Arsitektur data adalahproses paling fundamental untuk
membuat hasil analisis lebih baik, bahkan untuk kebutuhan proyek
AI sekalipun.”
Mengapa Arsitektur Data?
Dalam dunia data,sub-second analysis menggambarkan seberapa
rendah latency data yang dimiliki, sehingga dapat diproses dan
langsung siap digunakan oleh pengguna.
Tujuan: Analisis Cepat!
8.
Query analisis berasallangsung dari berbagai sumber data
yang dimiliki oleh perusahaan
Tantangan: The Data Chaos
Urgensi High-Performance Analytics
Arsitekturdata yang tepat bukan hanya soal memenuhi
kebutuhan operasional, tapi juga pondasi yang bisa mendorong
kecepatan dan kualitas analisis.
Arsitektur data untuk analisis, harus mampu memberikan dua
hal:
● Pengalaman pengguna (stakeholders) yang sederhana dan
intuitif.
● Performa query yang cepat agar organisasi dapat
mengambil keputusan dengan lebih gesit.
11.
Ada perbedaan antaradata untuk Transaksi dan juga data untuk Analisis.
Mari Mulai dari Dasar..
12.
OLTP dan OLAP
Memahamisistem data yang efisien harus memastikan kita paham perbedaan antara basis data OLTP dan
OLAP.
● Dibuat untuk memproses transaksi cepat dalam
jumlah besar.
● Menjaga integritas data dan mendukung banyak
pengguna pada waktu yang sama.
● Cocok untuk pekerjaan rutin harian seperti input
data, update informasi, atau pencatatan transaksi.
● Fokus pada analisis data, penggabungan informasi,
dan query ad-hoc.
● Mampu mengolah dataset besar dengan struktur
yang kompleks.
● Jadi fondasi utama untuk data warehouse dan BI
(Business Intelligence).
13.
OLTP: Transactional Database
Datatransaksional hampir selalu
diimplementasikan menggunakan struktur yang
sangat ternormalisasi (highly normalized).
Model ini sering disebut sebagai model
Entity-Relationship (ER) atau Third Normal Form
(3NF)
14.
Transactional Database: Trade-offfor
Analysis
Struktur 3NF membagi data menjadi banyak entitas
diskrit.
● Query menjadi lebih lama karena banyak entitas
diskrit.
● Stakeholder sulit memahami data yang
ternormalisasi.
15.
— Kata SiBro
“Normalize for transactions,
Denormalize for analytics.”
16.
Kimball Architecture
Model arsitekturdata ini pertama kali
diperkenalkan oleh Ralph Kimball.
Ada beberapa layer yang perlu diperhatikan.
● Transactional Source
● ETL Systems
● Data Warehouse
● Presentation Area/Reporting Layer
17.
The Key: ETLSystem (1)
Extract, Transform, dan Load (ETL)
memindahkan dan membersihkan data agar siap
untuk dianalisis.
18.
The Key: DimensionalModelling (2)
Kimball merekomendasikan bahwa data yang
dapat di-query harus berupa dimensional ketika
sampai pada Presentation Area.
Dimensional Modelling
Teknik perancanganyang digunakan untuk “menata” data dalam data warehouse. Terdiri dari dua jenis:
Fact tables dan Dimension Table.
● Fact tables mencatat kejadian bisnis yang
bisa diukur.
● Dimension tables memberi informasi
pendukung yang memberi konteks pada
tabel fakta (Who, What, Where, When,
How).
* Dikenal juga sebagai star-schema
21.
Tentang: Fact Tables
Facttable adalah pusat dari model data yang bertugas untuk
mencatat metrik yang dihasilkan dalam setiap kejadian bisnis atau
transaksi yang terjadi.
Tabel ini didefinisikan berdasarkan tingkat “Granularity-nya”,
yakni seberapa detail level data yang kita putuskan untuk
disimpan.
22.
Tipe-tipe Fact Tables
TransactionFact Tables
Mencatat setiap transaksi pada tingkat detail
paling rendah untuk analisis yang fleksibel
dan menyeluruh.
Contohnya: Penjualan Individu
Periodic Snapshot Fact Tables
Merangkum aktivitas dalam periode
waktu tertentu untuk melihat kinerja
atau kondisi secara berkala.
Contoh: Pelaporan Barang Bulanan
Factless Fact Tables
Mencatat kejadian tanpa nilai numerik untuk
menunjukkan apa yang terjadi maupun tidak
terjadi.
Contoh: Riwayat panggilan Customer Service
Accumulating Snapshot Fact Tables
Melacak progres proses yang memiliki
tahapan tetap, dengan satu baris yang
diperbarui sepanjang siklus proses.
Contoh: Riwayat pemesanan (dari
order sampai delivered)
Aggregate Fact Tables
Menyimpan ringkasan data yang
sudah diakumulasi untuk
mempercepat proses query dan
analisis.
23.
Tentang: Dimension
Tables
Di sisilain, dimension table adalah jenis table yang
bertujuan untuk memberikan konteks terhadap data
numerik pada fact tables.
Biasanya akan banyak digunakan untuk filtering,
grouping, drilling down, dan sebagainya.
24.
Tipe-Tipe Dimension Table
ConformedDimension
Dimensi yang digunakan bersama oleh beberapa fact
table sehingga analisis tetap konsisten di berbagai proses
bisnis.
Role-Playing Dimension
Dimensi table yang sama, tetapi digunakan dalam peran
berbeda di dalam fact table yang sama/berbeda.
Junk Dimension
Dimensi yang menyimpan berbagai atribut kecil
seperti flag atau indikator yang jumlah nilainya sedikit
dan tidak cocok dimasukkan ke dimensi lain.
Slowly Changing Dimension (SCD)
Dimensi yang atributnya bisa berubah seiring waktu
sehingga perlu strategi khusus untuk mengelolanya.
25.
Kenapa SCD Harus
Diperhatikan?
Datapipeline harus memproduksi hasil yang sama.
Walaupun:
- Kapanpun dijalankan
- Berapa kali dijalankan
- Berapa lama dijalankan
26.
Type 3 (Addcolumn)
Setiap perubahan akan tersimpan ke dalam kolom baru.
Slowly Changing Dimension (SCD)
Type 0 (Tidak ada perubahan)
Jenis atribut yang tidak berubah sama sekali seiring
berjalannya waktu.
Misalnya: Tanggal Ulang Tahun
Type 1 (Overwrite)
Jika suatu atribut berubah, catatan/record tersebut akan
diubah atau ditimpa (overwrite).
Type 2 (Add row)
Setiap perubahan akan tersimpan ke dalam baris baru,
alih-alih dihapus atau ditimpa.
27.
Contoh SCD Type2
Melacak perubahan yang terjadi pada
performa suatu pemain di NBA.
28.
Meningkatkan Performa Query
Membuatproses pengambilan data menjadi lebih cepat.
Menyederhanakan Struktur Data
Menyajikan data dalam bentuk yang sederhana dan mudah
dipahami, bahkan oleh pengguna non-teknis.
Pelaporan yang Konsisten
Memastikan semua laporan dalam organisasi menggunakan
data yang sama dan konsisten.
Optimal untuk OLAP & BI Tools
Mendukung penuh aktivitas Online Analytical Processing
(OLAP).
Kalau disimpulkan..
Ini tujuan dimensional modelling
Fondasinya adalah datamodel
Data model mendefinisikan struktur dan perlakuan
terhadap data dalam sistem.
Key lesson!
Pelajari teknik, setelah itu tools-nya
Pada akhirnya tools dilahirkan dengan tujuan menggapai
teknik tertentu.
34.
Komponen Diagram ModernStack (Rekomendasi) Legacy / Traditional Stack
Ingestion (ETL) Airbyte, Fivetran (ELT) SSIS, Informatica, Talend
Transformation dbt (Data Build Tool) Stored Procedures (PL/SQL)
Orchestration Apache Airflow, Prefect Control-M, Cron, Windows Task Scheduler
Storage (DW) Snowflake, BigQuery, Redshift Oracle DB, SQL Server On-Prem
Front End (BI) Tableau, Looker, Power BI Cloud Crystal Reports, Excel, SSRS