Back to IF3140 Sistem Basis Data

Topic

Questions/Cues

  • Apa tiga langkah dasar query processing?

  • Apa itu evaluation plan?

  • Apa komponen biaya utama dalam query?

  • Bagaimana biaya query diukur secara sederhana?

Tiga Langkah Dasar Query Processing

Proses eksekusi sebuah query di dalam DBMS secara umum dibagi menjadi tiga langkah utama:

  1. Parsing and Translation: Query SQL dari pengguna diterjemahkan ke dalam bentuk internal, biasanya ekspresi aljabar relasional. Parser juga akan memeriksa sintaks dan memverifikasi nama-nama relasi.

  2. Optimization: Optimizer mencari rencana evaluasi (evaluation plan) dengan estimasi biaya terendah dari berbagai alternatif ekspresi yang ekuivalen. Proses ini menggunakan informasi statistik dari katalog database.

  3. Evaluation: Query-execution engine mengambil rencana evaluasi yang sudah dioptimalkan, menjalankannya, dan mengembalikan hasil query kepada pengguna.

Evaluation Plan

Sebuah Evaluation Plan adalah sebuah ekspresi aljabar relasional yang diberi anotasi detail. Anotasi ini mendefinisikan strategi evaluasi secara spesifik, seperti algoritma apa yang harus digunakan untuk setiap operasi (misal, menggunakan index scan atau linear scan).

Pengukuran Biaya Query

Biaya sebuah query umumnya diukur sebagai total waktu yang dibutuhkan untuk menjawab query tersebut. Dari berbagai faktor seperti akses disk, CPU, dan jaringan, akses disk adalah komponen biaya yang paling dominan. Oleh karena itu, estimasi biaya biasanya berfokus pada aktivitas disk.

Secara sederhana, biaya diukur berdasarkan:

  • Jumlah transfer blok (b): Berapa banyak blok yang harus dibaca/ditulis dari/ke disk.
  • Waktu transfer blok ()
  • Jumlah seek (S): Berapa kali lengan disk harus bergerak.
  • Waktu seek ()

Dengan rumus, Dengan catatan, biaya CPU dan biaya untuk menulis hasil akhir ke disk seringkali diabaikan dalam formula estimasi untuk menyederhanakan perhitungan.

Summary

Query Processing terdiri dari tiga langkah: Parsing/Translation (mengubah SQL ke aljabar relasional), Optimization (memilih evaluation plan termurah), dan Evaluation (menjalankan rencana tersebut). Biaya sebuah evaluation plan diukur terutama berdasarkan biaya akses disk, yang disederhanakan menjadi jumlah transfer blok dan seek yang dibutuhkan untuk mengeksekusi rencana tersebut.