Ringkasan DWH UTS

download Ringkasan DWH UTS

of 13

description

DWH

Transcript of Ringkasan DWH UTS

  • 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