RINGKASAN DWH - AA November 9, 2015
1
UTS DATA WAREHOUSE
NOTE:
Segala materi/statement yang ada dalam .docx ini berasal dari slide binusmaya
(referensi bimay: Connolly & Begg, 2015; Inmon, 2005) yang dinterpretasikan secara
sukarela, belom lagi ga ada kisi-kisi yang jelas, jadi kalo ada yang salah jangan
nyalahin gue, wasalam.
INTRODUCTION: DATA WAREHOUSE Datawarehouse: koleksi data yang subject-oriented, time-variant, terintegrasi, dan
non-volatile yang digunakan untuk mendukung proses pembuatan keputusan manajemen.
Subject oriented: db lebih berfokus pada subjek alih-alih proses (kebalikan OLTP).
Integrated data: data yang konsisten.
Time-variant data: asosiasi data dengan waktu.
Non-volatile data: biasanya data tidak diupdate secara real-time dan alih-alih
menggantikan data yang kena update, data baru akan masuk sebagai suplemen untuk
database.
DWH: Keuntungan
- potensi ROI (return on investment, worth every damned penny)
- keuntungan persaingan
RINGKASAN DWH - AA November 9, 2015
2
- meningkatkan produktivitas untuk decision making
DWH: Kekurangan
- estimasi salah mengenai resource
- munculnya masalah yang sulit dilacak
- kadang beberapa data yang dibutuhkan tidak termasuk
- end-user makin ngarep yang macem-macem
- Data homogen
- Permintaan tinggi akan resource
- Mengelola butuh biaya dan waktu
- Proses integrasi yang kompleks/menyulitkan
DBMS DWH Requirement:
- Load performance - Load processing
- Data quality management - Query performance
- Terabyte scalability - Mass user scalability
- Networked data warehouse - Warehouse administration
- Integrated dimensional analysis - Advanced query functionality
Metadata: data tentang data, digunakan untuk berbagai kebutuhan khususnya dalam
pembuatan DW yang terintegrasi penuh.
Proses ETL:
- Ekstraksi (Extraction)
menunjuk 1 atau lebih sumber data khususnya yang masuk dalam database OLTP tetapi
juga bisa termasuk database personal seperti spreadsheet, file enterprise resource
planning (ERP), serta log file penggunaan web.
- Transformasi (Transformation)
menerapkan sekumpulan peraturan ataupun fungsi kepada data yang diekstrak yang
nantinya menentukan bagaimana sebuah data bisa digunakan untuk analisis, termasuk
transformasi berupa kesimpulan data, data encoding, penggabungan data, pemisahan
data, perhitungan data, serta pembuatan key pengganti (surrogate keys).
- Memuat (Loading)
Data yang memuat constraint tambahan serta didefinisikan di dalam skema database bisa
RINGKASAN DWH - AA November 9, 2015
3
diaktifkan, memberi kontribusi terhadap keseluruhan kualitas data dari proses ETL
tersebut.
DATA WAREHOUSE ENVIRONMENT Granularity: level dari detail
Detail tinggi -> granularity rendah
Granularity tinggi -> detail rendah
Contoh: alamat, level detail: nama jalan RT - RW - kecamatan - kelurahan - provinsi -
negara
Keuntungan granularity:
- melihat data dengan banyak sudut pandang
- rekonsiliasi data
- fleksibilitas
- memiliki history aktivitas dan event
Living sample database: bagian dari true archival data atau data kesimpulan yang
diambil dari DWH.
Partitioning: pembagian data menjadi beberapa unit fisik yang dikelola secara terpisah
agar dapat lebih mudah dikelola.
Memberi struktur pada data dalam DWH:
- Simple cumulative
- Rolling summary
- Simple direct
- Continuous
Homogeneous data: semua tipe record adalah sama
Memisah homogeneous data sesuai:
- Area subject
- Tabel
- Kemunculan dalam tabel
RINGKASAN DWH - AA November 9, 2015
4
data yang salah dalam DWH? Mengoreksi
- Masukin nilai offset
contoh: nilai dalam DWH 50000, seharusnya 5000, jadi dikurang 45000 biar jadi 5000
- Reset data
data dalam DWH direset, iya, semua. Kalo cuma sebiji yang mau dikoreksi, mending pake
cara masukin nilai offset tadi.
DATA WAREHOUSE DESIGN Metodologi pengembangan DWH:
- W. H. Inmon
(+) menyediakan konsistensi dan view yang komprehensif dari data
(-) Kalau proyek yang kompleks, dimungkinkan kegagalan untuk untuk menyampaikan value
dalam ruang lingkup waktu serta budget yang telah ditentukan.
- Ralph Kimball
(+) kemampuan untuk mendemonstrasikan value dalam ruang lingkup waktu dan budget yang
telah ditentukan
(-) kadang kurang konsisten
9 step kimball:
1. Choosing the process
Pada langkah ini, dipilihlah proses-proses penting dalam kumpulan proses bisnis.
2. Choosing the grain
Memutuskan secara tepat apa yang digambarkan oleh record dalam tabel fakta. Setelah
menentukan grain tabel fakta, dimensi untuk setiap tabel fakta dapat diidentifikasi. Biasanya
di sini diidentifikasi laporan apa saja yang bakal digenerate DWH (end product).
3. Identifying and conforming the dimensions
Identifikasi dimensi dengan detail yang
secukupnya untuk mendeskripsikan sesuatu.
Hubungan ini biasanya dibuat dalam bentuk
tabel-tabel.
Setiap dimensi umumnya memiliki 2 key umum
yaitu surrogate key dan business key. Surrogate
RINGKASAN DWH - AA November 9, 2015
5
key adalah key yang pada umumnya bertipe integer yang bersifat auto increment dan berguna
untuk mengoptimalkan performa query sementara business key adalah key yang berasal dari
tabel/relasi OLTP.
4. Choosing the facts
Memilih fakta yang akan digunakan dalam data mart. Masing-masing fakta memiliki data yang
dapat dihitung (pre calculation) yang kemudian akan ditampilkan dalam bentuk laporan,
grafik atau diagram.
5. Storing pre-calculations in the fact table
Ketika sebuah tabel fakta diidentifikasi, dilihat lagi apakah ada kemungkinan untuk
melakukan pre-calculation yang biasanya terjadi jika menghasilkan status untung/rugi
dalam transaksi tersebut.
6. Rounding out dimension tables
Memberikan deskripsi/penjelasan singkat, padat, dan jelas pada setiap tabel dimensi yang
ada sehingga dapat dengan mudah dipahami oleh user.
7. Choosing the duration of the database
Menentukan batas waktu dari umur data yang diambil dan akan dipindahkan ke dalam tabel
fakta. Data pada database bioskop selama 5 tahun lalu atau lebih diambil dan dimasukkan ke
dalam tabel fakta.
8. Tracking slowly changing dimensions
Dari 3 metode SCD yang tersedia:
SCD I langsung overwrite data pada relasi dimensi ketika update
SCD II setiap update dibuat record baru, record lama tersimpan
SCD III update atribut dalam relasi dimensi dengan adanya penambahan atribut alternatif
yang baru sehingga penggunaan record yang lama serta baru dapat digunakan bersamaan
dalam satu record dimensi sama.
Untuk atribut non-historical dapat digunakan tipe 1, sementara dengan atribut yang historical
seperti gaji karyawan, harga produk, dan alamat dapat diterapkan tipe ke-2.
9. Deciding the query priorities and the query modes
Membahas masalah perancangan fisik database yang secara langsung akan mempengaruhi
kapasitas penyimpanan data pada disk, cara pengadministrasian data, serta metode back-up
yang mungkin digunakan.
RINGKASAN DWH - AA November 9, 2015
6
Dimensionality Modeling: suatu tehnik logical design yang bertujuan untuk menunjukkan
data pada standar modeling untuk akses yang cepat.
Star Schema: sebuah struktur logis di mana tabel fakta memiliki data faktual di tengah
skemanya, dikelilingi oleh tabel-tabel dimensi dengan data referensi.
Snowflake schema: star schema yang tabel dimensinya bisa saling berhubungan.
Perbandingan Dimensionality Modeling dengan Entity Relationship:
- DM: design komponen database dari suatu DWH, dapat memuat redundansi data
- ER: digunakan untuk OLTP, digunakan untuk identifikasi relasi antara entitas/tabel, tujuan
utama: menghapus redundansi.
DATA MODELS OLAP: teknologi yang menggunakan view dari aggregate data (SUM, AVG, COUNT, ...) multi
dimensi untuk memberikan akses yang cepat untuk tujuan analisa.
Keunggulan OLAP:
- memfasilitasi analisa data multi dimensi
- lebih cepat (dalam hal respon)
- interaksi user lebih beragam
RINGKASAN DWH - AA November 9, 2015
7
Macam-macam implementasi OLAP:
- MOLAP (Multidimensional OLAP)
database tersimpan dalam struktur yang khusus memiliki hak akses yang dioptimalkan untuk
analisa multi dimensi.
(+): query response time cepat, data udah dihitung terlebih dahulu.
(-): practical limit, waktu yang dipakai untuk pre-calculation dan ruang yang terpakai untuk
menyimpan pre-calculation.
- ROLAP (Relational OLAP)
RINGKASAN DWH - AA November 9, 2015
8
database relasional standar, biasa menggunakan star atau snowflake schema.
(+) solusi yang dapat disesuaikan (scalable)
(-) performance query, SQL ribet, join sana-sini
- HOLAP (Hybrid OLAP)
versi hybrid dari ROLAP-MOLAP. Sebuah database virtual di mana level yang lebih tinggi
diimplementasikan sebagai MOLAP dan yang rendah sebagai ROLAP.
Pengaplikasian OLAP:
- Financing
- Sales
- Marketing
- Manufacturing
Fitur kunci OLAP:
- view data multi dimensi
- mendukung perhitungan kompleks
- kecerdasan waktu (awareness)
Multi dimensi yang coba diperlihatkan OLAP dapat direpresentasikan oleh CUBE.
Aturan Codd untuk OLAP tool:
- multi-dimensional concept view
- transparansi
- aksesibilitas
- kemampuan reporting konsisten
- arsitektur klien-server
- generic dimensionality
- pengendalian dynamic sparse matrix
- dukungan untuk multi-user
- operasi cross-dimensional yang tak terbatas
- manipulasi data intuitif
- reporting yang fleksibel
- level dimensi dan agregat yang tak terbatas
RINGKASAN DWH - AA November 9, 2015
9
Ekstensi OLAP buat SQL:
- ROLLUP
membuat statement SELECT mampu menhitung banyak level dari subtotal dari kumpulan
dimensi. ROLLUP muncul dalam klausa GROUP BY dalam statement SELECT.
syntax: SELECT ... GROUP BY ROLLUP(list_kolom) contoh penggunaan: menunjukkan total penjualan rumah dari cabang yang terletak di Bekasi,
Jakarta, atau Bogor untuk bulan Mei dan Juni 2015
- CUBE
membuat kumpulan subtotal untuk semua kemungkinan/kombinasi. CUBE muncul pada klausa
GROUP BY dalam statement SELECT.
syntax: SELECT ... GROUP BY CUBE(list_kolom)
contoh: menunjukkan semua kemungkinan subtotal untuk penjualan properti cabang Bogor
dan Jakarta untuk bulan April dam Mei 2015.
Operator dasar OLAP:
- Ranking function
menghitung rank/peringkat dari record dibandingkan dengan record lainnya dalam dataset
berbasiskan nilai measure.
syntax: RANK() OVER(ORDER BY list_kolom) DENSE_RANK() OVER(ORDER BY list_kolom)
THE MULTIDIMENTIONAL & RELATIONAL MOD... Relational model -> W. H. Inmon
mengelola data ke dalam tabel-tabel.
(+) efisien
(+) bagus untuk indirect access
(+) mudah diubah
(-) kurang fleksibel
Multidimensional model -> Ralph Kimball
RINGKASAN DWH - AA November 9, 2015
10
ada star join di tengah-tengah skema. Jika ada lebih dari 1 fact table, digunakan skema
snowflake.
(+) fleksibel
(+) cocok untuk cakupan kecil dari data
(+) bagus untuk direct access
(-) performa kurang optimal
Data mart: struktur data yang didekasikan untuk menyiapkan segala materi untuk kebutuhan
analisa dari sebuah grup atau seseorang. Long story short, Data Mart itu bagian kecilnya
DWH. Contoh: data mart divisi HRD dan data mart divisi keuangan.
2 tipe data mart:
- Independent: data mart dapat dibuat dari 1 buah divisi tanpa memikirkan divisi lain. Data
operasional jadi data mart.
- Dependent: data mart dibuat dari data yang ada dalam DWH. Data DWH jadi data mart.
DATA WAREHOUSE & ODS Operational Data Store (ODS): sebuah tempat penyimpanan dari data operasional yang
terintegrasi yang nantinya akan digunakan untuk analisis.
Pemrosesan ODS bisa dibagi ke dalam beberapa bagian waktu yang dipisahkan sesuai dengan
pekerjaannya. Fitur ini dikenal sebagai time-slicing, sebuah fitur yang memungkinkan ODS
dapat bekerja dengan performa yang amat baik.
RINGKASAN DWH - AA November 9, 2015
11
Kelas-kelas ODS:
- Class I
Jarak waktu dari update operasional (OLTP) hingga data sampai di ODS dalam hitungan
milidetik. Perubahan terjadi sangat cepat sehingga user tidak menyadari jika proses
sinkronisasi dalam hitungan milidetik baru saja terjadi.
- Class II
Jarak waktu dari eksekusi transaksi operasional hingga ODS selesai diupdate memakan waktu
beberapa jam. End user jelas menyadari jika ada perbedaan ataupun persamaan data antara
ODS dan OLTP.
- Class III
Jarak waktu dari koordinasi data dalam DWH dan ODS mencapai waktu semalaman hingga
sehari.
- Class IV
Jarak waktu koordinasi data dalam ODS bisa mencapai bulanan hingga setahun penuh.
Biasanya sumber datanya adalah DWH.
Integritas transaksi pada ODS:
- DWH DBMS: gak perlu integritas transaksi (DWH kan ga diupdate, transaksinya juga low
performance, gak kayak OLTP)
- DBMS: butuh integritas transaksi
GRANULARITY IN DATA WAREHOUSE Titik awal untuk menentukan level granularitas yang cocok adalah melakukan perkiraan kasar
(raw estimate) dari jumlah baris pada data yang ada serta DASD (akses langsung ke tempat
penyimpanan) yang ada dalam DWH.
Saat raw estimate dari ukuran DWH
dibuat, langkah selanjutnya adalah
membandingkan total jumlah baris
dalam DWH ke dalam suatu diagram.
RINGKASAN DWH - AA November 9, 2015
12
Setelah 5 tahun, faktor-faktor berikut akan muncul dalam DWH:
- pengelolaan volume data DWH akan lebih dipermudah
- pengeluaran untuk hardware akan berkurang
- software tool yang lebih baik akan tersedia
- end user akan lebih kompleks
Kombinasi dari data historis dan detil akan menghasilkan pertumbuhan data yang amat
besar. Saat data semakin banyak, proses pembagian (natural subdivision) akan berlangsung
diantara data aktif dan data dormant (inactive/infrequenly used data).
Beberapa alternatif untuk media penyimpanan:
- FAT storage: performa rendah
- Near-line storage: sequential tape berbasis cartridge yang dikontrol secara remote.
- Sequential tape: near-line storage yang lebih simpel
Untuk membuat data mudah diakses di dalam sistem dan menyimpan data di dalam bagian
yang tepat dalam media penyimpanan, dibutuhkan software support dari media
penyimpanan alternatif tadi (atau bisa juga pake nearline environment).
Sesaat setelah analisis dari seberapa banyak data yang akan ada dalam DWH diselesaikan,
langkah selanjutnya adalah menentukan level dari granularitas data.
Satu-satunya cara untuk menentukan level granularitas yang tepat untuk data yang tidak di-
summarize sepenuhnya adalah meletakkan data tersebut di sisi front dari end user (front-
end). Pertimbangan kedua dalam menentukan level granularitas adalah mengantisipasi
kebutuhan entitas arsitektural yang akan diberikan oleh DWH.
Teknik melakukan feedback loop harmonious:
- Buat bagian pertama dari DWH dalam bentuk yang lebih kecil, cepat, serta selalu
dengarkan pendapat para end user di akhir setiap langkah pengembangan.
- Jika tersedia, gunakan prototyping dan perbolehkan feddback loop untuk bekerja
menggunakan observasi dari prototype tadi
RINGKASAN DWH - AA November 9, 2015
13
- Lihat bagaimana orang-orang membangun level granularitas data mereka dan pelajari
pengalaman mereka
- Masuk tahap mendengarkan umpan balik user-user yang berpengalaman
- Lihat pada apa saja yang dimiliki perusahaan skarang yang sedang/masih bekerja, gunakan
requirement fungsional tersebut sebagai panduan
- Jalankan sesi JAD (Join Application Design) dan simulasikan output untuk mendengar
umpan balik yang diinginkan.
Granularitas data dapat dibuat dengan banyak cara:
- Meringkas data dari sumbernya
- Rata-ratakan atau hitung data
- Tekan nilai tertinggi/terendah
- Hanya tekan nilai data yang amat dibutuhkan
- Gunakan pengondisian logis untuk melakukan select subset
Top Related