Data Warehouse

advertisement
2.1 Datawarehouse
Datawarehouse adalah database yang didesain khusus untuk mengerjakan
proses query, membuat laporan dan analisa [5]. Data yang disimpan adalah data
business history dari sebuah organisasi /perusahaan, dimana data tersebut tidak
tersimpan secara rinci/detil. Sehingga data dapat bertahan lebih lama berbeda
dengan data OLTP (Online Transactional Processing) yang tersimpan sampai
prosesnya berlangsung secara lengkap.
Sumber data pada datawarehouse berasal dari berbagai macam format,
software, platform dan jaringan yang beda. Data tersebut adalah hasil dari proses
transaksi perusahan / organisasi sehari.hari. Karena berasal dari sumber yang
berbeda beda tadi, maka data pada datawarehouse harus tersimpan dalam sebuah
format yang baku.
Datawarehouse juga merupakan salah satu sistem pendukung keputusan,
yaitu dengan menyimpan data dari berbagai sumber, mengorganisasikannya dan
dianalisa oleh para pengambil kebijakan. Akan tetapi datawarehouse tidak dapat
memberikan keputusan secara langsung. Namun ia dapat memberikan informasi
yang dapat membuat user menjadi lebih paham dalam membuat kebijakan
strategis.
Adapun karakteristik umum yang dimiliki datawarehouse adalah :

Data terintegrasi dari berbagai sumber yang berasal dari proses
transaksional (OLTP)
7

Data dibuat konsisten

Merupakan aggregate data/kesimpulan data, bukan data yang terperinci

Data bertahan lebih lama

Data tersimpan dalam format yang tepat sehinngga proses query dan
analisa dapat dilakukan dengan cepat

Data bersifat read only
2.1.1 Data Mart
Kadang kala kita sulit untuk membedakan antara datawarehouse dan data
mart karena keduanya hampir sama. Namun, jika dikaji lebih jauh ada beberapa
perbedaan yang dimiliki keduanya. Datawarehouse merupakan gabungan dari
beberapa data mart dan levelnya berada pada perusahaan atau organisasi.
Sedangkan data mart merupakan bagian dari datawarehouse dan berada level
departemen pada perusahaan atau organisasi tersebut. Data mart menangani
sebuah business proses, misalkan penjualan, maka hanya proses penjualan saja
yang ditangani pada data mart.
2.1.2. ETL (Extraction, Transformation, Loading)
Tiga fungsi utama yang perlu dilakukan untuk membuat data siap
digunakan pada datawarehouse adalah extraction, transformation dan loading.
Ketiga fungsi ini terdapat pada staging area. Pada data staging ini, disediakan
tempat dan area dengan beberapa fungsi seperti data cleansing, change, convert,
dan menyiapkan data untuk disimpan serta digunakan oleh datawarehouse.
8
2.1.2.1 Extraction
Data Extraction adalah proses pengambilan data yang diperlukan dari
sumber datawarehouse dan selanjutnya dimasukkan pada staging area untuk
diproses pada tahap berikutnya [2]. Pada fungsi ini, kita akan banyak berhubungan
dengan berbagai tipe sumberdata. Format data, mesin yang berbeda, software dan
arsitektur yang tidak sama. Sehingga sebelum proses ini kita lakukan, sebaiknya
perlu kita definisikan requirement terhadap sumber data yang akan kita butuhkan
untuk lebih memudahkan pada extraction data ini.
2.1.2.2 Transformation
Pada kenyataannya, pada proses transaksional data disimpan dalam
berbagai format sehingga jarang kita temui data yang konsisten antara aplikasiaplikasi yang ada. Transformasi data ditujukan untuk mengatasi masalah ini.
Dengan proses transformasi data ini, kita melakukan standarisasi terhadap data
pada satu format yang konsisten. Beberapa contoh ketidakkonsistenan data
tersenut dapat diakibatkan oleh tipe data yang berbeda, data length dan lain
sebagainya. Untuk lebih jelasnya dapat dilihat pada tabel 2.1 yang menunjukkan
permasalahan dasar pada proses pengintegrasian data.
Format
Description
Sales
Key
Text
Nama pelanggan
U.N.I.J.O.Y.O
Inventori
Key
Integer
Nama
pelanggan
UNIJOYO
9
Transaksi Penjualan
Key
Yes/No
Namapelanggan
Universitas Trunojoyo
Unit
Encoding
Tinggi
centimeter
Sex
Yes = Laki-laki
No = Perempuan
Tinggi
meter
Sex
L = laki-laki
P = Perempuan
Tinggi
inch
Sex
1 = Laki-laki
0 = Perempuan
Tabel 2.1 Isu tentang transformasi data
Keterangan :

Format, Pada transaksional data dapat disimpan dalam berbagai format.
Elemen data tersebut dapat tersimpan dalam format text, integer dan
sebagainya. Untuk itu standarisasi perlu dilakukan dengan melihat
kegunaan pokok dari elemen data pada proses transaksinal dan
datawarehouse.

Description, Pada tabel terlihat representasi ketiga nama pelanggan adalah
sama. Namun dengan penulisan yang beda terlihat adanya perbedaan
format pada data. Oleh karena itu perlu diambil salah satu dari deskripsi
tersebut untuk konsistensi data.

Unit, Adanya perbedaan satuan ukuran dapat menimbulkan permasalahan
yang komplek. Jika user tidak mengetahui adanya perbedaan ini dan
menganggap sama, maka akan terjadi kesalahan ketika kita melakukan
penghitungan matematis.

Encoding, huruf atau nomor dapat dijadikan label sebagi identifikasi suatu
objek. Seperti pada tabel diatas, kesalahan dapat terjadi karenanya.
2.1.2.3 Loading
Data loading adalah memindahkan data ke datawarehouse. Ada dua
loading data yang kita lakukan pada datawarehouse. Pertama adalah inisial load,
10
proses ini dilakukan pada saat kita telah selesai mendesign dan membangun
datawarhouse. Data yang kita masukkan tentunya akan sangat besar dan memakan
waktu yang relati lebih lama. Kedua Incremental load, dilakukan ketka
datawarehouse telah dioperasikan. Kita melakukan data extraction, transformation
dan loading terhadap data tersebut.
Untuk inisial load dilakukan sekali saja, namun untuk incremental load
dapat kita jadwalkan sesuai dengan kebutuhan, bisa setiap hari, bulan, kuartal atau
tahun sesuai dengan kebutuhan sistem kita.
2.1.3 Data Cleansing
Seperti dijelaskan diatas, pada data staging terdapat fungsi data cleansing.
Adapun tujuan dari data cleansing ini adalah untuk menghilangkan kesalahkesalahan pada data yang diakibatkan oleh proses transaksional. Mengingat
bahwa datawarehouse dijadikan sebagai sistem pendukung keputusan, maka jika
data cleansing ini salah maka hal yang terburuk yang terjadi adalah pemberian
informasi yang salah kepada pengambil kebijakan. Jika informasi yang salah ini
dipercayai maka keputusan yang diambil akan jatuh dan bisa mengakibatkan
kerugian yang besar.
Untuk lebih jelasnya mengenai datawarehouse dan komponennya dapat
dilihat pada gambar 2.1 di bawah ini.
11
Gambar 2.1 Datawarehouse dan komponennya
2.2 Data Multidimesi
Selama ini kita mengenal adanya tabel relasional. Jika kita perhatikan tabel
relasional tersebut, maka dapat kita ketahui karakteristiknya. Secara jelas dapat
kita lihat bahwa tabel relasional dibangun oleh baris dan kolom. Hal ini
menunjukkan adanya dua sudut pandang, baris sebagai sumbu x dan kolom sebagi
sumbu y. tapi sebenarnya tabel relasional tersebut hanya mempunyai satu dimensi.
Pada gambar terlihat karekteristik dari tabel mahasiswa, dimana setiap record atau
baris merepresentasikan data mahasiswa yang berbeda-beda. Satu baris dengan
baris lainnya diidentifikasikan dengan sebuah key yaitu primary key. Sedangkan
bagian kolom seperti, nama, alamat, telepon menyimpan fakta yang sama atau
sejenis, dimana setiap fakta tersebut merujuk pada primary key yaitu NRP. Hal
inilah yang menunjukkan bahwa tabel relasional hanya mempunyai satu dimensi.
12
Satu dimensi
Primary key
KodeBuku
001
002
003
004
Judul
Jenis
----
Penerbit
KodeBuku
Judul
Jenis
-----Penerbit
Gambar 2.2 Tabel relasional
Sedangkan yang dimaksud dengan data multidimensi adalah ketika kita
dapat melihat sebuah data dari berbagai sudut pandang atau dimensi. Sebagai
contoh, penjualan buku dapat dilihat dari segi lokasi Buku, waktu, lokasi
penjualan / toko dan sebagainya. Jika digambarkan , maka akan terdapat tiga
koordinat yaitu sumbu x mewakili buku, sumbu y mewakili dimensi waktu dan
sumbu z untuk dimensi lokasi. Hal inilah yang menjadi perbedaan mendasar
antara tabel relasional dan data multidimensi.
Spreadshet merupakan salah satu contoh dari data multidimensi ini. Fungsi
yang ia sediakan seperti perhitungan sederhana dan dapat juga diubah pada
dimensi tunggal.
Kamal
Bangkalan
Buku A
Buku B
Buku C
Peb 01
Peb 02
---Peb 04
Jan 01
Jan 02
---Jan 04
----------
Buku
Waktu
Lokasi
IDBuku
IDToko
IDPengarang
-----Nilai
Gambar 2.3 Tabel data multidimensi
13
3 dimensi
Cube merupakan contoh data multidimensi selain spreadsheet. Dengan
cube data menjadi lebih mudah untuk dimanipulasi. Setiap sumbu cube mewakili
dimensi-dimensi. Terdapat measure yaitu nilai quantitative database yang ingin
kita analisa. Biasanya measure berupa nilai penjualan, biaya, budget dan
sejenisnya. Measure dihitung berdasarkan dimensi-dimensi dari cube. Misalkan
kita ingin meganalisa penjualan buku, total penjualan (sebagai measure) untuk
suatu jenis buku tertentu (dimensi) pada lokasi / toko buku yang berbeda-beda
(lokasi dapat dipilih sesuai dengan kebutuhan seperti negara, propinsi dll) pada
suatu periode waktu tertentu (hari, minggu, bulan,tahun, kuartal).
2004
2003
2002
2001
Bangkalan
Kamal
Buku A
Buku B
Buku C
Nilai penjualan
( Buku A, Lokasi Kamal, 2004 )
Gambar 2.4 Cube
2.3 Online Analitycal Processing (OLAP)
OLAP (Online Analitycal Processing) adalah teknologi yang memproses
data di dalam database dalam struktur multidimensi, menyediakan jawaban yang
cepat untuk query dan analisis yang kompleks [4]. Data yang disajikan biasanya
14
merupakan suatu fungsi agregasi seperti summary, max, min, average dan lainlain.
Adapun karakteristik dari OLAP , yaitu :

Mengijinkan user melihat data dari sudut pandang logical dan
multidimensional pada datawarehouse.

Memfasilitasi query yang komplek dan analisa bagi user

Mengijinkan user melakukan Drill down untuk menampilkan data pada
level yang lebih detil atau roll up untuk agregasi dari satu dimensi atau
beberapa dimensi

Menyediakan proses kalkulasi dan perbandingan data

Menampilkan hasil dalam bentuk number termasuk dalam tabel dan garfik
2.3.1. Multidimensional Cube
Multidimensional cube mendukung beberapa feature seperti :
2.3.1.1 Rotation/Pivoting
Dengan kemampuan OLAP rotation/pivoting, kita dapat melihat data dari
berbagai sudut pandang (view point). kita dapat memutar-mutar sumbu pada cube
sehingga kita memperoleh data yang kita inginkan sesuai dengan sudut pandang
analisa yang kita perlukan.
2.3.1.2 Slicing dan dicing
Pemilahan data dapat kita lakukan dengan proses slicing dan dicing.
Slicing merupakan pemotongan sisi dari cube, artinya data yang kita potong
15
berdasarkan kategori tertentu. Sedangkan dicing merupakan penyaringan subset
data dari proses slicing.
2.3.1.3 Drill down dan consolidation
Agregasi data bisa kita lakukan dengan drill down dan consolidation.
Penampilan data yang lebih detil dapat dilakukan dengan drill down dan
sebaliknya untuk menyatukan data ke dalam hieraki yang lebih tinggi dapat
dilakukan dengan consolidation.
2.3.2 Dimentional Modelling
Terdapat dua pendekatan pada pemodelan data multidimensi, star schema
dan snowflakes schema.
2.3.2.1 Star Schema
Karakteristik dari model ini adalah :

Pusat dari star disebut fact table

Fact table mempunyai sebuah nilai aggregate dari data-data yang berasal
dari tabel dimensi

Setiap tabel dimensi berelasi langsung dengan fact table

Tabel dimensi beisikan data tentang informasi atau waktu

Relasi antara fact table dengan dimensi-dimensinya adalah 1 – N (one to
many)
16

Primary key pada tabel dimensi akan menjadi key pada fact table atau
dapat diakatakan bahwa fact table memiliki kombinasi key dari tabel
dimensi tersebut
Dimensi Waktu
Dimensi Buku
IDWaktu
Bulan
Tahun
Kuartal
IDBuku
JenisBuku
Judul
………..
Fact Penjualan
IDBuku
IDToko
IDWaktu
IDPengarang
JumlahPenjualan
Nilai
Dimensi Toko
Dimensi Pengarang
IDToko
NamaToko
AlamatToko
………….
IDPengarang
NamaPengarang
AlamatPengarang
……………….
Gambar 2.5 Star schema
Adapun kelebihan model star adalah lebih simple dan mudah dipahami.
Hasil dari proses query juga relatif lebih cepat.. Akan tetapi model ini lebih boros
dalam space.
2.3.2.2 Snowflake schema
Model snowflake merupakan perluasan dari star dimana ia juga
mempunyai satu atau lebih dimensi. Hanya saja pada snowflake, tabel yang
berelasi pada fact table hanya tabel dimensi utama, sedangkan tabel yang lain
dihubungkan pada tabel dimensi utama. Model snowflake ini hampir sama seperti
teknik normalisasi
17
Dimensi Buku
Dimensi Waktu
IDWaktu
Bulan
Tahun
Kuartal
IDPengarang
NamaPengarang
AlamatPengarang
……………….
Fact Penjualan
IDBuku
IDToko
IDWaktu
IDPengarang
JumlahPenjualan
Nilai
IDBuku
IDJenisBuku
Judul
………..
Dimensi Jenis Buku
IDJenisBuku
JenisBuku
………..
Dimensi Toko
IDToko
NamaToko
AlamatToko
………….
Dimensi Pengarang
Gambar 2.6 Snowflake schema
Adapun keuntungan menggunakan model snowflake adalah :

Pemakain space yang lebih sedikit

Update dan maintenance yang lebih mudah
Sedangkan kerugian menggunakan model ini yaitu :

Model lebih komplek dan rumit

Proses query lebih lambat

Performance yang kurang bagus
2.3.3 Pemodelan Penyimpanan Data
Terdapat 3 model penyimpanan data dalam cube yang difasilitasi oleh
Microsoft SQL Server 7.0.Ketiga model penyimpanan data tersbut adalah :

MOLAP

ROLAP

HOLAP
18
2.3.3.1 MOLAP
Multidimensional online analitycal processing (MOLAP) menyimpan data
dan aggregasi pada struktur data multidimensi. Struktur MOLAP ini tidak
tersimpan pada datawarehouse tapi tersimpan pada OLAP server. Sehingga
performa query yang dihasilkan olehnya sangat bagus. Model penyimpanan ini
sesuai untuk database dengan ukuran kecil sampai sedang.
Gambar 2.7 MOLAP
2.3.3.2 ROLAP
ROLAP (Relational online analitycal processing ) menggunakan tabel
pada database relasional datawarehouse untuk menyimpan detil data dan
aggregasi kubus. Berbeda dengan MOLAP, ROLAP tidak menyimpan salinan
database, ia mengakses langsung pada tabel fact ketika membutuhkan jawaban
sebuah query. Sehingga query pada ROLAP mempunyai response time yang lebih
lambat dibandingkan ROLAP maupun HOLAP. Karakteristik model ini
digunakan untuk menyimpan data yang besar dan jarang dilakukannya proses
query. Misalkan, data histori dalam jumlah besar dari beberapa tahun yang
sebelumnya.
19
Gambar 2.8 ROLAP
2.3.3.3 HOLAP
Gabungan model MOLAP dan ROLAP dapat kita peoleh dari HOLAP
(Hibrid online analitycal processing) Detil data tersmpan pada tabel relasional
tapi aggregasi data disimpan dalam format multidimensi. Misalkan proses drill
down dilakukan pada sebuah tabel fakta, maka retrive data akan dilakukan dari
tabel database relasional sehingga query tidak secepat MOLAP. Kubus HOLAP
lebih kecil daripada kubus MOLAP tapi response time query masih lebih cepat
jika dibandingkan dengan ROLAP. Model penyimpanan HOLAP ini biasanya
sesuai untuk kubus yang membutuhkan performa query yang bagus dengan
jumlah data yang besar.
Gambar 2.9 HOLAP
20
Download