Topik 08
Prinsip Basis Data Terdistribusi
Dua belas aturan Date, otonomi sistem, tidak bergantung situs pusat, dan operasi berkelanjutan.
Kemampuan akhir yang diharapkan. Memahami prinsip-prinsip dasar basis data terdistribusi.
Aturan dasar
Satu aturan mendasari semuanya: bagi pengguna, sistem terdistribusi harus terlihat persis seperti sistem yang tidak terdistribusi. Dua belas aturan berikut adalah penjabarannya.
| # | Prinsip | Arti praktis |
|---|---|---|
| 1 | Otonomi lokal | Situs mengelola datanya sendiri; tidak ada operasi lokal yang bergantung situs lain |
| 2 | Tidak bergantung situs pusat | Tidak ada satu situs yang, bila mati, mematikan seluruh sistem |
| 3 | Operasi berkelanjutan | Menambah situs atau mengubah skema tidak memerlukan penghentian sistem |
| 4 | Independensi lokasi | Pengguna tidak perlu tahu di mana data disimpan |
| 5 | Independensi fragmentasi | Pengguna tidak perlu tahu data dipecah |
| 6 | Independensi replikasi | Pengguna tidak perlu tahu ada berapa salinan |
| 7 | Pemrosesan kueri terdistribusi | Satu kueri boleh menyentuh banyak situs dan tetap dioptimasi |
| 8 | Manajemen transaksi terdistribusi | Atomicity dan durability tetap berlaku lintas situs |
| 9 | Independensi perangkat keras | Bebas arsitektur mesin |
| 10 | Independensi sistem operasi | Bebas OS |
| 11 | Independensi jaringan | Bebas topologi dan protokol jaringan |
| 12 | Independensi DBMS | Bebas produk DBMS — inilah yang paling jarang tercapai |
Mengapa aturan ke-2 sering dilanggar
Server nama terpusat melanggar aturan 1, 2, dan 3 sekaligus: otonomi lokal berkurang, ada titik kegagalan tunggal, dan bila situs pusat gagal situs lain tidak dapat membuat objek baru. Itulah sebabnya pendekatan awalan situs dan alias lebih disukai walau lebih rumit.
Koordinator 2PC juga merupakan titik kegagalan tunggal — bukan untuk seluruh sistem, tetapi untuk setiap transaksi global yang sedang berjalan. Lab 2PC/3PC menunjukkan persis kapan hal itu berubah menjadi blokir.
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.
Aturan otonomi lokal
Setiap situs menegakkan kendalanya sendiri: CHECK fragmen Bandung menolak pasien kota lain. terdistribusi galat disengaja: ORA-02290
INSERT INTO pasien@bandung (id_pasien, nama_pasien, jenis_kelamin, kota)
VALUES (40, 'Salah tempat', 'P', 'Surabaya');
Tidak bergantung pada situs pusat
Setiap fragmen tercatat di tablespace situsnya sendiri (TS_JAKARTA, TS_BANDUNG, TS_SURABAYA) — tidak ada katalog pusat yang wajib hidup. terdistribusi
\c surabaya
SELECT table_name, num_rows, tablespace_name FROM user_tables;
Jalankan sendiri
Sumber: Modul 1 (RPS pekan 8); C.J. Date, dua belas aturan basis data terdistribusi