Download Simulasi Optimasi Query Menggunakan Histogram - PPTA

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Simulasi Optimasi Query
Menggunakan Histogram untuk
Meminimalisasi Nilai Sumber Daya
pada Database Terdistribusi
Oleh:
06410100005 - Ignatius Hadi Prabowo
Latar Belakang
 Proses optimasi pada query dalam sebuah relasi database menjadi
pekerjaan yang ’mahal’ saat berurusan dengan relasi dalam jumlah
besar. Mencari cara terbaik dengan waktu eksekusi tercepat adalah
sebuah kewajiban semenjak strategi yang salah diterapkan dalam
sebuah. Dengan meningkatnya kompleksitas sebuah database, hal
tersebut menjadi penting bagi metode-metode query optimizer untuk
mengadopsi sebuah algoritma yang membutuhkan cost rendah dalam
hal waktu eksekusi.
 ”The selectivity of a predicate in a query is a decisive aspect for a query
plan generation. The ordering of predicates can considerably affect the
time needed to process a join query. To have the query plan ready at
compile-time, we need to have the selectivities of all the query
predicates. To calculate these selectivities, we use histograms.” (Li,
Han, & Ding, 2010) Selektivitas predikat (where) dalam query adalah
aspek yang menentukan untuk menghasilkan rencana query (query
plan). Urutan predikat dapat mempengaruhi waktu yang dibutuhkan
untuk proses query join. Untuk memiliki rencana query siap pada
compile time, perlu dimiliki selektivitas dari semua query predikat. Untuk
menghitung selektivitas ini, digunakan histogram.
Rumusan Masalah
1. Bagaimana menggabungkan model optimasi query
menggunakan histogram dan model untuk determinasi
biaya sumber daya yang digunakan pada sistem database
terdistribusi.
2. Apakah model optimasi menggunakan histogram dapat
membantu meminimalisasi biaya sumber daya yang akan
diperhitungkan menggunakan model yang ada pada
sistem database terdistribusi.
Batasan Masalah
 Sample data yang digunakan adalah data mahasiswa,
kurikulum, dan mata kuliah dari STIKOM Surabaya
 Menggunakan DBMS Oracle Database 10g Express Edition
 Tidak membangun aplikasi perangkat lunak
 Membangun model simulasi optimasi query dengan bantuan
dibangun histogram untuk mengestimasi susunan predikat
dalam suatu query
 Variabel yang ditekankan adalah CPU Cost sebagai asumsi
mengurangi biaya eksekusi dalam suatu set query
Landasan Teori - Simulasi
 Simulasi adalah sebuah model matematika yang
menjelaskan tingkah laku sebuah sistem dalam
beberapa waktu dengan mengobservasi tingkah
laku dari sebuah model matematika untuk
beberapa waktu seseorang analis bisa mengambil
kesimpulan tentang tingkah laku dari sistem dunia
nyata yang disimulasikan. Karena simulasi
membahas tentang sistem maka perlu adanya
pengertian mengenai sistem. Sistem merupakan
himpunan dari subsistem-subsistem yang
bermanfaat untuk mencapai suatu tujuan yang
telah ditetapkan. (Utama, 2010)
Landasan Teori – Kelebihan dan
Kekurangan Simulasi
1. Tidak semua sistem dapat direpresentasikan dalam model
matematis, simulasi merupakan alternatif yang tepat
2. Dapat bereksperimen tanpa adanya resiko pada sistem nyata
3. Simulasi dapat mengestimasi kinerja sistem pada kondisi
tertentu dan memberikan alternatif desain terbaik sesual
dengan spesifikasi yang diberikan
 Kontras dengan beberapa kelebihan yang disebutkan
sebelumnya model simulasi juga memiliki beberapa kekurangan,
antara lain:
1. Kualitas dan analisis model tergantung pada si pembuat model
2. Hanya mengestimasi karakteristik sistem berdasarkan masukan
tertentu
Landasan Teori – Verifikasi dan
Validasi Model Simulasi
 Verifikasi : proses pengecekan terhadap model apakah
sudah bebas dari error.
 Validasi model merupakan proses pengujian terhadap
model apakah model yang dibuat sudah sesuai dengan
sistem nyatanya.

S  A
E1 
A
S  nilai _ rata  rata _ hasil _ simulasi
A  nilai _ rata  rata _ data
 Model dianggap valid bila E1  5%
Landasan Teori – Vensim
Vensim Simulation merupakan bahasa
simulasi yang dapat digunakan sebagai
tool untuk membantu menyelesaikan
masalah-masalah bisnis maupun teknis.
Software ini dikembangkan oleh Ventana
Systems, Inc yang dikembangkan
sebagai respon terhadap kebutuhan
dalam mengembagkan model-model
simulasi. (Suryani, 2006)
Landasan Teori – Optimasi Query
 Menurut dokumen tentang optimasi query yang diunduh dari
internet menyatakan, “optimasi query adalah sebuah
prosedur untuk meningkatkan strategi evaluasi dari suatu
query untuk membuat evaluasi tersebut menjadi lebih
efektif.” (Laila, 2011). Ada tiga aspek dasar yang
mempengaruhi optimasi query, yaitu:
1.
2.
3.
Search space
Cost model
Search strategy
 Sedangkan untuk tujuan optimasi query tersebut, antara lain:
1. Untuk meminimumkan waktu proses
2. Untuk waktu respon, meminimumkan I/O dan meminimumkan
penggunaan memory
 Inti dari optimasi query adalah meminimalkan “jalur”
pencarian untuk menemukan data yang disimpan dalam
lokasi fisik.
Landasan Teori – Optimasi Query
menggunakan Histogram
 Optimasi query membutuhkan informasi nilai beban masingmasing predikat.
 Optimasi query dengan memanfaatkan histogram
menggunakan dari distribusi data yang ada dibangun sebuah
histogram yang berisikan frekuensi munculnya data tertentu dan
dikelompokkan (buckets).
 Terdapat pendekatan khusus dalam menentukan estimasi biaya
untuk masing-masing predikat dan join yang terdapat dalam
suatu query. Jika sebuah tabel T terdapat 100.000 baris dan
predikat a menghasilkan 10 baris (T.a=10) dan dalam sebuah
histogram menunjukkan T.a=10 adalah 10% (Nerella,
Surapaneni, Madria, & Weigert, 2010), maka
10% ∗ 100.000 = 10.000
 Beban predikat a dalam query adalah 10.000
Landasan Teori – Pemeliharaan
Histogram
 Perlu dihitung kesalahan estimasi dari histogram dengan menggunakan
persamaan berikut. (Nerella, Surapaneni, Madria, & Weigert, 2010)
𝛽
𝜇𝑎 =
𝑇𝑖 =










𝑆
𝑁𝛽
𝛽
𝑖=1
𝑓𝑖 − 𝐵𝑖
2
N
𝑊1 𝜇1 + 𝑊2 𝜇2 + ⋯ + 𝑊𝑛 𝜇𝑛
𝑊1 + 𝑊2 + ⋯ + 𝑊𝑛
Dimana:
𝜇𝑎 adalah estimasi kesalahan/error pada setiap atribut
𝛽 adalah jumlah pengelompokan/wadah
𝑁 adalah jumlah baris dalam R
𝑆 adalah jumlah baris yang diseleksi
𝑓𝑖 adalah frekuensi dari pengelompokan/wadah i pada histogram
𝑞𝑓 = 𝑆 𝑁 adalah frekuensi query
𝐵𝑖 adalah frekuensi yang diamati
𝑇𝑖 adalah perkiraan kesalahan untuk setiap tabel
𝑊𝑖 adalah bobot setiap atribut tergantung pada tingkat perubahan
Landasan Teori – Model Biaya
pada Database Terdistribusi
 Fungsi biaya untuk eksekusi query di lingkungan grid
melibatkan tiga parameter utama, yaitu, biaya komunikasi,
biaya I/O, dan biaya CPU. Dalam hal ini, Response Time
(RT) untuk eksekusi query, interval waktu antara inisiasi dari
query dan respon pertama diterima, juga dipertimbangkan
untuk perhitungan di atas tiga parameter utama.
 Ccpu adalah proporsionalitas konstan yang dapat dianggap
sebagai 1/tcpu, dimana tcpu adalah waktu yang dibutuhkan
untuk siklus unit CPU. Dengan demikian, ungkapan tersebut
dapat ditulis sebagai berikut.
𝐶𝑜𝑠𝑡CPU = 1/tcpu ∗ RTcpu
Tahapan Penelitian
Perancangan model - Histogram
COUNT(NAMA)
3000
2500
2000
1500
COUNT(NAMA)
1000
500
0
A
B
C
D
E
F
G H
I
J
K
L
M N O
P
Q R
S
T
U
V W Y
Z
Dalam jurnal ini menggunakan dari distribusi data yang ada lalu
dibangun sebuah histogram yang berisikan frekuensi munculnya
data tertentu dan dikelompokkan (buckets).
Perancangan model - Histogram
-
Beta
S
-
-
Miu a
N
-
+
f
Ti
+
x
Wn
+
B
Gambar di atas menunjukkan hubungan masing-masing variabel terhadap
Miu a. Variabel S, Beta, N, dan x berpengaruh negatif terhadap Miu a, yang
artinya semakin besar nilai variabel akan mengurangi Miu a. Sedangkan
variabel f dan B berpengaruh positif terhadap x. Miu a sendiri akan
berpengaruh positif terhadap Ti, semakin besar nilai Miu a maka akan
menambah nilai Ti. Sedangkan Wn berpengaruh negatif terhadap Ti.
Perancangan model – Determinasi
+
I/O Cost
COST IN
DATAGRIDS
+ Communication
Cost
+
CPU
Cost
Y
Dalam kasus query terdistribusi, query teruraikan dalam beberapa subquery
dan data yang diperlukan dalam subquery tersebut dapat berada dalam
beberapa titik dalam database terdistribusi pula. Dalam hal ini biaya
transmisi juga dipertimbangkan. Dengan demikian fungsi biaya dalam
mengeksekusi query pada sistem terdistribusi melibatkan tiga parameter
utama, antara lain biaya komunikasi, biaya I/O dan biaya CPU.
Perancangan model – Determinasi
+
COST IN
DATAGRIDS
I/O Cost
+ Communication
Cost
+
CPU
Cost
-
Beta
S
-
-
Miu a
N
Ti
+
-
+
f
Y
x
Wn
+
B
Model yang pertama adalah model optimasi query menggunakan histogram
dari distribusi data dalam suatu database. Pemodelan menggunakan
Vensim tersebut menggambarkan variable-variabel yang digunakan untuk
menghitung tingkat kesalahan dalam suatu histogram. Jika tingkat
kesalahan dalam suatu histogram kurang dari 0,5 maka histogram tersebut
akan valid dan diasumsikan sudah berhasil untuk mengoptimasi suatu set
query.
Validasi
 Explain Plan dengan Histogram
explain plan set statement_id='query 1 with
histogram' for select * from mhs_mf_ta m,
kurlkl_mf_ta k, fak_mf_ta f where
m.jur_id=f.id and k.fakul_id=f.id and
m.nim=00410100005
Implementasi dan Evaluasi
Verifikasi
Validasi
 Dengan diketahui spesifikasi CPU yang digunakan adalah
1.83GHz, maka biaya operasi SELECT menurut model
adalah (detil)
𝐶𝑜𝑠𝑡CPU =
3
∗ 2 = 3.278688525
1.83
Validasi
 Explain Plan tanpa Histogram
explain plan set statement_id='query 1 without
histogram' for select * from mhs_mf_ta m,
kurlkl_mf_ta k, fak_mf_ta f
Validasi
 Dari kedua data yang diketahui tersebut maka dicari tingkat
kesalahannya untuk membuktikan kevalidan model. Maka,
E1 =
10.92 − 15.30
= 0,29%
15.30
 Dengan diketahui tingkat kesalahan adalah 0.29% maka
model dapat dinyatakan bahwa tergolong valid karena 0.29%
< 5%.
Query berdasarkan
Histogr
No
% Error
Query sistem nyata
histogram
select * from mhs_mf_ta
am
Variance
select * from
Query 1
m, fak_mf_ta f, kurlkl_mf_ta k
mhs_mf_ta m, fak_mf_ta f,
where m.jur_id=f.id and
kurlkl_mf_ta k where
k.fakul_id=f.id and
m.nim=00410100005 and
m.nim=00410100005;
k.fakul_id=f.id and m.jur_id=f.id;
select * from mhs_mf_ta
Histogram
Hasil Uji
10.92
15.3
0.28627451
select * from
12.0
Query 2
m, fak_mf_ta f where
mhs_mf_ta m, fak_mf_ta f where
12.02
0
2
f.id=m.jur_id;
select * from mhs_mf_ta
m, fak_mf_ta f where
f.id=m.jur_id;
select * from
mhs_mf_ta m, fak_mf_ta f where
13.1
Query 3
6.557
m.jur_id=f.id and
m.nim=00410100005 and
m.nim=00410100005;
m.jur_id=f.id;
select * from mhs_mf_ta
0.499847445
1
select * from
Query 4
m, kurlkl_mf_ta k, fak_mf_ta f
mhs_mf_ta m, kurlkl_mf_ta k,
where m.jur_id=f.id and
fak_mf_ta f where
k.fakul_id=f.id and
m.nim=00410100005 and
m.nim=00410100005
m.jur_id=f.id and k.fakul_id=f.id;
10.92
15.3
0.28627451