Komponen utama DBMS: query processor, storage manager, dll
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
- Pengguna mengirimkan query melalui UI → dikirim ke Query Processor
- Query Processor menganalisis, mengoptimalkan, dan mengeksekusi query
- Query yang membutuhkan data akan melewati Storage Manager
- Buffer Manager mengambil data dari disk
- 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.