DATA WAREHOUSING
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 :
· Operational database layer (lapisan basis data operasional)
· Sumber data untuk data warehouse
· Data access layer (lapisan akses data)
· Antarmuka antara lapisan operasional dan akses informasi
· Kakas untuk mengekstrak, mengubah, dan meload data
· 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
Informational access layer (lapisan akses informasi)
Akses data dan juga kakas untuk reporting,analisis
Kakas intelejensia bisnis (Business Intelligence) termasuk ke lapisan ini
Umumnya data warehouse diperlukan oleh perusahaan besar yang memiliki banyak cabang dan memiliki sejumlah besar data atau struktur perusahaan yang kompleks. Mengapa demikian?
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.
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
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.
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 :
Keuntungan menggunakan data warehouse
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.
Saat meload data ke dalam datawarehouse, ketidakkonsistenan akan teridentifikasi dan diperbaiki. Hal ini akan mendukung juga dalam proses pembuatan laporan dan analisis.
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.
Karena data warehouse terpisah dari sistem operasional, maka data warehouse dapat menerima data tanpa memperlambat kerja kerja sistem operasional
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
Data warehouse bukan merupakan lingkungan yang optimal untuk data yang tidak terstrukturData 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.Semakin lama masa hidupnya, maka data warehouse dapat menyebabkan biaya yang besar. Data warehouse umumnya tidak statis. Biaya perawatannya cukup tinggi.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.
Pengenalan Data Warehouse
Data warehouse merupakan sebuah basis data yang menyimpan informasi dari basis data lain dengan menggunakan format umum. Data warehouse tidak memiliki definisi yang pasti. Aturan - aturan pembangunan suatu data warehouse juga belum terdefinisikan dengan pasti. Akibat dari hal ini adalah terdapat beberapa cara untuk membuat data warehouse - data warehouse dan suatu data warehouse mungkin terlihat dan bertingkah laku sangat berbeda dibandingkan dengan data warehouse yang lain.
Pada umumnya, query - query terhadap sebuah data warehouse di-resolve dalam waktu yang sangat singkat. Hal ini dikarenakan data warehouse telah mengerjakan hal - hal penting, yaitu extracting, converting, dan combining data. Sisi pengguna dari sebuah data warehouse disebut dengan front end. Jadi, dari sudut pandang front end data warehousing merupakan cara efisien untuk mendapatkan data yang terintegrasi.
Dari perspektif back end, cerita mengenai data warehousing adalah jauh berbeda. Penanggung jawab basis data harus benar - benar berpikir untuk membuat sistem data warehouse menjadi efektif dan efisien. Pengubahan data yang diperoleh dari berbagai sumber menjadi format umum dapat berupa proses yang rumit dan suit. Sistem membutuhkan pendekatan konsisten untuk mendeskripsikan dan meng-encoding data.
Suatu warehouse harus memiliki basis data yang cukup besar untuk menyimpan data yang diperoleh dari berbagai sumber. Beberapa data warehouse terdiri atas langkah tambahan yang disebut dengan data mart. Data warehouse memiliki kewajiban mengagregasikan data, sedangkan data mart bertanggung jawab untuk merespon query - query dari pengguna dengan mengambil dan mengkombinasikan data yang tepat dari warehouse.
Suatu masalah yang timbul dalam data warehouse adalah bahwa informasi di dalam data warehouse tidaklah selalu merupakan informasi yang terbaru. Hal ini disebabkan oleh cara kerja data warehouse itu sendiri. Data warehouse mengambil informasi dari basis data lain secara periodik. Jika data di dalam basis data - basis data tersebut berubah selama data wareohuse melakukan ekstraksi, query terhadap data warehouse yang bersangkutan tidak akan menghasilkan data yang terbaru dan terakurat. Jika data dalam sebuah sistem jarang berubah, permasalahan yang sebelumnya telah dipaparkan tersebut tidak akan menjadi masalah besar.
Analogi yang cocok untuk menunjukkan kelemahan data warehousing adalah analogi lalu lintas dan peta. Peta suatu daerah tidaklah memerlukan update yang sering, tetapi kondisi lalu lintas dapat berubah drastis dalam waktu yang relatif singkat. Sebuah data warehouse mungkin tidak mengekstraksi data secara sering. Hal in berarti informasi - informasi yang sensitif terhadap waktu mungkin menjadi tidak reliable. Untuk permasalahan seperti ini, sebaiknya digunakan pendekatan integrasi data yang lain.