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 PramonoProgram 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