Hendrolim's Weblog

December 23, 2007

Langkah-langkah pemrosesan query

Filed under: DBMS — hendrolim @ 5:19 pm
Langkah dasar pemrosesan query :
1. Parsing dan translasi
a. Translasi query menjadi bentuk internal kemudian translasikan ke aljabar relasional
b. Parser memeriksa sintaks dan verifikasi relasi-relasi
2. Optimasi : memilih evaluasi plan yang paling rendah costnya
3. Evaluasi : query-execution engine memakai query-evaluation plan, mengeksekusi plan tersebut, dan mengembalikan hasilnya

Cost umumnya diukur sebagai total waktu diperlukan untuk menyelesaikan query
1. Banyak faktor yang menentukan cost : Kecepatan akses disk, CPU, atau sampai komunikasi jaringan
2. Kecepatan akses disk adalah faktor utama penentu cost dan relatif mudah diperkirakan. Kecepatan ini diukur dengan :
a. Number of seeks * average-seek-cost
b. Number of blocks read * average-block-read-cost
c. Number of blocks written * average-block-write-cost
Cost untuk menulis sebuah blok lebih besar dari cost untuk membaca blok karena setelah menulis, data akan dibaca lagi untuk memastikan data yang ditulis berhasil.

Operasi-operasi dalam pemrosesan query :
1. Selection dengan menggunakan algoritma searching seperti A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11
2. Sorting
Untuk relasi yang muat di memori, teknik ini seperti quicksort, sedangkan untuk relasi yang tidak cocok pada memori, external sort-merge cukup bagus.
3. Join diimplementasikan dengan beberapa algoritma seperti nested-loop join, block nested-loop join, indexed nested-loop join, merge-join, hash-join
4. Duplicate elimination dapat diimplementasikan dengan hashing atau sorting
5. Agregation dapat diimplementasikan dengan cara yang sama pada duplicate elimination
6. Projection diimplementasikan dengan melakukan proyeksi pada setiap tupel yang diikuti dengan duplicate elimination
7. Set operations (^,V,-) dapat digunakan sebagai varian dari merge-join setelah sorting atau varian dari hash-join
8. Outer join adalah modifikasi dari join dengan diikuti tambahan NULL sesuai dengan ruas yang diinginkan

Leave a Comment »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Create a free website or blog at WordPress.com.

%d bloggers like this: