Topik 04
Perancangan Basis Data Terdistribusi
Pendekatan top-down dan bottom-up, dari ERD sampai skema fragmen dan alokasi.
Kemampuan akhir yang diharapkan. Memahami pendekatan-pendekatan dalam merancang basis data terdistribusi.
Dua pendekatan
| Aspek | Top-down | Bottom-up |
|---|---|---|
| Titik mulai | Belum ada basis data — dirancang dari nol | Sudah ada basis data yang berjalan di tiap situs |
| Urutan | Analisis kebutuhan → skema konseptual global → fragmentasi → alokasi → skema lokal | Skema lokal → penerjemahan ke model bersama → integrasi menjadi skema global |
| Cocok untuk | Sistem homogen yang dibangun serentak | Sistem heterogen hasil penggabungan organisasi |
| Masalah utama | Menebak pola akses yang belum terjadi | Konflik nama, konflik struktur, dan konflik semantik antar skema |
Langkah perancangan top-down
- Analisis kebutuhan: entitas, atribut, volume, dan frekuensi akses
- Perancangan konseptual: ERD → skema relasional → normalisasi
- Perancangan fragmentasi: horizontal, vertikal, turunan, atau campuran
- Perancangan alokasi: fragmen mana ditempatkan di situs mana, direplikasi atau tidak
- Perancangan fisik: indeks, tablespace, dan parameter penyimpanan di tiap situs
Informasi yang wajib dikumpulkan sebelum alokasi
| Kelompok | Rincian |
|---|---|
| Informasi basis data | Skema konseptual, jumlah situs, jumlah/ukuran/selektivitas fragmen per relasi global |
| Informasi aplikasi | Jumlah kueri, rata-rata akses baca dan akses update per fragmen, matriks kueri–fragmen, situs asal tiap kueri |
| Informasi situs | Unit cost penyimpanan dan unit cost pemrosesan di tiap situs |
| Informasi jaringan | Bandwidth dan latensi antar pasangan situs |
Keempat kelompok inilah masukan Lab Alokasi & Replikasi. Tanpa angka-angka ini, keputusan replikasi hanya tebakan.
Kesalahan perancangan yang paling sering
- Memfragmentasi tabel referensi kecil yang justru dibaca semua situs — seharusnya direplikasi
- Mereplikasi tabel transaksi yang sering di-update — biaya tulis naik berlipat karena 2PC menyentuh semua salinan
- Memilih atribut fragmentasi yang tidak pernah muncul di klausa WHERE — reduksi lokalisasi tidak pernah terjadi
- Melupakan kunci pada fragmen vertikal — rekonstruksi menjadi lossy
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.
Rancangan global dulu (top-down)
Pendekatan top-down: skema global disusun lengkap dengan kunci sebelum dipecah dan dialokasikan. kosong
CREATE TABLE cabang (
kode VARCHAR2(4) PRIMARY KEY,
kota VARCHAR2(30) NOT NULL
);
CREATE TABLE pegawai (
nip NUMBER(6) PRIMARY KEY,
nama VARCHAR2(50) NOT NULL,
kode_cabang VARCHAR2(4) NOT NULL REFERENCES cabang(kode)
);
INSERT INTO cabang VALUES ('JKT', 'Jakarta');
INSERT INTO pegawai VALUES (1, 'Sari', 'JKT');
DESC pegawai;
Informasi aplikasi: kueri mana yang sering?
Frekuensi akses per kota adalah masukan predikat minterm dan keputusan alokasi. rumahsakit
SELECT p.kota, COUNT(*) AS akses_pemeriksaan
FROM pasien p JOIN pasien_dokter pd ON p.id_pasien = pd.id_pasien
GROUP BY p.kota
ORDER BY akses_pemeriksaan DESC;
Jalankan sendiri
Perancang ERD
Kasus Tono Rental: ERD → skema relasional → DDL Oracle, lengkap dengan jejak transformasinya.
Normalisasi 1NF–BCNF
Penutupan atribut, candidate key, pelanggaran per tingkat, sintesis 3NF, dan uji lossless-join.
Perancang Fragmentasi
Horizontal, vertikal, turunan, campuran — dengan audit kelengkapan, rekonstruksi, dan kedisjoinan.
Sumber: Modul 1 (RPS pekan 4) dan Modul Pertemuan 7