Incremental Refresh Materialized Query Table(MQT) Memanfaatkan Staging Table Untuk Optimasi Query Execution Time Dan Resources Yang Digunakan

  

Vol. 2, No. 12, Desember 2018, hlm. 6286-6291 http://j-ptiik.ub.ac.id

Incremental Refresh Materialized Query Table(MQT) Memanfaatkan

  

Staging Table Untuk Optimasi Query Execution Time Dan Resources Yang

1 Digunakan 2 3 Dirga Harjuna Putra , Aryo Pinandito , Djoko Pramono

  Program Studi Sistem Informasi, Fakultas Ilmu Komputer, Universitas Brawijaya 1 2 3 Email: dirgaharjuna@ub.ac.id, aryo@ub.ac.id, djoko.jalin@ub.ac.id

  

Abstrak

Materialized Query Table (MQT) menyimpan data dari query yang sering digunakan sehingga

  pengguna dapat memperoleh data tanpa harus melakukan komputasi ulang. Hal ini dapat meningkatkan performa sistem dengan mengurangi biaya query. Data didalam MQT harus diperbarui secara berkala agar tidak menjadi usang ketika terjadi perubahan pada tabel induk. Ada 2 (dua) macam mekanisme pembaruan yang umum digunakan, yaitu full refresh dan incremental refresh. Full refresh mengkomputasi ulang seluruh data dari tabel induk. Sedangkan incremental refresh hanya memproses data-data yang mengalami perubahan dengan memanfaatkan staging table. Staging table berperan menyimpan perubahan data (delta) pada tabel induk untuk mendukung proses incremental refresh. Penelitian ini mensimulasikan dan membandingkan performa dari full refresh dengan incremental untuk mengetahui dampak keduanya terhadap waktu eksekusi query dan penggunaan sumber

  refresh

  daya (I/O dan CPU). Data yang digunakan merupakan data asli yang berasal dari penelitian sebelumnya dan data dummy hasil generate sistem untuk mendukung penelitian. Hasil pengujian menunjukkan bahwa incremental refresh meningkatkan performa lebih dari 10x lipat pada waktu eksekusi query dan meningkatkan lebih dari 50x lipat pada penggunaan sumber daya dibandingkan dengan full refresh.

  Kata kunci: MQT, staging table, refresh, full, incremental, waktu eksekusi query, I/O, CPU

Abstract

  

Materialized Query Table (MQT) stores data from frequently used queries so that users can get data

without having to re-compute. This can improve system performance by reducing the cost of queries.

The data in the MQT must be updated periodically it will not become obsolete when some change being

made in the parent table. There are 2 (two) kinds of commonly used update mechanisms, namely full

refresh and incremental refresh. Full refresh recompiles all data from the parent table. While

incremental refresh only process data that being changed by utilizing staging table. The staging table

stores the data changes (delta) in the parent table so that incremental refresh can be performed. This

study simulates and compares the performance of full refresh with incremental refresh to know the

impact of both of the query execution time and resource usage (I/O and CPU). The data used are original

data derived from previous research and dummy data generated by system to support this research. Test

results show that incremental refresh increases performance by more than 10 times at query execution

time and increases more than 50 times on resource usage compared to full refresh.

  Keywords: MQT, staging table, refresh, full, incremental, query execution time, I/O, CPU meningkatkan performa dari database 1.

   PENDAHULUAN management system dengan cara menyimpan hasil dari query yang sering

  Materialized Query Table (MQT) atau digunakan (Gupta, et al., 2001). Keuntungan biasa disebut juga materialized view (MV) menggunakan MQT adalah untuk merupakan sebuah tabel yang berisikan data mengaksesnya hanya perlu membaca blok dari hasil pemrosesan suatu query. MQT lokasi dimana materialized query table berbentuk data-caching yang berguna untuk

  Fakultas Ilmu Komputer Universitas Brawijaya

6286 disimpan tanpa perlu melakukan komputasi ulang pada setiap pengaksesan (Paraboschi, et al., 2003).

  Namun disamping keuntungan MQT juga ada kekurangan yaitu ketika terjadi perubahan data pada tabel induk, data yang ada didalam MQT menjadi usang dan menjadi tidak relevan. Selain itu juga faktor waktu dan sumber daya yang dibutuhkan pemutakhiran data MQT dapat memakan waktu dalam hitungan detik, menit, bahkan jam, tergantung kompleksitas query dan juga banyaknya data yang diproses. Oleh karena itu, dibutuhkan sebuah strategi yang efektif untuk menjaga agar data didalam MQT tetap terkini (up-to-date).

  untuk mengetahui sejauh mana pengaruhnya terhadap proses pemutakhiran data didalam MQT ditinjau dari segi query execution time dan resource yang digunakan.

  perhitungan yang digunakan antara lain adalah fakultas, jurusan, jenjang, program studi, dan angkatan.

  MQT ini sebanyak 1.978.853 baris. Dimensi

  Kategori data besar direpresentasikan oleh MQT Sebaran Mahasiswa. MQT ini berfungsi untuk menyimpan data perhitungan sebaran mahasiswa. Data yang akan diproses kedalam

  Setelah data terkumpul, selanjutnya adalah proses pemodelan MQT dan staging table. Dalam penelitian ini akan menggunakan 3 (tiga) MQT yang dibagi berdasarkan jumlah data yang diproses yaitu besar, sedang, dan kecil.

  Data dummy diperoleh dari hasil pembuatan otomatis (generate) oleh komputer dengan bantuan progam Microsoft Office Excel. Data- data tersebut meliputi antara lain: Data Mahasiswa, Data Biodata Mahasiswa, serta Data Sekolah Asal Mahasiswa.

  melakukan efisiensi dalam proses pengambilan dan pengoperasian data. Penelitiannya melakukan pembandingan performa dan ketahanan query yang melalui implementasi materialized query table dan query yang langsung mengakses ke data mart. Sebagian data pada penelitiannya diambil dan digunakan pada penelitian ini sebagai data asli. Data-data tersebut didapatkan dalam format dokumen (.csv) yang antara lain adalah: Data Seleksi, Data Jenjang, Data Fakultas, Data Jurusan, Data Program Studi, Data Mata Kuliah, Data Sekolah, Data Kota, Data Propinsi, Data Negara. Bentuk, struktur, serta isian untuk data-data tersebut dimodifikasi untuk memenuhi kebutuhan penelitian ini.

   membahas tentang peranan materialized query table untuk membantu

  Kasus: Universitas Brawijaya Bagian Akademik)

  Table Untuk Pembangunan Data Mart (Studi

  Nugroho (2015) pada penelitiannya yang berjudul “Implementasi Materialized Query

  digunakan terdiri dari data asli dan data dummy .

  Metodologi yang digunakan dalam penelitian ini diawali dengan studi literature dan pengumpulan data uji. Hal ini bertujuan untuk mempersiapkan data-data yang akan diproses kedalam MQT. Adapun jenis data uji yang

  refresh serta membandingkan keduanya untuk

  Bindu Sharma dan Mahesh Singh (2014) pada penelitiannya yang berjudul “Performance

  Tujuan dan penelitian ini adalah analisis serta implementasi full refresh dan incremental

  Pada dasarnya proses pemutakhiran MQT dengan mekanisme incremental refresh yang memproses hanya data-data yang berubah dinilai mampu untuk meminimalisir waktu respon dan juga mengoptimalkan penggunaan sumber daya dari database.

  berfungsi untuk mencatat segala perubahan yang terjadi pada tabel induk.

  staging table . Staging table adalah tabel yang

  komputasi hanya pada data-data yang berubah (delta) pada tabel induk dengan memanfaatkan

  Incremental Refresh , yaitu melakukan

  MQT kemudian melakukan komputasi ulang seluruh data pada tabel induk. Kedua,

  refresh MQT pada penelitian ini. Pertama, Full Refresh , yaitu menghapus seluruh data dalam

  Ada dua pendekatan untuk melakukan

  meningkatkan performa dari database itu sendiri, salah satunya adalah dengan meminimalkan waktu respon dengan biaya sumber daya yang optimal.

  database management system berarti

  ” menjelaskan bahwa meningkatkan performa

  Tuning in Database Management System based on Analysis of Combination of Time and Cost Parameter through Neural Network Learning

2. METODOLOGI DAN PERANCANGAN

  Gambar 1. MQT Sebaran Mahasiswa Gambar 2. MQT Sebaran Mahasiswa dengan

  Staging Table

  Kategori data sedang direpresentasikan oleh MQT Sebaran Mahasiswa berdasarkan Sekolah Asal. MQT ini berfungsi untuk menyimpan data perhitungan sebaran mahasiswa berdasarkan dari sekolah asalnya.

  Data yang akan diproses kedalam MQT ini sebanyak 978.853 baris. Dimensi

  perhitungan yang digunakan antara lain adalah fakultas, jurusan, jenjang, program studi, dan sekolah asal.

  Gambar 3. MQT Sebaran Mahasiswa berdasarkan Sekolah Asal Gambar 4. MQT Sebaran Mahasiswa berdasarkan Sekolah Asal dengan Staging Table

  Kategori data kecil direpresentasikan oleh MQT Sebaran Mahasiswa berdasarkan Daerah Asal. MQT ini berfungsi untuk menyimpan data perhitungan sebaran mahasiswa berdasarkan dari daerah asalnya.

  Data yang akan diproses kedalam MQT ini sebanyak 478.853 baris.

  Dimensi perhitungan yang digunakan antara lain adalah fakultas, jurusan, jenjang, program studi, propinsi dan kota.

  Gambar 5. MQT Sebaran Mahasiswa berdasarkan Daerah Asal Gambar 6. MQT Sebaran Mahasiswa berdasarkan Daerah Asal dengan Staging Table

  Seperti yang ditunjukkan pada Gambar 1, Gambar 3, dan Gambar 5 bahwa MQT terhubung secara langsung dengan tabel-tabel induk. MQT bentuk ini akan digunakan untuk Setiap kali selesai dilakukan perubahan melakukan full refresh. Sedangkan pada Gambar pada tabel induk, akan dicatat berapa lama waktu 2, Gambar 4, dan Gambar 6 ditunjukkan bahwa yang dibutuhkan pada saat proses pemutakhiran MQT tidak terhubung secara langsung dengan data baik secara full refresh maupun incremental tabel-tabel induk, melainkan melalui perantara refresh untuk kemudian dibandingkan. Untuk sebuah staging table. Tabel perantara inilah yang mengukur besaran sumber daya yang diperlukan akan mencatat seluruh perubahan data yang saat proses refresh terjadi akan menggunakan terjadi pada tabel induk agar proses incremental bantuan tools IBM Data Studio.

  refresh dapat dijalankan.

  4. HASIL 3.

IMPLEMENTASI DAN PENGUJIAN

  Hasil pengujian proses refresh MQT dibagi Implentasi MQT kedalam basis data menjadi 2 bagian untuk masing-masing MQT

  Dimulai dengan merubah skema / desain yaitu dari segi waktu eksekusi dan penggunaan rancangan menjadi bentuk Data Definition sumber daya.

  

Language (DDL) kemudian di eksekusi (deploy) Seperti yang dapat dilihat pada Tabel 2

  pada server yang telah disiapkan. bahwa waktu yang dibutuhkan untuk melakukan Pengujian yang dilakukan pada penelitian refresh secara incremental lebih cepat ini adalah pengujian performa (performance dibandingkan secara full.

  Pengujian ini

  testing). menggunakan bantuan dua indikator pengukuran antara lain

  Tabel 2. Hasil Perhitungan Waktu Eksekusi MQT kecepatan eksekusi query dan resource yang

  Sebaran Mahasiswa dibutuhkan dalam hal ini adalah penggunaan

  Full Refresh Incremental Percobaan CPU. Kedua indikator tersebut digunakan (ms) Refresh (ms)

  1 2435 2375 untuk menyatakan besaran dari hasil

  2 2542

  37 pengukuran dan pembandingan terhadap

  3 2372

  77 mekanisme full refresh dan incremental 4 2634

  72 5 2439

  61 refresh. Untuk memastikan bahwa

  6 2593

  77 incremental refresh dapat berjalan maka

  7 4054

  62 perlu dibuat skenario pengujian, yaitu 8 2476

  90 9 2444

  94 dengan melakukan beberapa kali perubahan

  10 2098

  73 data pada tabel utama kemudian memastikan

  Rata2 2608.7 301.8 bahwa perubahan tersebut telah berhasil masuk kedalam materialize query table.

  Lebih jelasnya akan digambarkan Skenario pengujian performa untuk MQT menggunakan grafik perbandingan seperti tersebut dengan melakukan 10 kali perubahan ditunjukkan pada Gambar 7. data pada tabel induk kemudian dilakukan

  MQT untuk pemutakhiran data

  refresh

  didalamnya dengan rincian seperti yang dapat dilihat pada Tabel 1.

  Tabel 1. Skenario Pengujian MQT Persentase Percobaan Keterangan Perubahan Data

  1 0% Inisialisasi MQT 2 0% dari total data 3 10% dari total data 4 20% dari total data 5 30% dari total data Gambar 7. Grafik Perbandingan Eksekusi MQT 6 40% dari total data Sebaran Mahasiswa 7 50% dari total data 8 60% dari total data 9 70% dari total data

  Setelah mendapatkan hasil pengukuran

  10 80% dari total data

  waktu eksekusi query, maka selanjutnya adalah mengukur besaran sumber daya yang dibutuhkan. Besaran sumber daya diukur dari

  Full Refresh Incremental

  dua aspek yaitu biaya CPU yang digunakan, dan

  Aspek (timerons) Refresh (timrons)

  biaya input dan output (I/O). Pengukuran

  CPU 143,291,645,952 50,907,213,824

  terhadap sumber daya yang dibutuhkan

  I/O 3,967,955.50 60,100 menggunakan bantuan tools IBM Data Studio. Total 26,225,138.00 408,395.66

  Adapun hasil pengukurannya seperti ditunjukan pada Tabel 3.

  Dengan menggunakan metode pengukuran yang sama, berikut ini merupakan hasil

  Tabel 3. Hasil Perhitungan Sumber Daya MQT

  pengujian terhadap MQT Sebaran Mahasiswa

  Sebaran Mahasiswa

  berdasarkan Daerah Asal:

  Full Refresh Incremental Aspek (timerons) Refresh (timrons) Tabel 6. Hasil Perhitungan Waktu Eksekusi MQT CPU 238,619,863.50 3,561,490.50

  Sebaran Mahasiswa berdasarkan Daerah Asal I/O 42,421.00 597.47 Full Refresh Incremental

  Total 84,940.72 1286.29 Percobaan (ms) Refresh (ms)

  1 5423 5284

  Tabel 3 menunjukkan bahwa incremental

  2 5386

  76

  membutuhkan sumber daya yang lebih

  refresh 3 5905 644

  sedikit dibandingkan full refresh. Hal ini

  4 4670 1256 5 4977 1638

  disebabkan karena full refresh mengakses data

  6 6779 2059

  dari seluruh tabel induk sedangkan incremental

  7 5280 2444 refresh hanyak mengakses data yang ada pada

  8 5976 2955 staging table . 9 5797 3132 10 6743 3299

  Dengan menggunakan metode pengukuran

  Rata2 5693.6 2278.7

  yang sama, berikut ini merupakan hasil pengujian terhadap MQT Sebaran Mahasiswa berdasarkan Sekolah Asal:

  Tabel 4. Hasil Perhitungan Waktu Eksekusi MQT Sebaran Mahasiswa berdasarkan Sekolah Asal Full Refresh Incremental Percobaan (ms) Refresh (ms)

  1 10581 6978 2 9249 37 3 13945 643

  4 11391 1046 5 9795 1157 6 11379 1890 Gambar 9. Grafik Perbandingan Eksekusi MQT 7 12958 2228 Sebaran Mahasiswa berdasarkan Daerah Asal 8 9871 2572 9 8596 2795

  10 9785 3085 Tabel 7. Hasil Perhitungan Sumber Daya MQT Rata2 2608.7 301.8 Sebaran Mahasiswa berdasarkan Daerah Asal

  Full Refresh Incremental Aspek (timerons) Refresh (timrons) CPU 111,891,611,648 48,418,177,024 I/O 245,926.09 4,490.00

  Total 951,957.50 14,014.06 5.

   KESIMPULAN

  Berdasarkan seluruh pemaparan sebelumnya yang bertujuan untuk memodelkan dan mengimplementasikan metode incremental

  Gambar 8. Grafik Perbandingan Eksekusi MQT refresh memanfaatkan staging table serta

  Sebaran Mahasiswa berdasarkan Sekolah Asal

  membandingkannya dengan metode full refresh pada materialized query table untuk optimasi

  Tabel 5. Hasil Perhitungan Sumber Daya MQT query execution time dan resource yang

  Sebaran Mahasiswa berdasarkan Sekolah Asal

  digunakan, maka dapat ditarik kesimpulan dari penelitian ini:

  Cost Parameter through Neural 1. Network Learning .

  Sebuah Materialized Query Table (MQT) dengan mekanisme full refresh terhubung Lehner, W. et al., 2010. Maintenance Of secara langsung ke tabel utama untuk

  Automatic Summary Tables in

  IBM kebutuhan refresh. Sedangkan MQT dengan DB2/UDB, Erlangen: IBM Almaden mekanisme incremental refresh terhubung Research Center. melalui sebuah staging table untuk mencatat Satish, S. K., Saraswatipura, M. K. & Shastry, S. seluruh perubahan data pada tabel utama

  C., 2007. DB2 performance yang diperlukan pada saat refresh.

  enhancements using Materialized Query 2.

  Proses incremental refresh menunjukkan

  Table for LUW. Second International

  penurunan waktu eksekusi yang signifikan Conference on Systems (ICONS'07). dengan rata-rata 301.8 milisecond pada

  Nugroho, 2015. Implementasi Materialized

  kategori data besar, 2245.8 milisecond pada

  Query Table Untuk Pembangunan

  kategori data sedang, dan 2278.7 pada kategori data kecil. Sedangkan untuk full (Studi Kasus: Universitas

  Data Mart refresh memiliki waktu eksekusi query Brawijaya Bagian Akademik).

  dengan rata-rata 2608.7 milisecond pada JPTIIK. kategori data besar, 10755 milisecond pada

  Steve, Hilker., 2013. Creating an MQT Staging kategori data sedang, dan 5693.6 pada

  Table [Online] Tersedia di:

  kategori data kecil. Secara umum dapat https://community.toadworld.com/platf disimpulkan bahwa incremental refresh orms/ibmdb2/w/wiki/7403.creating-an- mampu meningkatkan performa database mqt-staging-table [Diakses 15 03 2018]. hingga mencapai 10 kali lipat dibandingkan dengan full refresh dinilai dari segi waktu eksekusi.

  3. Proses incremental refresh menggunakan total sumberdaya sebanyak 1286.29

  timerons pada kategori data besar,

  408395.66 timerons pada kategori data sedang, dan 14014.06 timerons pada kategori data kecil. Sedangkan full refresh menggunakan sumberdaya sebanyak 84,940.72 timerons pada kategori data besar, 26,25,138 timerons pada kategori data sedang, dan 951,957.50 pada kategori data kecil. Secara umum dapat disimpulkan bahwa incremental refresh mampu meningkatkan efisiensi penggunaan sumber daya hingga mencapai lebih dari 50 kali lipat dibandingkan dengan full refresh.

DAFTAR PUSTAKA

  Gupta, A. et al., 2001. Adapting materialized

  views after redefinitions: techniques and . Information Systems.

  Gupta, A. et al., 2006. Incremental Maintenance

  of Aggregate and Outerjoin Expressions . Information Systems.

  Gosain, A. et al., 2015. Architecture Based Materialized View Evolution: A Review .

  ICCC. Sharma, B. et al., 2014. Performance Tuning in

  Database Management System based on Analysis of Combination of Time and