LONTAR KOMPUTERVOL. 4, NO. 1, APRIL 2013 ISSN: 2088-1541 215 Penerapan Hybrid Slowly Change Dimension UntukNearly Realtime Datawarehouse Ni WayanWisswani PoliteknikNegeriBali, Bali e-mail: wisswani@yahoo.com Abstrak Datawarehouse yang bersifat nearly realtime membutuhkan pemodelan dimensi dan fakta secara realtime. Pemodelan dimensi sangat penting untuk dilakukan karena dimensi akan menjadi sumber bagi fakta. Teknik pemodelan dimensi yang akan diterapkan pada makalah ini adalah hybrid slowly change dimension. Teknik ini akan menciptakan beberapa field baru untuk menampung perubahan yang mungkin saja terjadi pada database sumber saat manipulasi terjadi sehingga fakta tidak kehilangan informasi. Dalam usaha untuk mengimplementasikan dimensi yang bersifat nearly realtime maka hybrid slowly change dimensionakan dikembangkan dengan metode change data capture.Hal iniakan menangkap setiap perubahan data yang dapat mempengaruhi dimensi yang terjadi pada database sumber dan kemudian mentransformasinya sehingga dapat sesuai denganhybrid dimensi yang telah didesain. Kata kunci:nearly realtime datawarehouse, hybrid slowly change dimension, change data capture Abstract Datawarehouse that is nearly realtimerequires the model of table dimension andthe factin realtime. Modeling the dimension is veryimportant becausethe dimensionwillbe a sourceforfacts. This researchused such kind of dimensional modeling technique is ahybridslowlychangedimension.This techniquewillcreateanewfieldtoaccommodatethe changes ofsourcedatabasewhenthe manipulationis executedso that factsdon’t losethe information. In order to implement this dimension therefore hybrid slowly change will be deployed using change data capture method. This method willrecord anychangesof datainsource databasethat may affect thedimensionsand thenwill be transformed them so that agree with thehybridthat has beendesigned. Keywords:nearly realtime datawarehouse, hybrid slowly change dimension, change data capture 1. Pendahuluan Kebutuhan organisasi untuk melakukan analisa data dan pembuatan laporan secara cepat dan terintegrasi dari online transaction processing (OLTP) mengakibatkandata warehouseyang dikembangkan dengan konsep nearly realtime datawarehouse(NRTDWH) menjadi penting untuk dikembangkan [1]. Namun ETL sebagai inti proses [2,3] dalam data warehouseyang mengelola data secara time variant tidak mampu melakukan prosesnya agar menghasilkan datawarehouse yang bersifat nearlyreal time[4].Dalam usaha untuk menghasilkan NRTDWH, ETL dapat menerapkan metode change data capture (CDC)dalam implementasinya [2]. Teknik ini akan dapat mengetahui setiap perubahan pada sumber data dan menangkapnya untuk di- load oleh ETL ke dalam database tujuan [5,6]. Perubahan yang berhasil ditangkap oleh metode CDC akan mempengaruhi dimensional modelling yang didesain pada NRTDWH baik pada tabel dimensi dan fakta [7].Perubahan pada tabel fakta akan terjadi lebih cepat, sementara tabel dimensi akan berubah perlahan dalam kurun waktu yang lebih lama[8]. Tabel fakta berubah melalui peningkatan jumlah baris, namun tabel dimensi tidak hanya mengalami perubahan dalam jumlah baris, tetapi juga melalui LONTAR KOMPUTERVOL. 4, NO. 1,APRIL 2013 ISSN: 2088-1541 216 perubahan atribut [6]. Perubahan tabel dimensi sangat penting untuk dikelola karena dimensi merupakan tabel yang akan menjadi referensi bagi tabel fakta [2]. Untuk mengelola perubahan pada tabel dimensi yang dihasilkan oleh change data capture, maka pencatatan tabel ini akan dikelola dengan metode slowly changing dimension(SCD)[9]. SCD memiliki beberapa tipe dan salah satunya adalah hybrid slowly change dimension. Tipe ini akan melakukan pencatatan atas nilai data yang lama serta data baru sehingga NRTDWH tidak akan kehilangan history data yang pernah tercatat dalam tabel dimensi[2]. Metode ini penting untuk dikembangkan karena hilangnya history data dalam tabel dimensi sebagai tabel sumber akanmenurunkan kualitas infomasi yang akan dihasilkanNRTDWH, karena akan terjadi sekumpulan fakta yang tidak bisa dijelaskan oleh fakta setelah dilakukan joint dengan tabel dimensi.Berdasarkan pemaparan diatas maka pada makalah ini akan mengulas mengenai penerapan implementasi hybrid slowly change dimension pada tabel dimensi agar mampu menghasilkan NRTDWH. 2. Kajian Pustaka 2.1 Nearly Realtime Data Warehouse Menurut [6] real time datawarehouse berbeda dengan tradisional datawarehouse. Datawarehouse tradisionalbersifat pasif, menyediakan data yang bersifat history, sedangkan realtime datawarehouse bersifat dimanis, dimana datawarehouseini akan menyediakan data yang selalu up to date, sehingga data yang dihasilkan merupakan data terkini yang didapatkan secara terus menerus dengan waktu tunggu yang hampir mendekati nol. Sementara itu menurut [4] bahwa realtime datawarehouse dikerjakan dengan sistem yang tidak pernah mati sehingga proses loading data dari data source tidak pernah berhenti, karena bila proses berhenti maka akan terjadi perbedaan antara data yang telah mengalami perubahan dengan informasi yang dihasilkan. ETL tradisonal dapat dimodifikasi dengan mengatur query untuk mengurangi waktu periodeload data agar dihasilkan real time datawarehouse atau near real time datawarehouse. 2.2 Dimesional modelling Pemodelan dimensional merupakan konsep desain yang banyak digunakan untuk mengembangkan suatu datawarehouse. Model dimensional tersebut terdiri dari struktur data yang diperlukan untuk merepresentasikan dimensi serta fakta dari proses bisnis yang ada. Dalam menggambarkan relasi database pada datawarehouse digunakan 2 model pendekatan yang disebut model skema yaitu skema bintang (star schema) dan skema snowflake [2]. 2.3 Komponen dimensional modelling Tabel fakta.Dalam pemodelan dimensional menurut [7], tabel fakta terdiri atas measurement, metric, atau fakta dari proses bisnis yang ada. Ciri-ciri dari tabel fakta adalah sebagai berikut: 1. Primary key pada tabel fakta terdiri atas gabungan lebih dari satu primary key yang dimiliki tabel-tabel dimensi yang terkait (concatenated key). 2. Memiliki tingkatan data yang telah teridentifikasi. 3. Mudah untuk melakukan rekap data. 4. Memiliki jumlah record yang banyak. 5. Memiliki kolom atau atribut yang sedikit. 6. Tidak memiliki row yang berisi nilai null. 7. Memiliki degenerated dimension. Tabel dimensi. Dalam pemodelan dimensional, tabel dimensi menggambarkan karakterisitik keadaan dari measurement atau metric yang ada [5]. Ciri-ciri dari tabel dimensi adalah sebagai berikut: 1. Memiliki key unik pada tabel dimensi (primary key). 2. Memiliki jumlah kolom atau atribut yang banyak. LONTAR KOMPUTERVOL. 4, NO. 1,APRIL 2013 ISSN: 2088-1541 217 3. Atributnya textual dan tidak saling berhubungan. 4. Tabelnya tidak dilakukan normalisasi. 5. Mempunyai kemampuan untuk drill-downdan roll-up. 6. Memiliki jumlah record yang sedikit dibandingkan tabel fakta. 2.4 Slowly Changing Dimension (SCD) Teknik SCD digunakan untuk mencatat perubahan lambat yang terjadi pada tabel dimensi agar history data yang tersimpan dalam tabel dimensi tidak hilang [2]. Terdapat beberapa tipe SCD diantaranya : Tipe 1 SCD. Tipe ini akan membentuk recordbaruuntuk menggantikanrecord lama, dimana hanyaadasatu record pada databasesebagai current data. Tipe 2 SCD. Tipe ini akan membentuk recordbaruyang ditambahkanpadatabeldimensi, sehingga terdapatdua record pada databaseberupa current record dan record/data sebelum data mengalami perubahan. Tipe 3 SCD. Tipe ini akan memodifikasi data yang aslidenganmemasukkaninformasibarudidalamnya. Hal ini menyebabkan padadatabase terdapatsatu recordyang akan mengandung data yang lama dan tambahandata sebagai informasibarupadabaris yang sama. 2.5 Hybrid SCD Teknik ini mengkombinasikan semua tipe SCD didalam satu record dimensi. Pada teknik ini akan ditambahkan kolom untuk menampung nilai field lama serta nilai field yang baru setelah terjadi perubahan. Teknik ini juga akan menambahkan kolom untuk menampung waktu effective date terjadinya perubahan. 2.6 Change Data Capture CDC (changed data capture)menurut [10]dirancanguntukmemaksimalkanefisiensidari proses ETL. Tanpa CDC semua data yang ada pada ODS akan dipindahkan ke datawarehouse kapanpun dibutuhkan, sementara dengan CDC hanya perubahan-perubahan data yang terjadi pada ODS saja yang akan dipindahkan. Oleh karena itu CDC dapat meminimumkanrestore yang digunakanuntukmemindahkanperubahanpada data danmeminimalkanwaktulatency pengirimaninformasibisniskepadakonsumen sehingga tentu saja hal ini dapat menghemat biaya. 3. Metodologi Penelitian 3.1 Ruang Lingkup Makalah ini akan membahas hybrid slowly change dimension yang diterapkan denganchange data capture untuk dapat menghasilkan dimensi yang bersifat nearly realtime datawarehouse. 3.2 Metode Berikut ini adalah metode yang akan dilakukan dalam penelitian ini, diantaranya : 1. Analisa metadata technical dan bussiness untuk mengetahui hubungan antara OLTP danfieldpada DWH. 2. Desain tabel dimensi yang bertipe hybrid slowly change dimension. 3. Mendesain proseschange data capture untuk mendapatkan perubahan yang terjadi pada OLTP dan mencatat pada tabel dimensi. 4. Pengujian dan analisa hasil. LONTAR KOMPUTERVOL. 4, NO. 1,APRIL 2013 ISSN: 2088-1541 218 4. Analisa dan Pembahasan Data 4.1 Analisa OLTP OLTP yang akan digunakan sebagai studi kasus dalam penelitian ini adalah sistem disertasi dan sistem tesis Universitas Udayana. Dalam kedua sistem ini terdapat beberapa tabel yang dikelola OLTP, namun tabel yang menjadi sumber bagi datawarehouse adalah tabel prodi dan tabel disertasi yang berasal dari sistem disertasi serta tabel prodi dan tabel tesis dari sistem tesis. Keempat tabel tersebut akan menjadi sumber bagi NRTDWH yang akan diimplementasikan. Tabel prodi akan menjadi sumber dari tabel dimensi prodi, sedangkan beberapa field dari tabel tesis dan disertasi akan menjadi dimensi tesis dan disertasi. Pada Tabel 1 berikut ini merupakanmetadata yang akan menghasilkan hybrid slowly Change dimension. Tabel 1. Metadata OLTP sumber Tabel sumber Nama field Tabel tujuan pada DWH Sistem Thesis Tabel thesis Id_thesis Dimensi thesis Sistem Thesis Tabel thesis judulpenelitian Dimensi thesis Sistem Thesis Tabel thesis namapeneliti Dimensi thesis Sistem Thesis Tabel thesis id_prodi Dimensi thesis Sistem Thesis Tabel prodi Id_prodi Dimensi prodi Sistem Thesis Tabel prodi Id_jenis Dimensi prodi Sistem Thesis Tabel prodi Nama_prodi Dimensi prodi Sistem disertasi Tabel disertasi Id_disertasi Dimensi disertasi Sistem disertasi Tabel disertasi Judul_disertasi Dimensi disertasi Sistem disertasi Tabel disertasi Nama_peneliti Dimensi disertasi Sistem disertasi Tabel disertasi id_prodi Dimensi disertasi Sistem disertasi Tabel prodi Id_prodi Dimensi prodi Sistem disertasi Tabel prodi Id_jenis Dimensi prodi Sistem disertasi Tabel prodi Nama_prodi Dimensi prodi 4.2 Desain tabel dimensi dengan Hibrid Slowly Change Dimension Berdasarkan 4 tipe SCD yang ada, dalam penelitian ini akan diterapkan hybrid SCD. Teknikiniakanmencatatperubahan yang terjadidalam sebuahkolombarupadatabeldimensi. Nilai kolom lama yang mengalami perubahan akandigunakanuntukmenampungfieldawalsebelumperubahandankolombaruakandiisi nilai dariperubahan yang dilakukan. Untukmenentukan row data yang aktifmakarow data akandiberipenandasertadibuatkolom fieldwaktusaat record valid dan field waktuterakhirsaat recordtidak valid. Dengan cara ini update data pada OLTP baik berupa insert, update dan deletetidak akan menghilangkan history data yang telah tersimpan dalam nearly realtime datawarehouse. Gambar 1 berikut ini adalah desain SCD yang akan diterapkan dalam nearly real time data warehouse. Gambar 1. Desain slowly change dimension Id_thesis Judul penelitian Nama peneliti Id prodi Id_thesis Judul penelitian baru Nama peneliti Status Diisi dengan nilai baru Judul penelitian lama Flag row aktif/tidak mulai selesai Waktu mulai efektif nya row Waktu berakhirnya efektif row LONTAR KOMPUTERVOL. 4, NO. 1,APRIL 2013 ISSN: 2088-1541 219 Desain SCD tersebut akan diimplementasikan dalam tabel-tabel dimensi dengan hasil seperti berikut ini a. Dimensi Prodi sistem thesis Tabel2. Tabel dimensi prodi dari sistem thesis Field Keterangan Id_st_prodi Surrogate key, merupakan primary key dari tabel ini Id_prodi Menerangkan id dariprodi yang diambildaritabelth_prodi Nama_prodi Menerangkannamaprodiyang diambildari tabel th_prodi Mulai Mulaiefektif berlakunyafield Selesai Selesaiefektif berlakunyafield Nm_prodilama Namaprodisebelumnyayang sudahberubahakibat proses update Status Menandakan status prodi yang sedangaktif, bila status 1 makaartinya field tersebutdalamkondisiaktif, sedangkan 0 maka field tersebutdalamkondisitidakaktif b. Dimensi thesispada sistem thesis Tabel 3. Tabel dimensi thesis dari sistem thesis Field Keterangan Id_st_tesis Surrogatekey, primary key dari tabel ini Id_tesis Menerangkan id dari thesis yang diambildaritableth_thesis Judul_penelitian_lama Menerangkanjudulpenelitiansebelum proses edit yang diambildari tabel th_thesis Judul_penelitian_baru Menerangkanjudulpenelitiansetelah proses edit yang diambildari tabel th_thesis Nama_peneliti Menerangkannamapeneliti yang diambildari tabel th_thesis Mulai Mulaiefektif berlakunyafield Selesai Selesaiefektif berlakunyafield Status Menandakan status judul thesis, status 1 untuk status yang sedangaktif, sedangkan 0 untuk status yang tidakaktif Id_prodi Diambil dari surragote key tabel dimensi prodi c. Dimensi disertasi sistem disertasi Tabel 4. Tabel dimensi disertasi dari sistem disertasi Field Keterangan Id_sd_disertasi Surragate key, yang diciptakan untuk menjadi pimary key Id_disertasi Kodedisertasi yang dicatatdiambildari tabel th_disertasipada ODS disertasi Judul_penelitian Judulpenelitiandiambildari tabel th_disertasi Nama_peneliti Namapeneliti yang diambildari tabel th_disertasi Status Status darijuduldisertasi digunakan untuk mencatat perubahan status disertasi, status 0 melambangkanbahwajudultersebuttidaklagiaktif, sementara status 1 melambangkanjudultersebutsedangaktif. Mulai Mulaiefektif berlakunyafield Selesai Selesaiefektif berlakunyafield Jdl_lama Judulpenelitian yang lama sebelumdilakukan update Id_prodi Field ini merupakan surragote key id prodi pada dimensi prodi d. Dimensi prodi sistem disertasi Tabel 5. Tabel dimensi prodi dari sistem disertasi Field Keterangan Id_sd_prodi Surragate key, primary key tabel ini Id_prodi Id prodi yang diambildari tabel th_prodipada sistem disertasi Nama_prodi Namaprodi yang diambildari tabel th_prodi LONTAR KOMPUTERVOL. 4, NO. 1,APRIL 2013 ISSN: 2088-1541 220 Mulai Mulaiefektif berlakunyafield Selesai Selesaiefektif berlakunya field Nm_prodi_lama Nama prodisebelumnya yang sudahberubahakibat proses update. Status Menandakan status prodi yang sedangaktif/terbaru, 1 status aktif 0 untuk status tidakaktif Agar dihasilkan dimensi yang dapat menghasilkan NRTDWH maka dimensi hybrid slowly change dimension akan diterapkan dengan metode CDC. Perubahan pada tabel sumber akibat eventinsert, update maupun delete akan diketahui oleh CDC. Hasil capture kemudian ditransformasikan ke dalam bentuk yang sesuai dengan desain tabel dimensi yang telah dimodelkan dengan hibrid SCD, dan kemudian akan di-load ke dalam tabel dimensi bersesuaian. Metode ini akan bekerja dengan alur seperti Gambar 2 berikut ini. Gambar 2. Desain umum proses nearly realtime hybrid Slowly change Dimension 4.3 Pengujian Hybrid SCD Dalam pengujian ini akan dilakukan manipulasi pada proses di OLTP yang mempengaruhi DWH. Untuk poses insert, pengujian dilakukan dengan memasukkan data Prodi Teknik Elektro melalui form pada sistem disertasi seperti Gambar 3 berikut ini . Gambar 3.Form untuk melakukan proses insert Data yang di-input akan disimpan kedalam tabel th_prodi, hal ini terlihat dengan telah masuknya data teknik elektro ke dalam tabel pada sistem existing yang terlihat pada Gambar 4 berikut ini. Tabel sumber OLTP 1. Mengetahui event penyebab perubahan data insert, update dan delete User Melakukan perubahan data 2. Mendapatkan data yang berubah 3. mentransform sesuai dengan desain dimensi berbasis SCD Change Data Capture Insert update delete Tabel dimensi tujuan load load load LONTAR KOMPUTERVOL. 4, NO. 1,APRIL 2013 ISSN: 2088-1541 221 Gambar 4. Form hasil insert Proses simpan yang dilakukan ke dalam tabel th_prodi akan memicu CDC untuk melakukan capturefield id_prodi, Nama_prodi, danwaktusaat proses insertterjadi. Hasilcapturetersebutakandi-loadkedalamtabeldimensiprodisebagai row data baru. Row data baru ini akan berisi fieldid_sd_prodiyang merupakan surragote key, id_prodi, Nama_prodi, danwaktusaat proses insertterjadi dan pemberian nilai 1 pada field status yang menyatakan bahwa row tersebut sedang aktif. Hasil kerja CDC akan mempengaruhi tabel dimensi prodi sehingga tampak seperti Gambar 5 berikut ini : Gambar 5. Nilai tabel hasil insert Event lain yang akan menyebabkan tabel dimensi prodi berubah adalah update pada tabel th_prodi yang dilakukan melalui form seperti Gambar 6 berikut ini : Gambar 6. Form untuk melakukan proses update Perubahan yang dilakukan pada tabel th_prodi akan memicu CDC mencatat namaprodibaru yang di-insert, namaprodi yang lama yang di-update,sertawaktusaatkeduafielditudiubah. Hasil capture tersebut akandi-insert-kan sebagairow barukedalamtabeldimensiprodiberupafieldid_prodi, Nama_prodi, mulai, status, Nm_prodi_lama, dan Selesai. Setelah itu akan dilakukan updatefieldStatus dan fieldSelesaidimensi prodi pada rowdata yang memiliki idprodisamadengan idprodibaru yang di-loaddanmasihberstatus 1. Proses ini menyebabkan fieldStatus akandiubahmenjadi 0 dan field Selesaiberisiwaktusaatperubahandilakukan. Proses CDC pada event ini akan mengubah tabel dimensi prodi sehingga tampak seperti Gambar 7 berikut ini. LONTAR KOMPUTERVOL. 4, NO. 1,APRIL 2013 ISSN: 2088-1541 222 Gambar 7. Hasil update dimensi Prosesdeletepadatabelprodi sistem disertasijugaakanmengubahisitabel dimensiprodi. Proses ini dilakukan melalui form seperti Gambar 8 berikut ini. Gambar 8. Form delete pada sistem OLTP Saatproses deletedilakukan data field Id_prodidanwaktu proses penghapusan row dataakan di- capture. Kemudianakan dilakukan update terhadap dimensi prodi pada row data yang id prodinyasama dengan hasil capturedan memiliki Status 1. Updatedilakukandenganmembuatfield status menjadi 0 danfieldselesaidiisiolehwaktusaat proses deletedilakukan. Proses CDC pada event ini akan menyebabkan tabel dimensi prodi berubah seperti hasil yang tampak pada Gambar 9 berikut ini Gambar 9. Hasil dimensi saat prosesdelete 5. Simpulan Pencatatan perubahan tabel dimensi dalam data warehouse harusnya tidak menghilangkan history data yang pernah tersimpan didalamnya untuk tetap mempertahankan kualitas data.Agar seluruh history perubahan data yang mempengaruhi tabel dimensi tersimpan sehingga informasi yang hilang dapat diminimalkan maka diimplementasikan hybrid slowly change dimension.Agar Hibrid SCD yang didesain dapat menampung data dalam nearly realtime datawarehouse maka diterapkan metode change data capture. Daftar Pustaka [1] SimitsisA, Vassiliadis P, Sellis T, “Optimizing ETL Processes in Data WarehousesInData Engineering”,Proceedings21st International Conference on Digital Object, pp: 564 – 575, 2005.http://citeseerx.ist.psu.edu[diunduh : 10 Agustus 2011] LONTAR KOMPUTERVOL. 4, NO. 1,APRIL 2013 ISSN: 2088-1541 223 [2] Kimball Ralph, Caserta Joe, The Data Warehouse ETL Toolkit Practical Techniques for Extraction, Cleaning, Conforming and Delivering Data, Canada: Wiley Publishing. Inc, 2004. [3] SavitriF.N,Laksmiwati H,“Study of localized data cleansing process for ETL performance improvement in independent datamart”, Electrical Engineering and Informatics (ICEEI), International Conference,2011. [diunduh: 13Agustus 2011] [4] LangsethJustin, “Real-Time Data Warehousing: Challenges and Solutions”,2004.http://dssresources.com/papers/features/langseth/langseth02082004.htm l. [diunduh:12 Agustus 2011] [5] Mitchell J Eccles, David J Evans and Anthony J Beaumont,“True Real-Time Change Data Capture WithWeb Service Database Encapsulation”,IEEE 6th World Congress on Services, 2010.[diunduh: 10Agustus 2011] [6] Ponniah, Paulraj,“Data warehousing fundamentals for IT professionals / 2nd ed”, John Wiley & Sons.Inc,2010. [7] Inmon, W.H, “Building The Data Warehouse”, Fourth Edition,Canada: Wiley Publishing.Inc, 2005. [8] AvignonFrance, “Chapter 5 Advances in Database Technology EDBT '9”, 5th International Conference on Extending Database Technology, March 25-29, 1996.[diunduh: 11Agustus 2011] [9] SantosV, Belo O,Sch. of Manage. & Technol., Porto Polytech., Felgueiras, Portugal, Information Systems and Technologies (CISTI), 6th Iberian Conference, Juni 2011.[diunduh : 12 Agustus 2011] [10] Ankorion, Itamar,„Information Management Magazine“, January 2005.http://www.information-management.com/issues/20050101/1016326- 1.html[diunduh:12Agustus 2011]