Anda di halaman 1dari 9

BAB I

PENDAHULUAN
1.1. Latar Belakang

Query Processing merupakan proses yang terjadi pada DBMS


ketika menerima query hingga menghasilkan tupple-tupple sesuai query
yang diminta.

Query Processing adalah sebuah proses 3-langkah yang mengubah


query tingkat tinggi (relasional kalkulus / SQL) ke sebuah query yang
lebih rendah-tingkat yang setara dan lebih efisien (dari relasional aljabar).
Tujuan pemrosesan query adalah untuk mengubah query yang ditulis
dalam bahasa tingkat tinggi, biasanya SQL, menjadi strategi pelaksanaan
yang benar dan efisien disajikan dalam bahasa tingkat rendah seperti
aljabar relasional, dan melaksanakan strategi untuk mengambil data yang
diperlukan. Karena ada banyak transformasi setara query tingkat tinggi
yang sama, DBMS harus memilih salah satu yang meminimalkan
penggunaan sumber daya. Ini adalah tujuan dari optimasi query. Karena
masalahnya adalah komputasi keras dengan sejumlah besar hubungan,
strategi yang diterapkan umumnya dikurangi untuk menemukan solusi
dekat optimal.

Ada dua teknik utama untuk optimasi query, meskipun dua strategi
biasanya digabungkan dalam praktek. Teknik pertama menggunakan
aturan heuristik yang memesan operasi dalam query. Teknik lain
membandingkan strategi yang berbeda berdasarkan biaya relatif mereka,
dan memilih salah satu yang meminimalkan penggunaan sumber daya.
Pemrosesan query dapat dibagi menjadi empat fase utama: dekomposisi
(terdiri dari parsing dan validasi), optimasi, generasi kode, dan eksekusi.
Tiga pertama dapat dilakukan baik pada waktu kompilasi atau runtime.

1
1.2. Rumusah Masalah

a) Apa yang dimaksud dengan Query Processing?


b) Apa tujuan dari Query Processing?
c) Apa saja tahapan-tahapan dalam Query Processing?
d) Apa saja macam-macam operasi pada Query Processing?
e) Apa Itu Layer Of Query Processing?
f) Bagaiaman Alur Query Processing?

1.3. Tujuan Pengkajian

a) Untuk memahami apa yang dimaksud dengan Query Processing.


b) Untuk mengetahui tujuan dari Query Processing.
c) Untuk mengetahui tahapan-tahapan dalam Query Processing.
d) Untuk mengetahui macam-macam operasi pada Query Processing.
e) Untuk mengetahui apa itu Layer Of Query Processing
f) Untuk mengetahui alur dari Query Processing

1.4. Manfaat Pengkajian

a) Kita dapat memahami apa yang dimaksud dengan Query Processing.


b) Kita dapat mengetahui tujuan dari Query Processing.
c) Kita dapat mengetahui tahapan-tahapan dalam Query Processing.
d) Kita dapat mengetahui macam-macam operasi pada Query Processing.
e) Kita dapat mengetahui Layer Of Query Processing
f) Kita dapat mengetahui alur dari Query Processing

2
BAB II
PEMBAHASAN
2.1. Pengertian Query Processing

Query Processing adalah proses yang terjadi pada DBMS ketika menerima
query hingga menghasilkan tupple-tupple sesuai query yang dminta.

2.2. Tujuan Query Processing

Tujuan pemrosesan query adalah untuk mengubah query yang ditulis


dalam bahasa tingkat tinggi, biasanya SQL, menjadi strategi pelaksanaan yang
benar dan efisien disajikan dalam bahasa tingkat rendah seperti aljabar relasional,
dan melaksanakan strategi untuk mengambil data yang diperlukan. Karena ada
banyak transformasi setara query tingkat tinggi yang sama, DBMS harus memilih
salah satu yang meminimalkan penggunaan sumber daya.

2.3. Tahapan-tahapan dalam Query Processing

Query Processing ini terdiri dari 3 tahapan utama yaitu :

a) Parsing dan Translation

Parsing adalah analisis sintaksis yaitu memeriksa apakah input yang masuk sesuai
dengan tata bahasa yang ada atau tidak, salah satunya dengan memilah-milah
input-input (variable, dsb). Translation adalah mengubah kode dari sintaks
deklaratif ke dalam bentuk internal yang procedural (misal aljabar relasional). Jadi
hasil dari tahap 1 adalah relasi aljabar relasional

b) Optimization

Setiap ekspresi aljabar relasional akan didetailkan yaitu detail plan setiap
eksekusi. Untuk tiap operator terdapat beberapa opsi algoritma, dan algoritma
yang dipilih adalah algoritma yang meminimalkan cost. Itulah yang terjadi pada
execution plan.

c) Execution

Mengeksekusi execution plan hasil optimalisasi dan mengembalikan outputnya


sesuai dengan query.

3
2.4. Macam-macam operasi pada Query Processing

Operasi-operasi dalam pemrosesan query :

a) Selection
- Dengan menggunakan algoritma searching seperti
A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11

b) Sorting
- Untuk relasi yang muat di memori, teknik ini seperti quicksort,
sedangkan untuk relasi yang tidak cocok pada memori, external sort-
merge cukup bagus.

c) Join
- Diimplementasikan dengan beberapa algoritma seperti nested-loop
join, block nested-loop join, indexed nested-loop join, merge-join,
hash-join

d) Duplicate elimination
- Dapat diimplementasikan dengan hashing atau sorting

e) Agregation
- Dapat diimplementasikan dengan cara yang sama pada duplicate
elimination

f) Projection
- Diimplementasikan dengan melakukan proyeksi pada setiap tupel yang
diikuti dengan duplicate elimination

g) Set operations (^,V,-)


- Dapat digunakan sebagai varian dari merge-join setelah sorting atau
varian dari hash-join

h) Outer join
- Modifikasi dari join dengan diikuti tambahan NULL sesuai dengan
ruas yang diinginkan

4
2.5 Layer Of Query Processing

Gambar 1. Layer Of Query Processing

 Data Localization
◦ Pendistribusian query dipetakan ke query fragmen
dan disederhanakan untuk menghasilkan satu yang baik.
 Global Query Optimization
◦ Cari dekat eksekusi strategi untuk yang optimal.
◦ Cari urutan terbaik dari operasi di query fragmen, termasuk
komunikasi operasi.
◦ Biaya fungsi yang didefinisikan didalam waktu yang diperlukan.
 Local Query Optimization
◦ Sentralisasi sistem algoritma

5
2.6 Konsep Kerja Query Processing atau Alur Proses (FlowChart)

Gambar 2. FlowChart Query Processing

Tahapan detail mengenai pemrosesan query yaitu dimulai dari penerimaan


query dari userkemudin query tersebut di parse (pemeriksaan semantik) dan di
translate menjadi aljabar relasional, setelah itu dioptimasi sesuai dengan data yang
telah ada di DBMS sehingga menjadi execution plan dengan cost yang minimal.
Execution plan tersebut kemudian dieksekusi terhadap data yang ada pada DBMS
dan menghasilkan output sesuai query yang diminta.

Cost merupakan hal yang terkait dengan total waktu yang diperlukan
untuk mengeksekusi query dan bergantung pada jumlah pencarian, jumlah
pembacaan block serta jumlah penulisan block.

Block adalah satuan pemrosesan I/O yang dapat dibaca/ditulis dalam suatu
waktu dan terdiri atas beberapa record.

6
Operasi yang diterapkan pada aljabar relasional adalah seleksi, adapun
algoritma dasar yang diterapkan pada operasi seleksi ada berbagai macam
diantaranya sebagai berikut :

1. A1 (Linear Search)

Mengambil dan membaca block secara sekuensial. Satu block


terdiri atas beberapa tuple. Jumlah tuple yang dapat ditampung dalam satu
block disebut blocking factor (bf). Cost seleksi pada atribut2 yang bukan
key yaitu n/bf = br = jumlah blok yang diperiksa, dengan n adalah jumlah
tuple. Sedangkan cost untuk seleksi pada key adalah br/2 (rata2 untuk
kasus terbaik dan terburuk)

2. A2 (Binary Search)

Prekondisi : seleksi pada atribut yang telah terurut. Cost yaitu [log2
(br)] + k, dengan k adalah jumlah blok yang mengandung tuple yang
memenuhi kriteria (karena tidak harus unik). [log2 (br)] adalah cost untuk
menempatkan tuple pertama pada binary search pada suatu block.

7
BAB III

PENUTUP

3.1. Kesimpulan

Query Processing adalah proses yang terjadi pada DBMS ketika menerima

query hingga menghasilkan tupple-tupple sesuai query yang dminta.

Query Processing ini terdiri dari 3 tahapan utama yaitu :

a) Parsing dan Translation

Parsing adalah analisis sintaksis yaitu memeriksa apakah input yang masuk sesuai
dengan tata bahasa yang ada atau tidak, salah satunya dengan memilah-milah
input-input (variable, dsb). Translation adalah mengubah kode dari sintaks
deklaratif ke dalam bentuk internal yang procedural (misal aljabar relasional). Jadi
hasil dari tahap 1 adalah relasi aljabar relasional

b) Optimization

Setiap ekspresi aljabar relasional akan didetailkan yaitu detail plan setiap
eksekusi. Untuk tiap operator terdapat beberapa opsi algoritma, dan algoritma
yang dipilih adalah algoritma yang meminimalkan cost. Itulah yang terjadi pada
execution plan.

c) Execution

Mengeksekusi execution plan hasil optimalisasi dan mengembalikan outputnya


sesuai dengan query.

8
DAFTAR PUSTAKA
https://asistenbasisdata.wordpress.com/2007/11/30/hendro-13505103-query-
processing Dilihat : 16 Oktober 2016

http://sullivanosmond.blogspot.co.id/2014/04/query-processing.html Dilihat : 16
Nopember 2016

Anda mungkin juga menyukai