Data Warehouse

June 9, 2009

oleh Samsu Sempena / 13507088

Post #1 (dirilis : 9 Juni 2009) — pengertian, sejarah ,arsitektur
Post #2 (dirilis : 23 Juni 2009) — ilustrasi, metode penyimpanan, metode perancangan
Post #3 (dirilis : 2 Juli 2009) — sifat data warehouse,perbandingan dengan OLTP, perbandingan dengan sistem operasional
Post #4 (dirilis : 24 Juli 2009) — komponen dan skema data warehouse
Post #5 (dirilis : 7 Agustus 2009) — Keuntungan,kelebihan,dan aplikasi data warehouse

Post  #1 (9 Juni 2009)

Dalam postingan pertama untuk tugas eksplorasi mengenai data warehouse akan dibahas mengenai data warehouse : apa itu data warehouse, sejarahnya, dan arsitektur dasarnya.

Data warehouse adalah sebuah repositori atau tempat penyimpanan data secara elektronis yang dimiliki sebuah organisasi. Data warehouse juga dirancang untuk dapat memfasilitasi pembuatan laporan dan analisis.

Sekalipun demikian, data warehouse tidak hanya berfokus pada penyimpanan data, tapi sebuah sistem data warehouse memiliki komponen-komponen esensial seperti menerima (retrieve), menganalisis (analyze) data, mengekstrak (extract), mengubah (transform), meload data, dan juga mengatur data dictionary. Sehingga definisi lebih luas dari data warehouse mencakup kakas kecerdasan bisnis (business intelligence tools), kakas untuk mengekstrak (tools to ekstrak), mengubah (transform), dan menerima data (load) ke penyimpanan (repository), serta mengelola dan menerima metadata.

Tahun Peristiwa
1960 General Mills dan Dartmouth College dalam riset bersama mengembangkan istilah dimensi dan fakta
1970 ACNielsen dan IRI menyediakan data dimensional untuk pembelian secara eceran
1983 Teradata memperkenalkan Database Management System (DBMS) yang dirancang khusus untuk dukungan pengambilan keputusan
1988 Barry Devlin dan Paul Murphy mempublikasikan artikel “An architecture for a business and information systems” di jurnal IBM System saat mereka memperkenalkan istilah “business data warehouse”
1990 Red Brick Systems memperkenalkan Red Brick Warehouse, sebuah DBMS khusus untuk data warehouse
1991 Prism Solutions memperkenalkan Prism Warehouse Manager, sebuah perangkat lunak untuk mengembangkan data warehouse
1991 Bill Inmon mempublikasikan buku “Building the Data Warehouse”
1995 Dibangunnya Institut Data Warehousing
1996 Ralph Kimball mempublikasikan buku “The Data Warehouse Toolkit”
1997 Oracle 8, dengan support untuk query bintang (star queries) dirilis

Arsitektur Data Warehouse

Arsitektur dalam konteks organisasi data warehouse adalah konsep bagaimana data warehouse dibangun. Tidak ada arsitektur yang benar maupun salah, melainkan berbagai arsitektur ada untuk mendukung berbagai situasi dan kondisi. Arsitektur yang baik akan berimbas pada pembangunan, pemeliharaan, dan penggunaan dari data warehouse.

Namun, pada umumnya arsitektur data warehouse akan memiliki lapisan-lapisan berikut :

  1. Operational database layer (lapisan basis data operasional)
    • Sumber data untuk data warehouse
  2. Data access layer (lapisan akses data)
    • Antarmuka antara lapisan operasional dan akses informasi
    • Kakas untuk mengekstrak, mengubah, dan meload data
  3. Metadata layer(lapisan metadata)
    • Direktori data
    • Umumnya lebih detail daripada direktori data sistem
    • Ada kamus untuk keseluruhan warehouse dan terkadang ada kamus untuk data yang dapat diakses oleh reporting khusus dan kakas untuk analisis
  4. Informational access layer (lapisan akses informasi)
    • Akses data dan juga kakas untuk reporting,analisis
    • Kakas intelejensia bisnis (Business Intelligence) termasuk ke lapisan ini

post #2 (23 Juni 2009)

 

Umumnya data warehouse diperlukan oleh perusahaan besar yang memiliki banyak cabang dan memiliki sejumlah besar data atau struktur perusahaan yang kompleks. Mengapa demikian?

decision maker

decision maker

Bayangkanlah sebuah perusahaan jual-beli yang memiliki banyak cabang, atau perusahaan asuransi yang memiliki data dari ribuan cabang lokal. Tentunya data-data yang dimiliki tersebar di banyak lokasi yang berbeda, sistem operasi yang berbeda, atau disimpan dengan skema yang berbeda. Sebagai contoh, data produksi dan data keluhan pelanggan disimpan di sistem database yang berbeda. Lalu akan diambil suatu keputusan untuk perusahaan tersebut oleh pembuat keputusan (decision maker). Pembuat keputusan itu tentunya membutuhkan akses ke semua sumber data yang ada. Namun dengan melakukan query ke setiap sumber individual tentunya tidak praktis dan tidak efisien. Atau sumber data mungkin hanya menyimpan data terkini, sementara pembuat keputusan perlu mengakses data-data terdahulu pada perusahaan itu. Misalnya saja informasi mengenai pola penjualan yang berubah dari tahun-tahun lalu merupakan pertimbangan penting dalam mengambil keputusan. Nah, data warehouse menyediakan solusi bagi masalah ini.

Bagaimana prinsip penyimpanan data dalam data warehouse?

Ada 2 pendekatan utama untuk menyimpan data dalam data warehouse :

1. Pendekatan dimensional

Pada pendekatan ini, data transaksi dipartisi menjadi fakta (umumnya data transaksi yang numeric) atau dimensi (referensi ke informasi dari fakta)

Sebagai contoh:

Data penjualan dapat dipisahkan menjadi fakta seperti jumlah produk yang dipesan dan harga yang dibayarkan untuk setiap produk. Dan menjadi dimensi, seperti tanggal pemesanan, nama pembeli, nomor produk, petugas yang bertanggung jawab atas pemesanan tersebut, dll.

(+) data warehouse akan lebih mudah untuk digunakan dan dimengerti oleh pengguna

(+) penerimaan data dari data warehouse dilakukan dengan sangat cepat

(-) untuk mempertahankan integritas dari fakta dan dimensi, meload data warehouse dari sistem operasi yang berbeda-beda menjadi kompleks

(-)akan sulit untuk mengubah struktur data warehouse jika organisasi tersebut perubahan dalam cara melakukan bisnisnya

2. Pendekatan normalisasi

Pada pendekatan ini, data dalam data warehouse disimpan berdasarkan aturan normalisasi data. Tabel dikelompokkan berdasarkan kategori (seperti pelanggan, produk, keuangan,dll).

(+)Mudah untuk menambahkan informasi ke database

(-)karena banyaknya table yang terlibat maka akan sulit bagi pengguna untuk menggabungkan data dari sumber yang berbeda menjadi informasi atau untuk mengakses informasi tanpa benar-benar mengerti isi dari sumber data dan struktur data dari data warehouse.

Sekalipun demikian, kedua pendekatan ini tidaklah benar-benar terpisah satu sama lain. Pendekatan dimensional juga dapat melibatkan pendekatan normalisasi sampai pada tingkat tertentu.

 

Metode perancangan data warehouse

1. Perancangan bottom-up

Ralph Kimball,seorang pakar dalam data warehousing adalah pendukung dari pendekatan perancangan data warehouse yang disebut bottom-up. Disebut bottom-up karena pertama-tama data pada cabang/pasar dibuat lebih dulu untuk menyediakan kapabilitas laporan dan analisis untuk proses bisnis tertentu. Data cabang ini dapat dikombinasikan untuk membuat sebuah data warehouse.

(+) nilai bisnis dapat dikembalikan secepat data cabang pertama dibuat. (kecepatan)

(-) sulit untuk memastikan kekonsistenan dimensi dari kesemua data cabang.

 

2. Perancangan top-down

Bill Inmon seorang penulis pertama mengenai data warehouse mendefinisikan data warehouse sebagai repository pusat untuk keseluruhan enterprise/perusahaan. Inmon merupakan pendukung dari pendekatan perancangan data warehouse yang disebut top-down, dimana data warehouse dirancang menggunakan data model enterprise yang telah dinormalisasi.

(+) Metode perancangan top-down menghasilkan dimensional view yang konsisten dari semua data yang berasal dari data cabang karena semua data cabang diload dari repository terpusat.

(+)Perancangan top-down telah membuktikan dirinya sanggup menghadapi perubahan pada bisnis, membuat data dimensional cabang yang baru menjadi tugas yang mudah.

(-) merepresentasikan projek yang sangat besar dengan cakupan yang luas, sehingga membutuhkan biaya yang besar untuk mengimplementasikan data warehouse dengan metode top-down.

(-) durasi waktu dari dimulainya projek sampai pengguna dapat merasakan manfaat warehouse cukup terasa

(-) metode top-down dapat menjadi tidak fleksible terhadap perubahan kebutuhan di tahap implementasi

3. Perancangan hibrid

Seiring berjalannya waktu ternyata metode bottom-up dan top-down pada perancangan data warehouse memiliki keuntungan dan kerugian / resiko. Maka metode hybrid mencoba untuk mengambil keunggulan kecepatan dari metode bottom-up dan kekonsistenan data enterprise dari metode top-down.

 

data warehouse architecture

data warehouse architecture

post #3 (2 Juli 2009)

Sifat-sifat dari data warehouse

— Berorientasi pada suatu persoalan (subject oriented)

Data warehouse dirancang untuk membantu kita dalam menganalisis data. Misalnya, kita ingin mempelajari mengenai data penjualan suatu perusahaan. Untuk melakukan ini, kita dapat membangun data warehouse yang terkonsentrasi pada penjualan. Dengan data warehouse ini, kita dapat menjawab pertanyaan seperti : “siapakah pembeli terbaik dari perusahaan ini tahun lalu?”

— Terintegrasi (integrated)

Data warehouse membutuhkan data dari beberapa sumber terpisah untuk disimpan ke suatu format khusus. Hal ini berarti konflik pemberian nama atau masalah dalam penggunaan unit pengukuran yang berbeda seperti “inch” dan “cm” harus diselesaikan.

— Bersifat tetap (non volatile)

Hal ini berarti data tidak akan pernah berubah atau diubah sekali masuk ke data warehouse. Hal ini jelas mengingat tujuan dari data warehouse adalah untuk menganalisis apa yang terjadi.

— Bervariasi terhadap waktu (time variant)

Kebanyakan analisis bisnis membutuhkan tren analisis. Karenanya analis membutuhkan data yang besar jumlahnya dengan melihat perubahan tren yang terjadi terhadap waktu. Hal ini menjadi kontras dibandingkan dengan sistem OLTP (Online Transaction Processing Systems).

Data warehouse dibandingkan dengan OLTP System

 

dw vs oltp

 

 

  Data Warehouse Online Transaction Processing Systems
Workload Didesain untuk menangani query dalam jumlah besar Hanya mendukung operasi tertentu yang telah ditentukan
sebelumnya
Data modification Data warehouse diperbaharui dalam jadwal  tertentu melalui proses ETL menggunakan teknik modifikasi data bulk (dalam jumlah besar).  Pengguna tidak mengupdate data warehouse secara langsung kecuali  menggunakan peralatan seperti data mining. User melakukan proses update data secara langsung dan database selalu dalam kondisi terupdate (paling
baru)
Schema design Umumnya tidak dinormalisasi atau sebagian ternormalisasi (seperti
star schema) untuk mengoptimasi query dan performansi analitis
Menggunakan skema yang telah inormalisasi untuk mengoptimasi proses insert/update/delete dan juga memastikan integritas
data
Typical Operation Menjalankan query yang memproses banyak record sekaligus,
contohnya : total penjualan semua customer pada akhir
bulan
Tidak semua record, misalnya mencari data order untuk pelanggan tertentu
Historical data Menyimpan data selama jangka bulan bahkan tahun. Hal ini
bertujuan untuk mendukung analisis historical dan juga
laporan
Hanya menyimpan data minggu-minggu atau bulan terakhir. Hanya menyimpan data yang dibutuhkan untuk transaksi saat
ini.

 

 

Sistem operasional dibandingkan dengan data warehouse

Sistem operasional optimal dalam menjamin integritas data dan kecepatan untuk menyimpan transaksi bisnis yang terjadi melalui normalisasi database dan model entity-relationship. Pada umumnya, perancang sistem operasinal mengikuti aturan normalisasi Codd. Database relational efisien untuk mengelola relasi antara tabel dan database akan memiliki performansi tinggi untuk proses insert maupun update karena hanya sejumlah kecil data dalam tabel yang dipengaruhi.

Sementara data warehouse optimal dalam kecepatan untuk menerima data. Secara berkesinambungan, data dalam data warehouse didenormalisasi dengan model berbasis dimensional. Selain itu, untuk mempercepat penerimaan data, data warehouse juga sering disimpan berkali-kali di bentuk lengkapnya dan juga di bentuk ringkasnya yang disebut aggregasi. Data dari data warehouse dikumpulkan dari sistem operasional dan tetap disimpan di data warehouse sekalipun data tersebut telah dibuang dari sistem operasional

Evolusi dalam perusahaan yang menggunakan data warehouse

Pada umumnya organisasi atau katakanlah suatu perusahaan memulai dengan data warehouse yang relatif simple. Seiring berlalunya waktu, kebutuhan akan data warehouse yang lebih canggi semakin meningkat. Pada umumnya tingkat-tingkat kebutuhan akan data warehouse dapat dibedakan sebagai berikut :

— Database operasional offline

Pada tahap ni secara sederhana data warehouse dibangun dengan menduplikasi data dari sistem operasional ke server lain sehingga saat dibutuhkannya proses terhadap data-data tersebut misalnya saja pembuatan laporan tidak akan mengimbas pada performansi sistem operasional.

— Data warehouse offline

Pada tahap ini data warehouse diperbaharui dari data di sistem operasional ke suatu bentuk umum dan data dari data warehouse disimpan dengan struktur data yang dirancang untuk memfasilitasi proses pembuatan laporan.

— Data warehouse realtime

Pada tahap ini, data warehouse diperbaharui setiap sistem operasional melalukan transaksi bisnis

— Data warehouse terintegrasi

Sama seperti pada data warehouse realtime, namun setiap kali terjadi proses update ke data warehouse, maka data warehouse akan menghasilkan sebuah transaksi yang dikembalikan ke sistem operasional.

Post  #4 (24 Juli 2009)

Komponen dari sebuah data warehouse

Kapan dan bagaimana mendapatkan data

Dalam source-driven architecture, maka sumber data mengirimkan informasi baru, baik secara kontinu maupun periodik (misalnya setiap malam)

Dalam destination-driven architecture, maka data warehouse secara periodik mengirimkan permintaan akan data yang baru ke sumber data

Skema yang digunakan

Sumber data yang dibuat masing-masing kemungkinan memiliki skema yang berbeda. Bahkan, mereka mungkin juga menggunakan data model yang berberda. Tugas dari data warehouse adalah untuk melakukan pengintegrasian skema dan mengubah data yang diterima menjadi skema terintegrasi sebelum disimpan. Sebagai hasilnya, data yang disimpan di data warehouse tidak hanya sekedar salinan dari sumber data. Melainkan telah diintegrasikan dengan data-data dari sumber lain.

Pembersihan data (data cleansing)

Tugas untuk memperbaiki dan mempersiapkan data disebut data cleansing. Sumber data sering mengirimkan data dengan banyak ketidakkonsistenan minor yang dapat diperbaiki. Misalnya, nama sering kali salah eja dan alamat berupa jalan/area/kota juga salah eja, atau kode pos salah. Hal ini dapat diperbaiki dengan merelasikannya dengan basis data dari nama jalan dan kode pos dari setiap kota. Daftar alamat yang digabungkan dari beberapa sumber mungkin terduplikasi sehingga perlu dieliminasi dengan operasi merge-purge (operasi natural-join).

Bagaimana menyebarkan update?

Update dalam sebuah relasi dari sumber data harus disebarkan juga ke data warehouse. Jika relasi pada data warehouse benar-benar serupa dengan yang di sumber data maka penyebarannya mudah. Namun jika tidak, maka permasalahan untuk memastikan update ini disebut masalah view-maintenance.

Data apa yang dapat digabungkan(aggregasi)

Data mentah yang dihasilkan dari proses transaksi  mungkin terlalu besar untuk disimpan secara online. Namun kita dapat menjawab banyak query dengan mengelola hanya ringkasa data yang didapatkan dengan melakukan agregasi pada suatu relasi daripada mengelola seluruh relasi Sebagai contoh : daripada menyimpan data penjualan pakaian setiap hari, kita dapat menyimpan total penjualan suatu pakaian berdasarkan nama dan kategori.

 

Skema

Data warehouse memiliki skema yang dirancang untuk analisis data dan pada umumnya menggunakan  perangkat OLAP(Online Analitical Processing). Data umumnya berupa data multidimensi (terdiri dari atribut dimensi dan pengukur) dan tabel yang menyimpan data ini disebut tabel fakta (fact table) dan biasanya sangat besar. Tabel yang menyimpan data penjualan suatu perusahaan ritel, dengan satu tuple untuk setiap barang yang terjual merupakan contoh dari tabel fakta. Atribut dimensi dari tabel penjualan akan mencakup barang apa itu (misalnya dengan barcode), tanggal dijualnya, lokasi toko dijualnya, pelanggan mana yang membelinya, dst. Atribut pengukur misalnya jumlah dan harga barang. Untuk meminimalkan kebutuhan penyimpanan, atribut dimensi seringkali disingkat dengan foreign key ke tabel lain yang disebut tabel dimensi (dimension tables).

Sebagai contoh,sebuah tabel fakta penjualan akan memiliki atribut item-id, store-id, customer-id, dan tanggal, serta atribut pengukur jumlah dan harga. Atribut store-id adalah foreign key ke sebuah tabel dimensi store yang memiliki atribut lain seperti lokasi toko (kota, wilayah, negara). Atribut item-id juga merupakan foreign key ke tabel dimensi item-info yang memiliki atribut seperti warna dan ukuran. Untuk lebih jelasnya dapat diamati dari bagan berikut :

star schema

 Post #5
7 Agustus 2009

Keuntungan menggunakan data warehouse

  1. Data warehouse menyediakan model data yang umum untuk semua data tidak tergantung sumber datanya. Hal ini mempermudah pembuatan laporan dan analisis informasi dibandingkan jika diperlukan banyak model data untuk menerima informasi seperti faktur penjualan, kuitansi pemesanan, tagihan-tagihan lainnya.
  2. Saat meload data ke dalam datawarehouse, ketidakkonsistenan akan teridentifikasi dan diperbaiki. Hal ini akan mendukung juga dalam proses pembuatan laporan dan analisis.
  3. Informasi yang disimpan dalam data warehouse dibawah kontrol dari pengguna data warehouse, sehingga sekalipun sumber data dibersihkan pada suatu waktu, informasi itu akan tetap tersimpan dengan aman di data warehouse.
  4. Karena data warehouse terpisah dari sistem operasional, maka data warehouse dapat menerima data tanpa memperlambat kerja kerja sistem operasional
  5.  Data warehouse menyediakan fasilitas yang mendukung pengambilan keputusan seperti laporan berdasarkan tren (misalnya : barang yang paling banyak terjual di suatu area dalam 2 tahun terakhir), laporan perkecualian, dan laporan yang menampilkan pencapaian di lapangan yang sesungguhnya dibandingan dengan gol yang telah ditetapkan.

Kerugian menggunakan data warehouse

  1. Data warehouse bukan merupakan lingkungan yang optimal untuk data yang tidak terstruktur
  2. Data perlu untuk diekstrak, diubah, dan diload ke data warehouse, sehinggan terdapat delay (tenggat waktu) di mana data yang dimasukkan ke dalam data warehouse belum terdeteksi.
  3. Semakin lama masa hidupnya, maka data warehouse dapat menyebabkan biaya yang besar. Data warehouse umumnya tidak statis. Biaya perawatannya cukup tinggi.
  4. Data warehouse dapat menjadi ketinggalan dari data terbaru relatif cepat. Maka, akan ada resiko bahwa data yang akan dianalisis di data warehouse merupakan data yang tidak optimal.

Contoh aplikasi dari Data Warehouse

  • Analisis kartu kredit
  • Analisis kecurangan asuransi
  • Analisis panggilan telepon
  • Managemen logistik

Akhirnya, kelima post untuk eksplorasi mengenai data warehouse telah dirilis. Semoga dapat bermanfaat. Secara singkat ,dapat disimpulkan bahwa data warehouse akan dibutuhkan oleh perusahaan-perusahaan besar dengan banyak cabang yang membutuhkan kemampuan pembuatan laporan dan analisis data. Maka daripada itu dibutuhkan gudang data yang tidak hanya sekedar menyimpan data namun juga memiliki kemampuan untuk mengolah, menganalisis, bahkan memperbaiki ketidakkonsistenan data yang terjadi. Data warehouse sendiri sendiri memiliki kelebihan dan kerugian, maka perlu dipertimbangkan dengan baik apakah memang dibutuhkan untuk menggunakan data warehouse atau tidak. 

Daftar Referensi :
http://en.wikipedia.org/wiki/data_warehouse, diakses tanggal 8 Juni 2009
http://download.oracle.com/docs/cd/B28359_01/server.111/b28313/concept.htm diakses tanggal 1 Juli 2009
http://www.cs.bris.ac.uk/maintain/OracleDocs/server.816/a76994/concept.htm diakses tanggal 1 Juli 2009
http://www.datawarehouse4u.info/Data warehouse.htm, diakses tanggal 8 Juni 2009
Silberschatz, Database System Concepts, Fourth Edition

5 Responses to “Data Warehouse”

  1. Agung said

    terimakasih buat postingnya.
    sangat membantu saya untuk pengerjaan tugas🙂

    Salam Agung

  2. amin said

    makasih postingannya!
    sangat membantu saya juga..😀

  3. gung ariana said

    Terimakasih banyak.. sangat membantu.. selamat tahun baru..😀

  4. Samsu Sempena said

    @agung, amin,gung ariana : sama-sama. jika ada koreksi langsung saja disampaikan. thx🙂

  5. rasix said

    ada case study?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: