Lewati ke isi
ORACLEDECK

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

AspekTop-downBottom-up
Titik mulaiBelum ada basis data — dirancang dari nolSudah ada basis data yang berjalan di tiap situs
UrutanAnalisis kebutuhan → skema konseptual global → fragmentasialokasi → skema lokalSkema lokal → penerjemahan ke model bersama → integrasi menjadi skema global
Cocok untukSistem homogen yang dibangun serentakSistem heterogen hasil penggabungan organisasi
Masalah utamaMenebak pola akses yang belum terjadiKonflik nama, konflik struktur, dan konflik semantik antar skema

Langkah perancangan top-down

  1. Analisis kebutuhan: entitas, atribut, volume, dan frekuensi akses
  2. Perancangan konseptual: ERD → skema relasional → normalisasi
  3. Perancangan fragmentasi: horizontal, vertikal, turunan, atau campuran
  4. Perancangan alokasi: fragmen mana ditempatkan di situs mana, direplikasi atau tidak
  5. Perancangan fisik: indeks, tablespace, dan parameter penyimpanan di tiap situs

Informasi yang wajib dikumpulkan sebelum alokasi

KelompokRincian
Informasi basis dataSkema konseptual, jumlah situs, jumlah/ukuran/selektivitas fragmen per relasi global
Informasi aplikasiJumlah kueri, rata-rata akses baca dan akses update per fragmen, matriks kueri–fragmen, situs asal tiap kueri
Informasi situsUnit cost penyimpanan dan unit cost pemrosesan di tiap situs
Informasi jaringanBandwidth 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

Sumber: Modul 1 (RPS pekan 4) dan Modul Pertemuan 7