Komponen utama DBMS: query processor, storage manager, dll

From OnnoWiki
Jump to navigation Jump to search

Tujuan Pembelajaran

Setelah mempelajari modul ini, mahasiswa diharapkan dapat:

  • Memahami arsitektur internal DBMS
  • Menjelaskan peran masing-masing komponen utama dalam DBMS
  • Menggambarkan bagaimana komponen-komponen tersebut berinteraksi dalam memproses permintaan data

Arsitektur DBMS

Arsitektur DBMS menggambarkan struktur internal dari sistem manajemen basis data (DBMS) dan bagaimana komponen-komponennya bekerja sama untuk menangani permintaan pengguna.

Secara umum, arsitektur DBMS dibagi menjadi tiga tingkat:

  • Tingkat Eksternal (View Level): Menyediakan tampilan data sesuai kebutuhan pengguna.
  • Tingkat Konseptual (Logical Level): Menyimpan struktur logis dari keseluruhan database.
  • Tingkat Internal (Physical Level): Menyimpan data secara fisik di media penyimpanan.

> Arsitektur ini dikenal sebagai three-schema architecture.

Komponen Utama DBMS

Berikut adalah komponen penting dalam sistem DBMS:

1. Query Processor

  • Fungsi: Menerjemahkan perintah SQL dari pengguna menjadi instruksi-instruksi tingkat rendah yang dapat dieksekusi oleh sistem.
  • Sub-komponen:
    • Parser: Mengecek sintaks SQL dan membuat struktur parse tree.
    • Translator: Mengubah query tinggi menjadi query internal.
    • Optimizer: Menyusun rencana eksekusi terbaik untuk query (misal: dengan indeks atau tidak).
    • Executor: Melaksanakan query sesuai rencana.

Contoh:

Query `SELECT * FROM mahasiswa WHERE jurusan='Informatika'` akan dianalisis, dioptimalkan, dan dijalankan untuk menghasilkan hasil.

2. Storage Manager

  • Fungsi: Mengelola penyimpanan data di disk dan menangani akses data fisik.
  • Tugas utama:
    • Alokasi ruang penyimpanan
    • Pengambilan dan penyimpanan data
    • Manajemen buffer
  • Sub-komponen:
    • Transaction Manager: Menjamin eksekusi transaksi secara konsisten dan aman.
    • Buffer Manager: Mengelola data antara disk dan memori utama.
    • File Manager: Mengelola struktur file tempat data disimpan.
    • Recovery Manager: Menangani pemulihan data jika terjadi crash.

Catatan:

Storage manager adalah “penghubung” antara database dan sistem file.


3. Transaction Manager

  • Fungsi: Menjaga integritas data saat terjadi beberapa transaksi secara bersamaan.
  • Menjamin ACID properties:
    • Atomicity (semua atau tidak sama sekali)
    • Consistency (database tetap valid)
    • Isolation (transaksi tidak saling ganggu)
    • Durability (hasil transaksi permanen)

4. Buffer Manager

  • Fungsi: Menyimpan sementara data dari disk ke memori utama untuk meningkatkan performa akses data.
  • Mengurangi disk I/O, sehingga mempercepat eksekusi query.


5. Metadata Catalog (Data Dictionary)

  • Fungsi: Menyimpan informasi tentang struktur database, seperti:
    • Nama tabel
    • Nama kolom
    • Tipe data
    • Hak akses
    • Indeks

Catatan:

Catalog ini sering disebut sebagai sistem basis data untuk basis data.

6. User Interface Layer

  • Berfungsi sebagai antarmuka bagi pengguna atau aplikasi.
  • Bisa berupa:
    • SQL command line
    • GUI tools (pgAdmin, phpMyAdmin)
    • API (ODBC, JDBC)

Proses Kerja Antar Komponen

  1. Pengguna mengirimkan query melalui UI → dikirim ke Query Processor
  2. Query Processor menganalisis, mengoptimalkan, dan mengeksekusi query
  3. Query yang membutuhkan data akan melewati Storage Manager
  4. Buffer Manager mengambil data dari disk
  5. Hasil dikembalikan ke pengguna

Kesimpulan

Arsitektur DBMS terdiri dari beragam komponen modular yang bekerja sama untuk:

  • Menyimpan data dengan aman
  • Menangani query dengan efisien
  • Menjaga konsistensi data selama transaksi
  • Menyediakan interface yang nyaman untuk pengguna

Catatan:

Memahami arsitektur dan komponen ini penting untuk merancang dan mengoptimalkan sistem basis data.



Pranala Menarik