Topik 03
Fungsi dan Arsitektur Basis Data Terdistribusi
Empat arsitektur sistem, model struktural DDBS tiga lapis, model ANSI/SPARC, dan arsitektur N-tier.
Kemampuan akhir yang diharapkan. Memahami model arsitektur dan fungsi-fungsi pada BDT dan dapat menerapkannya dalam merancang BDT.
Empat alternatif arsitektur
| Arsitektur | Penempatan | Cocok untuk | Kelemahan utama |
|---|---|---|---|
| Stand-alone | DBMS, basis data, dan aplikasi di satu komputer | Latihan, apotek kecil, wartel, hotel kecil | Hanya satu pengguna |
| Terpusat | DBMS dan basis data di satu server, banyak terminal | Startup, situs internet, instansi kecil | Server mati → seluruh aktivitas berhenti |
| Client-server | Aplikasi di klien, mesin basis data di server | Bisnis kecil hingga menengah | Skalabilitas terbatas, koneksi terus dijaga, sulit diamankan |
| Terdistribusi | Data tersebar di banyak situs, logis satu kesatuan | Organisasi bercabang, lintas kota | Kompleksitas dan biaya pengelolaan |
Dua jenis transaksi pada sistem terdistribusi
- Transaksi lokal — hanya mengakses data pada situs tempat transaksi dijalankan
- Transaksi global — mengakses data pada beberapa situs berbeda
Alasan membangun sistem terdistribusi
- Data bersama — pengguna di satu situs memakai data yang ada di situs lain, seperti antar cabang bank
- Ketersediaan — jika satu situs gagal, situs lain melanjutkan operasi sampai selesai
- Otonomi — tiap situs mengontrol data lokalnya; administrator global bertanggung jawab atas keseluruhan sistem
Karakteristik menurut fungsionalitas
| Karakteristik | Isi |
|---|---|
| Multiple processes | Setiap proses memiliki thread mandiri, eksplisit maupun implisit |
| Interprocess communication | Proses berkomunikasi lewat pesan; waktu tempuh pesan bergantung media |
| Disjoint address spaces | Ruang alamat tiap proses terpisah, fisik maupun virtual |
| Collective goal | Proses harus berinteraksi untuk tujuan bersama — tanpa interaksi bukan sistem terdistribusi |
Tiga lapis arsitektur D-DBS
| Lapis | Isi | Tugas |
|---|---|---|
| 1. D-DBS Global Clients | Pengguna dan klien global | Mengirim kueri ke lapisan server DDBMS |
| 2. D-DBMS Server | Proses D-DBMS + direktori global (GD/D-DB) | Menyediakan mekanisme deskripsi, manipulasi, dan kontrol |
| 3. Distributed Database | Node berisi LDBMS dan basis data lokal (L-DB) | Menyimpan data terdistribusi |
Model datalogical ANSI/SPARC
- GES (Global External Schema) — rangkaian skema eksternal yang dilihat aplikasi
- GCS (Global Conceptual Schema) — skema konseptual global, penghubung gambaran pengguna dengan gambaran terdistribusi
- GIS (Global Internal Schema) — informasi yang dibutuhkan untuk mengakses data terdistribusi dan LDBMS
- LCS / LIS — skema konseptual dan internal basis data lokal di tiap situs
GCS adalah nexus rancangan: seluruh transparansi distribusi bertumpu padanya. Fragmentasi dan alokasi didefinisikan sebagai pemetaan dari GCS ke LCS.
Arsitektur 3-tier dan N-tier
N-tier adalah bentuk umum dengan tiga komputer atau lebih. Keuntungannya: tiap tingkat dapat berjalan pada prosesor dan sistem operasi yang sesuai, dan dapat diperbarui secara independen dari tingkat lain.
| Tier | Komponen | Isi |
|---|---|---|
| 1 | Client application | Berjalan di komputer pengguna; tidak bisa mencapai RDBMS tanpa melewati tier 2 |
| 2 | Application server | Berisi package, objek, method, fungsi, dan aktivitas kueri |
| 3 | RDBMS application | Kumpulan basis data dan data resource manager |
Coba di terminal
Kueri di bawah memperagakan konsep topik ini pada data sungguhan. Tekan ▶ Jalankan untuk membukanya di Terminal SQL, lalu ubah sesuka hati — sesi terminal adalah salinan pribadi di peramban Anda.
Skema eksternal = view
Lapisan eksternal ANSI/SPARC: pengguna bagian keuangan hanya melihat ringkasan biaya. rumahsakit
CREATE VIEW v_keuangan AS
SELECT d.spesialis, SUM(pd.biaya) AS pendapatan
FROM dokter d JOIN pasien_dokter pd ON d.id_dokter = pd.id_dokter
GROUP BY d.spesialis;
SELECT * FROM v_keuangan ORDER BY pendapatan DESC;
Skema konseptual di kamus data
Katalog sistem menyimpan definisi tabel, kolom, dan kendala — lapisan konseptual. rumahsakit
SELECT table_name, column_name, data_type, nullable
FROM user_tab_columns
WHERE table_name = 'PASIEN_DOKTER';
Jalankan sendiri
Sumber: Modul Pertemuan 3 — Arsitektur Basis Data Objek Terdistribusi (Sawali Wahyu, S.Kom, M.Kom)