Lewati ke isi
ORACLEDECK

Glosarium

102 istilah basis data terdistribusi

Setiap istilah ditulis ulang dalam bahasa Indonesia yang jelas, bukan disalin dari modul, lengkap dengan rincian cara kerjanya, contoh konkret, dan lab tempat konsep itu bisa dicoba. Di halaman materi, istilah yang bergaris titik-titik menampilkan catatan yang sama saat disorot atau difokus dengan keyboard.

ABCDEFGHKLMNOPRSTW

A

IstilahArti, rincian, dan contohTopik & lab
Agent
agent
Wakil sebuah subtransaksi di situs tempat datanya berada. Satu transaksi global melahirkan satu agent per situs yang harus diakses.
Agent menerima perintah dari manajer transaksi global, menjalankannya pada basis data lokal, lalu melaporkan hasil dan suaranya saat commit. Kegagalan satu agent cukup untuk membatalkan transaksi global.
Contoh: Transfer rekening Jakarta→Bandung melahirkan agent di situs Jakarta (debit) dan agent di situs Bandung (kredit).
9
Lab Simulator 2PC & 3PC
Alokasi
allocation
Keputusan menempatkan fragmen pada situs tertentu, termasuk berapa salinan yang dibuat. Masukannya empat kelompok informasi: basis data, aplikasi, situs, dan jaringan.
Alokasi optimal menyeimbangkan biaya simpan, biaya akses baca, biaya pembaruan (yang naik tiap salinan), dan ketersediaan. Alokasi non-redundan menaruh tiap fragmen di satu situs; redundan menaruh salinannya di beberapa situs.
Contoh: Fragmen pasien kota Bandung ditaruh di situs Bandung karena 80% aksesnya berasal dari sana.
5
Lab Alokasi & Replikasi
Aljabar relasional
relational algebra
Bahasa prosedural berisi operator σ (selection), π (projection), × (product), ⋈ (join), ∪, ∩, dan −. Kueri SQL diterjemahkan ke bentuk ini sebelum dioptimasi.
Setiap operator menerima relasi dan menghasilkan relasi, sehingga operator dapat disusun menjadi pohon. Pengoptimal kueri bekerja dengan menulis ulang pohon ini menjadi bentuk yang setara tetapi lebih murah.
Contoh: π nama (σ kota='Bandung' (PASIEN)) sama dengan SELECT nama FROM pasien WHERE kota = 'Bandung'.
14
Lab Dekomposisi Kueri
ANSI/SPARCKerangka tiga skema — eksternal, konseptual, internal — yang diadaptasi untuk basis data terdistribusi menjadi GES, GCS, dan GIS.
Pemisahan tiga skema melahirkan dua independensi: logis (skema konseptual berubah tanpa mengubah skema eksternal) dan fisik (penyimpanan berubah tanpa mengubah skema konseptual). Pada DDBS ditambah skema fragmentasi dan alokasi.
Contoh: View v_keuangan adalah skema eksternal; tabel pasien_dokter adalah skema konseptual; berkas data dan indeks adalah skema internal.
3
APPilihan pada teorema CAP yang mempertahankan ketersediaan saat partisi jaringan, dengan mengorbankan konsistensi sesaat.
Setiap situs tetap menerima baca-tulis saat jaringan terbelah, sehingga dua sisi bisa menyimpan nilai berbeda. Perbedaan itu harus didamaikan belakangan lewat rekonsiliasi.
Contoh: Keranjang belanja yang tetap bisa diisi walau pusat data terputus, lalu digabung setelah jaringan pulih.
13
Lab Ketersediaan & CAP
AtomicitySifat transaksi yang menjamin semua operasi berhasil atau tidak satu pun berlaku. Pada sistem terdistribusi ditegakkan oleh protokol komitmen atomik.
Pada sistem terdistribusi atomisitas tidak cukup dijaga log lokal; perlu protokol komitmen atomik seperti 2PC agar semua situs mengambil keputusan yang sama.
Contoh: DELETE di daftar@jakarta dan daftar@bandung lalu COMMIT: keduanya tersimpan atau keduanya batal.
9, 12
Lab Terminal SQL Live

B

IstilahArti, rincian, dan contohTopik & lab
Basis data terdistribusi
distributed database
Kumpulan data yang secara logis saling berhubungan dan digunakan bersama, tetapi secara fisik tersebar di beberapa situs pada jaringan komputer.
Ciri pembedanya: data tersebar di beberapa situs, situs terhubung jaringan, tetapi pengguna melihat satu basis data logis. Beda dengan pemrosesan terdistribusi yang datanya tetap terpusat.
Contoh: Tabel pasien global yang fisiknya tiga fragmen di Jakarta, Bandung, dan Surabaya.
1
Lab Terminal SQL Live
Basis data terpusat
centralized database
Basis data yang seluruh datanya disimpan dan dipelihara di satu lokasi fisik.
Sederhana dikelola dan konsisten secara alami, tetapi menjadi titik kegagalan tunggal dan menimbulkan latensi untuk pengguna yang jauh dari lokasinya.
Contoh: Semua cabang rumah sakit mengakses satu server di Jakarta.
1
BCNF
Boyce-Codd Normal Form
Bentuk normal yang menuntut setiap ruas kiri ketergantungan fungsional non-trivial merupakan superkey. Lebih ketat dari 3NF.
BCNF lebih ketat dari 3NF: setiap FD non-trivial X → Y mensyaratkan X superkey. Dekomposisi ke BCNF selalu lossless tetapi bisa kehilangan ketergantungan fungsional.
Contoh: R(mhs, matkul, dosen) dengan dosen → matkul melanggar BCNF karena dosen bukan superkey.
4
Lab Normalisasi 1NF–BCNF
Bloom filterStruktur data probabilistik berbasis bit untuk menguji keanggotaan. Tidak pernah menghasilkan negatif palsu, tetapi bisa positif palsu.
Setiap elemen di-hash k kali ke larik m bit. Uji keanggotaan bisa salah positif tetapi tidak pernah salah negatif; peluang salah positif ≈ (1 − e^(−kn/m))^k.
Contoh: Mengirim 1 kilobit penapis kunci pasien alih-alih ribuan id pasien ke situs lain.
14
Lab Join Terdistribusi
Bloom joinStrategi join terdistribusi yang mengirim penapis Bloom, bukan daftar nilai join. Jauh lebih ringkas daripada semijoin; positif palsunya tersaring saat join akhir.
Situs penerima menyaring barisnya dengan penapis, lalu mengirim balik hanya baris yang mungkin cocok. Salah positif disaring saat join akhir, jadi hasilnya tetap benar.
Contoh: Join pasien@jakarta dengan pasien_dokter@surabaya memakai penapis 256 bit.
14
Lab Join Terdistribusi
Bottom-upPendekatan perancangan yang berangkat dari basis data lokal yang sudah ada, lalu mengintegrasikannya menjadi skema global. Lazim pada sistem heterogen.
Dipakai saat basis data lokal sudah berjalan: skema lokal diintegrasikan menjadi skema global. Tantangan utamanya konflik nama, tipe, dan semantik antar skema.
Contoh: Menyatukan basis data desa Karanganyar (Oracle) dan Jatiluhur (MySQL) menjadi data kependudukan kabupaten.
4
Lab Studi Kasus Kependudukan

C

IstilahArti, rincian, dan contohTopik & lab
CAPilihan CAP yang mengorbankan toleransi partisi. Hanya masuk akal untuk sistem satu situs.
Pada jaringan luas partisi pasti terjadi, sehingga pilihan CA praktis berarti sistem berhenti melayani saat partisi. Karena itu CA hanya realistis untuk kluster dalam satu jaringan lokal.
Contoh: DBMS terpusat dengan replika sinkron dalam satu rak server.
13
Lab Ketersediaan & CAP
Candidate key
candidate key
Himpunan atribut minimal yang penutupannya mencakup seluruh atribut relasi. Satu relasi bisa punya lebih dari satu.
Dicari dengan penutupan atribut: X kandidat kunci bila X⁺ = semua atribut dan tidak ada subset sejati X yang juga begitu. Satu kandidat dipilih menjadi primary key.
Contoh: Pada nilai(nim, kode_kul, nilai), {nim, kode_kul} adalah candidate key.
4
Lab Normalisasi 1NF–BCNF
CAPTeorema yang menyatakan sistem terdistribusi hanya dapat menjamin dua dari tiga sifat: Consistency, Availability, dan Partition tolerance.
Konsistensi (semua node melihat data yang sama), ketersediaan (setiap permintaan dijawab), toleransi partisi (tetap berjalan saat jaringan terbelah). Saat partisi terjadi, pilihannya tinggal C atau A.
Contoh: Replika sinkron yang menolak tulisan saat salah satu situs terputus memilih CP.
13
Lab Ketersediaan & CAP
CascadelessSifat jadwal yang tidak pernah membaca data dari transaksi yang belum commit, sehingga pembatalan satu transaksi tidak merembet ke transaksi lain.
Dicapai dengan hanya membaca data yang sudah di-commit. Jadwal cascadeless otomatis recoverable, tetapi belum tentu strict.
Contoh: T2 menunggu T1 commit sebelum membaca x.
10
Lab Kendali Konkurensi
Cascading abortPembatalan berantai: satu transaksi dibatalkan, dan semua transaksi yang membaca datanya ikut harus dibatalkan.
Terjadi pada jadwal yang tidak cascadeless: transaksi yang sudah membaca nilai kotor ikut dibatalkan. Biayanya bisa merambat ke banyak transaksi.
Contoh: T1 menulis x, T2 membaca x, T1 abort → T2 wajib abort.
10
Lab Kendali Konkurensi
Client-serverArsitektur dua lapis: aplikasi di sisi klien, mesin basis data di sisi server. Mengurangi beban pemrosesan terpusat, tetapi skalabilitasnya terbatas.
Server menjalankan pemrosesan kueri dan transaksi; klien menangani antarmuka. Pada DDBS, server bisa lebih dari satu dan klien dapat terhubung ke beberapa server.
Contoh: SQL Developer di laptop (klien) terhubung ke Oracle XE (server).
3
CNF
conjunctive normal form
Bentuk normal konjungtif — konjungsi dari disjungsi, (a ∨ b) ∧ (c ∨ d). Bentuk baku langkah normalisasi dekomposisi kueri.
Bentuk baku kualifikasi kueri sebelum analisis: tiap klausa disjungsi dapat dievaluasi terpisah, memudahkan pendorongan seleksi dan deteksi kontradiksi.
Contoh: (kota = 'Jakarta' OR kota = 'Bandung') AND biaya > 200000.
14
Lab Dekomposisi Kueri
Commit point strengthParameter Oracle yang menentukan situs mana yang menjadi commit point pada transaksi terdistribusi. Situs dengan nilai tertinggi yang dipilih.
Situs dengan nilai tertinggi menjadi commit point site: ia yang terakhir diminta commit dan tidak pernah masuk keadaan prepared, sehingga transaksi paling kecil kemungkinannya menggantung di situs itu.
Contoh: COMMIT_POINT_STRENGTH server pusat diset lebih tinggi dari situs cabang.
12
CPPilihan CAP yang mempertahankan konsistensi saat partisi jaringan, dengan mengorbankan ketersediaan di sisi minoritas.
Sisi minoritas partisi menolak operasi agar tidak ada dua versi data. Sistem berbasis kuorum dan 2PC termasuk golongan ini.
Contoh: Transaksi ragu-ragu 2PC menahan kunci daripada menebak keputusan.
13
Lab Ketersediaan & CAP

D

IstilahArti, rincian, dan contohTopik & lab
DBA_2PC_PENDINGTampilan kamus data Oracle yang memuat transaksi terdistribusi yang menggantung. STATE bernilai prepared berarti situs itu terblokir.
Kolom STATE bernilai prepared berarti peserta menunggu keputusan. DBA dapat memaksa keputusan dengan COMMIT FORCE atau ROLLBACK FORCE memakai LOCAL_TRAN_ID.
Contoh: SELECT local_tran_id, state FROM dba_2pc_pending; lalu COMMIT FORCE '1.19.457'.
12
Lab Terminal SQL Live
DDBMS
distributed DBMS
Perangkat lunak yang mengelola basis data terdistribusi dan membuat pendistribusian data terlihat transparan bagi pengguna.
Tugasnya: memetakan kueri global ke fragmen, mengoptimasi kueri terdistribusi, mengoordinasikan transaksi lintas situs, dan menyediakan transparansi.
Contoh: Oracle dengan database link dan partisi adalah DDBMS homogen.
1
DeadlockKeadaan saat sekumpulan transaksi saling menunggu sumber daya yang dipegang anggota lain, sehingga tidak satu pun dapat maju.
Syarat Coffman: mutual exclusion, hold and wait, no preemption, circular wait. Pada sistem terdistribusi siklusnya bisa melintasi situs sehingga tidak terlihat oleh satu situs saja.
Contoh: T1 memegang kunci di S1 dan menunggu S2; T2 memegang kunci di S2 dan menunggu S1.
11
Lab Manajemen Deadlock
Deadlock semu
phantom deadlock
Siklus palsu pada wait-for graph global yang muncul karena WFG tiap situs tidak diambil pada saat yang benar-benar sama.
Disebabkan keterlambatan pesan: sisi yang sudah hilang masih tercatat di WFG global. Akibatnya transaksi yang tidak bersalah dibatalkan.
Contoh: T1 sudah melepas kunci, tetapi pesan pelepasan belum sampai ke pendeteksi pusat.
11
Lab Manajemen Deadlock
Dekomposisi kueri
query decomposition
Fase pertama pemrosesan kueri: mengubah kueri kalkulus relasional menjadi kueri aljabar relasional lewat normalisasi, analisis, eliminasi redundansi, dan penulisan ulang.
Empat langkah: normalisasi (CNF/DNF), analisis (tipe dan semantik), eliminasi redundansi, dan penulisan ulang menjadi pohon aljabar relasional.
Contoh: SELECT … WHERE kota='A' AND kota='B' ditolak karena selalu salah.
14
Lab Dekomposisi Kueri
Dirty readMembaca nilai yang ditulis transaksi lain yang belum commit. Nilai itu bisa dibatalkan sesudahnya.
Dicegah dengan tingkat isolasi READ COMMITTED atau lebih tinggi. Oracle tidak pernah mengizinkan dirty read karena pembaca selalu melihat versi yang sudah commit.
Contoh: T2 membaca saldo yang baru ditulis T1, lalu T1 rollback.
10
Lab Kendali Konkurensi
DNF
disjunctive normal form
Bentuk normal disjungtif — disjungsi dari konjungsi, (a ∧ b) ∨ (c ∧ d). Dipakai untuk menurunkan predikat minterm pada fragmentasi.
Setiap term konjungsi dapat dijalankan sebagai subkueri terpisah lalu digabung dengan UNION. DNF juga dipakai menurunkan predikat minterm fragmentasi.
Contoh: (kota = 'Jakarta' AND biaya > 2) OR (kota = 'Bandung' AND biaya > 2).
14
Lab Dekomposisi Kueri
DQP
distributed query processor
Komponen yang memetakan permintaan data menjadi urutan operasi pada basis data lokal, sambil memutuskan fragmen, salinan, dan situs mana yang dipakai.
Distributed Query Processor memecah kueri global menjadi subkueri per situs, memilih strategi join, dan menggabungkan hasil.
Contoh: Kueri pasien global dipecah menjadi tiga subkueri ke Jakarta, Bandung, Surabaya.
6
Lab Lokalisasi Data
DRDAArsitektur basis data relasional terdistribusi IBM yang mengklasifikasikan transaksi menjadi empat tingkat, dari Remote Request sampai Distributed Request.
Membagi peran menjadi application requester, application server, dan database server, serta mendefinisikan empat tipe transaksi dari remote request sampai distributed request.
Contoh: Satu SQL yang membaca DB2 di dua mainframe sekaligus adalah distributed request.
6
Lab Tangga Transparansi

E

IstilahArti, rincian, dan contohTopik & lab
Edge chasingMetode deteksi deadlock terdistribusi yang mengirim probe (i, j, k) mengikuti sisi tunggu. Deadlock dinyatakan bila probe kembali ke inisiatornya.
Probe diteruskan sepanjang sisi tunggu; bila probe kembali ke pengirimnya, siklus ditemukan. Tidak perlu graf global sehingga cocok untuk sistem tanpa pusat.
Contoh: Probe (T1, T1, T2) dari S1 diteruskan ke S2 dan kembali ke T1.
11
Lab Manajemen Deadlock
Eliminasi redundansiLangkah ketiga dekomposisi kueri: menyederhanakan kualifikasi memakai hukum idempoten seperti p ∧ p ≡ p dan p ∧ (p ∨ q) ≡ p.
Memakai aturan idempoten seperti p ∧ p = p, p ∨ ¬p = true, dan p ∧ ¬p = false. Kueri yang kualifikasinya menjadi false dapat dijawab kosong tanpa menyentuh data.
Contoh: kota = 'A' AND kota = 'A' disederhanakan menjadi kota = 'A'.
14
Lab Dekomposisi Kueri
ERD
entity relationship diagram
Diagram konseptual berisi entitas, atribut, kunci, dan relasi beserta kardinalitasnya. Titik awal perancangan basis data.
Dipakai pada tahap perancangan konseptual sebelum dipetakan ke skema relasional. Kardinalitas 1:N diwujudkan sebagai kunci asing di sisi N; N:M menjadi tabel penghubung.
Contoh: CUSTOMER 1:N RENTAL N:1 MOBIL pada kasus Tono Rental.
4
Lab Perancang ERD

F

IstilahArti, rincian, dan contohTopik & lab
Fragmentasi
fragmentation
Pemecahan relasi menjadi bagian-bagian lebih kecil yang dapat ditempatkan di situs berbeda.
Tujuannya menaruh data dekat penggunanya, mengurangi data yang dikirim, dan memungkinkan pemrosesan paralel. Wajib memenuhi kelengkapan, rekonstruksi, dan kedisjoinan.
Contoh: Tabel pasien dipecah per kota menjadi pasien@jakarta, pasien@bandung, pasien@surabaya.
5
Lab Perancang Fragmentasi
Fragmentasi campuran
hybrid fragmentation
Fragmentasi vertikal yang dilanjutkan horizontal, atau sebaliknya. Contoh S1/S21/S22/S23 pada Modul 6.
Rekonstruksinya memakai kombinasi UNION dan JOIN sesuai urutan pemecahan. Audit kebenarannya dilakukan per tingkat hierarki.
Contoh: STAFF dipecah vertikal (S1 gaji, S2 profil), lalu S2 dipecah horizontal per cabang.
5
Lab Perancang Fragmentasi
Fragmentasi horizontalPemecahan relasi berdasarkan baris memakai operator selection. Gabungan seluruh fragmennya harus sama dengan relasi asal.
Predikat fragmen diturunkan dari predikat minterm yang lengkap dan minimal. Rekonstruksi memakai UNION; kedisjoinan dijaga dengan predikat yang saling eksklusif.
Contoh: σ kota='Bandung'(PASIEN) — di Oracle diwujudkan PARTITION BY LIST (kota).
5
Lab Perancang Fragmentasi
Fragmentasi turunan
derived fragmentation
Fragmentasi relasi anak yang mengikuti fragmentasi relasi induk lewat semijoin, agar join antar keduanya tetap lokal.
Fragmen anak dibentuk dengan semijoin terhadap fragmen induk sehingga baris anak selalu berada di situs yang sama dengan induknya — join lokal menjadi murah.
Contoh: pasien_dokter@bandung = PASIEN_DOKTER ⋉ pasien@bandung; di Oracle: PARTITION BY REFERENCE.
5
Lab Perancang Fragmentasi
Fragmentasi vertikalPemecahan relasi berdasarkan kolom memakai operator projection. Setiap fragmen wajib memuat kunci agar rekonstruksinya lossless.
Pengelompokan kolom dipandu matriks afinitas atribut. Kunci primer diulang di setiap fragmen agar rekonstruksi dengan JOIN tetap lossless.
Contoh: pasien_v1(id_pasien, nama, kota) dan pasien_v2(id_pasien, penyakit, no_hp).
5
Lab Perancang Fragmentasi

G

IstilahArti, rincian, dan contohTopik & lab
GatewayPerangkat penerjemah bahasa dan model data antar DBMS berbeda. Keterbatasannya: tidak mendukung manajemen transaksi, hanya penerjemahan kueri.
Gateway menerjemahkan SQL dan tipe data, tetapi umumnya tidak ikut protokol komitmen. Oracle DG4ODBC misalnya tidak bisa menjadi peserta 2PC penuh.
Contoh: Oracle membaca tabel MySQL lewat DG4ODBC; perubahan di sisi MySQL langsung di-commit.
1
Lab Studi Kasus Kependudukan
GCS
global conceptual schema
Skema konseptual global — penghubung antara gambaran pengguna dan gambaran terdistribusi sistem. Fondasi seluruh transparansi distribusi.
Global Conceptual Schema mendefinisikan relasi global tanpa menyebut lokasi. Di bawahnya ada skema fragmentasi dan skema alokasi.
Contoh: Relasi PASIEN pada GCS, walau fisiknya tiga fragmen.
3
Graf presedensi
precedence graph
Graf berarah dengan simpul transaksi dan sisi Ti → Tj bila operasi Ti mendahului operasi Tj yang berkonflik. Jadwal serializable bila grafnya asiklik.
Jadwal konflik-serializable jika dan hanya jika graf presedensinya asiklik. Urutan topologis graf memberi urutan serial yang setara.
Contoh: r1[x] w2[x] w1[x] menghasilkan T1→T2 dan T2→T1: siklus, tidak serializable.
10
Lab Kendali Konkurensi
Graf kueri
query graph
Graf dengan simpul relasi dan sisi predikat join. Graf yang tidak terhubung menandakan kueri salah semantik — hasilnya perkalian kartesian.
Dipakai pada analisis semantik. Relasi yang tidak terhubung predikat join menghasilkan perkalian kartesian yang hampir selalu merupakan kesalahan penulisan kueri.
Contoh: FROM pasien p, dokter d tanpa syarat join: graf tidak terhubung.
14
Lab Dekomposisi Kueri

H

IstilahArti, rincian, dan contohTopik & lab
HeterogenSistem terdistribusi yang situs-situsnya memakai produk DBMS, bahkan model data, yang berbeda-beda.
Membutuhkan gateway atau middleware untuk menerjemahkan dialek SQL, tipe data, dan protokol transaksi. Koordinasi commit atomik jauh lebih sulit dibanding sistem homogen.
Contoh: Oracle XE di satu desa dan MySQL di desa lain pada studi kasus kependudukan.
1
Lab Studi Kasus Kependudukan
HomogenSistem terdistribusi yang seluruh situsnya memakai produk DBMS yang sama. Lebih mudah dirancang dan dikelola.
Setiap situs memahami protokol yang sama sehingga kueri dan two-phase commit lintas situs dapat dikoordinasikan langsung oleh DBMS.
Contoh: Tiga instans Oracle yang saling terhubung database link.
1

K

IstilahArti, rincian, dan contohTopik & lab
Kalkulus relasionalBahasa deklaratif yang menyatakan apa yang diinginkan tanpa menyebut caranya. SQL adalah kalkulus relasional tupel.
SQL berakar pada kalkulus relasional tuple. Pemrosesan kueri menerjemahkannya ke aljabar relasional agar bisa dioptimasi dan dieksekusi.
Contoh: { t | t ∈ PASIEN ∧ t.kota = 'Bandung' }.
14
Kedisjoinan
disjointness
Aturan kebenaran fragmentasi: fragmen horizontal tidak boleh tumpang tindih, dan pada fragmen vertikal hanya atribut kunci yang boleh berulang.
Untuk fragmen vertikal aturan ini dilonggarkan: kunci primer boleh (dan harus) muncul di setiap fragmen.
Contoh: SELECT id FROM pasien@jakarta INTERSECT SELECT id FROM pasien@bandung harus kosong.
5
Lab Perancang Fragmentasi
Kelengkapan
completeness
Aturan kebenaran fragmentasi: setiap item data pada relasi asal harus ada di minimal satu fragmen.
Dijamin bila predikat minterm menutup seluruh domain; partisi DEFAULT pada Oracle adalah jaring pengaman untuk nilai yang tidak terduga.
Contoh: Pasien kota Depok hilang bila fragmen hanya untuk Jakarta, Bandung, dan Surabaya.
5
Lab Perancang Fragmentasi
Kuorum
quorum
Jumlah minimum salinan yang harus setuju agar operasi sah. Konsistensi kuat dijamin bila kuorum baca + kuorum tulis lebih besar dari jumlah salinan.
Dengan N salinan, kuorum baca R dan tulis W konsisten bila R + W > N dan 2W > N. Makin besar W, makin mahal tulisan tetapi makin murah baca yang konsisten.
Contoh: N=3, W=2, R=2: satu situs boleh mati tanpa menghentikan baca maupun tulis.
13
Lab Ketersediaan & CAP

L

IstilahArti, rincian, dan contohTopik & lab
Lokalisasi data
data localization
Lapisan pemrosesan kueri yang menerjemahkan kueri atas relasi global menjadi kueri atas fragmen fisik, lalu mereduksinya.
Setiap relasi global diganti program lokalisasinya (UNION fragmen horizontal, JOIN fragmen vertikal), lalu direduksi dengan membuang fragmen yang tidak mungkin berkontribusi.
Contoh: PASIEN diganti pasien@jakarta ∪ pasien@bandung ∪ pasien@surabaya.
14
Lab Lokalisasi Data
Lossless-joinSifat dekomposisi yang menjamin relasi asal dapat dibentuk kembali secara utuh lewat join, tanpa baris palsu maupun baris hilang.
Dekomposisi R menjadi R1 dan R2 lossless bila R1 ∩ R2 → R1 atau R1 ∩ R2 → R2. Uji umum memakai algoritma chase.
Contoh: Memecah pasien menjadi (id, nama) dan (id, kota) lossless karena id adalah kunci.
4, 5
Lab Normalisasi 1NF–BCNF
Lost updatePembaruan satu transaksi tertimpa transaksi lain sehingga hilang tanpa jejak. Gejala klasik jadwal yang tidak serializable.
Dicegah dengan penguncian tulis sampai commit (2PL ketat) atau pemeriksaan versi. Tanpa kendali konkurensi, nilai akhir bergantung pada siapa yang menulis terakhir.
Contoh: r1[x] r2[x] w1[x] w2[x]: tulisan T1 tertimpa T2.
10
Lab Kendali Konkurensi

M

IstilahArti, rincian, dan contohTopik & lab
Materialized viewObjek Oracle yang menyimpan hasil kueri secara fisik dan disegarkan berkala. Mekanisme replikasi utama pada Oracle.
Refresh FAST memakai materialized view log untuk mengirim perubahan saja; ON COMMIT memberi replikasi sinkron, ON DEMAND asinkron.
Contoh: MV_DOKTER di situs cabang disegarkan tiap jam dari tabel dokter pusat.
5
Lab Generator DDL Oracle
Minimal coverHimpunan ketergantungan fungsional terkecil yang setara dengan himpunan aslinya. Dasar algoritma sintesis 3NF.
Dihitung dengan memecah ruas kanan menjadi atribut tunggal, membuang atribut berlebih di ruas kiri, lalu membuang FD yang dapat diturunkan dari sisanya. Dasar sintesis 3NF.
Contoh: {A→BC, B→C, A→B} menjadi {A→B, B→C}.
4
Lab Normalisasi 1NF–BCNF
MintermKonjungsi predikat sederhana beserta negasinya, dipakai untuk menurunkan fragmen horizontal yang pasti disjoint dan lengkap.
Dari n predikat sederhana ada hingga 2ⁿ minterm; yang kontradiktif dibuang. Setiap minterm yang tersisa menjadi satu fragmen horizontal.
Contoh: kota='Jakarta' ∧ biaya>300000 dan kota='Jakarta' ∧ ¬(biaya>300000).
5
Lab Perancang Fragmentasi
Mixed outcomeKeadaan saat sebagian situs commit dan sebagian rollback pada satu transaksi global. Terjadi bila COMMIT FORCE dipakai dengan keputusan yang salah.
Pelanggaran atomisitas global. Terjadi bila peserta memutuskan sendiri (heuristic decision) atau ada peserta autocommit seperti gateway, dan harus diperbaiki manual.
Contoh: MySQL lewat gateway sudah commit, sementara Oracle rollback.
12
Lab Simulator 2PC & 3PC
MTBF
mean time between failures
Rata-rata waktu antara dua kegagalan. Bersama MTTR menentukan ketersediaan situs.
Ketersediaan A = MTBF / (MTBF + MTTR). Menaikkan MTBF berarti komponen lebih jarang gagal.
Contoh: MTBF 1000 jam dan MTTR 2 jam memberi ketersediaan 99,8%.
13
Lab Ketersediaan & CAP
MTTR
mean time to repair
Rata-rata waktu perbaikan setelah kegagalan. Semakin kecil, semakin tinggi ketersediaan.
Sering lebih murah diturunkan daripada menaikkan MTBF: failover otomatis dan prosedur pemulihan yang teruji memotong MTTR.
Contoh: Replika siaga menurunkan MTTR dari 4 jam menjadi 5 menit.
13
Lab Ketersediaan & CAP

N

IstilahArti, rincian, dan contohTopik & lab
N-tierArsitektur dengan tiga lapis atau lebih, masing-masing dapat berjalan di platform berbeda dan diperbarui secara independen.
Memisahkan presentasi, logika bisnis, dan data memudahkan skala per lapis. Pada DDBS, lapisan data sendiri dapat tersebar di banyak situs.
Contoh: Peramban → server aplikasi → server basis data per region.
3
NormalisasiProses menata relasi agar bebas dari redundansi dan anomali, bertahap dari 1NF sampai BCNF.
1NF (atribut atomik), 2NF (tanpa ketergantungan parsial), 3NF (tanpa ketergantungan transitif), BCNF (setiap determinan superkey). Skema ternormalisasi adalah titik awal fragmentasi yang benar.
Contoh: Memecah pasien_dokter yang menyimpan nama dokter berulang menjadi tabel dokter terpisah.
4
Lab Normalisasi 1NF–BCNF

O

IstilahArti, rincian, dan contohTopik & lab
Otonomi lokalPrinsip bahwa setiap situs mengelola datanya sendiri dan operasinya tidak bergantung pada situs lain.
Situs tetap bisa berjalan saat situs lain mati, menegakkan kendalanya sendiri, dan tidak butuh izin pusat untuk operasi lokal. Aturan pertama dari dua belas aturan Date.
Contoh: CHECK kota = 'Bandung' pada pasien@bandung ditegakkan situs Bandung sendiri.
8
Lab Terminal SQL Live

P

IstilahArti, rincian, dan contohTopik & lab
PACELCPerluasan CAP: bila ada Partisi pilih A atau C; Else (jaringan sehat) pilih L (latensi) atau C (konsistensi).
Menjelaskan bahwa walau tanpa partisi, sistem tetap memilih antara latensi rendah dan konsistensi kuat.
Contoh: Replikasi asinkron adalah pilihan EL: cepat tetapi replika bisa tertinggal.
13
Lab Ketersediaan & CAP
Partisi jaringan
network partition
Kegagalan yang membelah jaringan menjadi kelompok-kelompok yang saling tidak terlihat, padahal situs di dalamnya masih hidup.
Setiap kelompok mengira kelompok lain mati. Protokol yang aman memastikan hanya kelompok berkuorum yang boleh melanjutkan tulisan.
Contoh: Jalur Jakarta–Surabaya putus sementara Jakarta–Bandung tetap hidup.
12, 13
Lab Simulator 2PC & 3PC
Partition pruningKemampuan Oracle membuang partisi yang tidak mungkin memuat hasil. Wujud nyata reduksi lokalisasi, terbaca pada kolom PSTART/PSTOP.
Terlihat pada rencana eksekusi lewat kolom PSTART/PSTOP. Wujud fisik dari reduksi lokalisasi pada Oracle.
Contoh: WHERE kota = 'Bandung' hanya membaca partisi P_BANDUNG.
14
Lab Generator DDL Oracle
Path pushingMetode deteksi deadlock terdistribusi yang mendorong jalur tunggu berisi transaksi luar ke situs berikutnya sampai siklus ditemukan.
Setiap situs mengirim jalur tunggu lokalnya ke situs berikutnya; situs penerima menggabungkan dan mencari siklus. Rentan deadlock semu bila jalur basi.
Contoh: S1 mengirim jalur T1→T2 ke S2 yang mengetahui T2→T1.
11
Lab Manajemen Deadlock
Pemrosesan terdistribusiMengakses basis data tersentralisasi dari komputer jauh lewat jaringan. Berbeda dari basis data terdistribusi — datanya tetap satu tempat.
Yang tersebar adalah pemrosesannya, bukan datanya. Karena itu tidak ada fragmentasi maupun replikasi.
Contoh: Aplikasi cabang di Surabaya mengakses satu basis data pusat di Jakarta.
1
Pohon operator
operator tree
Representasi grafis kueri aljabar relasional: daun berisi relasi tersimpan, simpul non-daun berisi operator, akar berisi jawaban.
Pengoptimal mendorong seleksi dan proyeksi sedekat mungkin ke daun agar data yang mengalir ke join dan melewati jaringan sekecil mungkin.
Contoh: π nama (⋈ (σ kota='Bandung' PASIEN, PASIEN_DOKTER)).
14
Lab Dekomposisi Kueri
PRE-COMMITKeadaan tambahan pada 3PC yang hanya bertetangga dengan COMMIT. Kehadirannya membuat peserta selalu bisa memutuskan sendiri saat koordinator jatuh.
Karena tidak ada keadaan yang bertetangga dengan COMMIT dan ABORT sekaligus, peserta 3PC selalu bisa menentukan keputusan tanpa koordinator — asal tidak terjadi partisi jaringan.
Contoh: Peserta yang sudah PRE-COMMIT dapat commit sendiri saat koordinator jatuh.
13
Lab Simulator 2PC & 3PC
PrintnameNama objek yang dipakai pengguna pada sistem R*, dibedakan dari system-wide name yang merupakan identifier internal permanen.
Printname boleh sama di situs berbeda; keunikannya dijaga system-wide name yang memuat pengguna, situs pembuat, dan situs tempat objek lahir.
Contoh: Pengguna menulis STAFF, sistem menerjemahkan ke Manager@London.localbranch@glasgow.
6
Lab Tangga Transparansi
Program lokalisasiEkspresi aljabar yang membentuk kembali relasi global dari fragmennya: UNION untuk horizontal, JOIN untuk vertikal.
Untuk fragmentasi horizontal berbentuk UNION, vertikal berbentuk JOIN pada kunci, campuran berbentuk kombinasi keduanya.
Contoh: STAFF = S1 ⋈ (S21 ∪ S22 ∪ S23).
14
Lab Lokalisasi Data

R

IstilahArti, rincian, dan contohTopik & lab
READYKeadaan peserta 2PC setelah menulis catatan ready dan mengirim suara. Sejak saat itu ia menyerahkan hak memutuskan kepada koordinator.
Setelah READY, peserta kehilangan hak memutuskan sendiri. Bila koordinator jatuh, ia harus menunggu — inilah sumber sifat memblokir 2PC.
Contoh: Baris di dba_2pc_pending dengan STATE = prepared.
12
Lab Simulator 2PC & 3PC
RecoverableSifat jadwal yang menjamin setiap transaksi commit setelah transaksi yang datanya ia baca ikut commit.
Jika T2 membaca data tulisan T1, T2 hanya boleh commit setelah T1 commit. Tanpa sifat ini, commit yang sudah terjadi bisa bersandar pada data yang kemudian dibatalkan.
Contoh: w1[x] r2[x] c1 c2 recoverable; w1[x] r2[x] c2 c1 tidak.
10
Lab Kendali Konkurensi
Reduksi
reduction
Penyederhanaan kueri hasil lokalisasi dengan membuang fragmen yang predikatnya bertentangan dengan predikat kueri.
Fragmen horizontal dibuang bila predikatnya bertentangan dengan kualifikasi kueri; fragmen vertikal dibuang bila tidak memuat kolom yang dibutuhkan.
Contoh: WHERE kota = 'Bandung' membuang pasien@jakarta dan pasien@surabaya.
14
Lab Lokalisasi Data
Reference partitioningFitur Oracle yang membuat tabel anak mewarisi skema partisi induknya lewat foreign key. Wujud Oracle dari fragmentasi turunan.
Tabel anak tidak perlu kolom partisi sendiri; partisinya ditentukan kunci asing ke induk. Wujud Oracle dari fragmentasi horizontal turunan.
Contoh: PASIEN_DOKTER PARTITION BY REFERENCE (FK_PD_PASIEN).
5
Lab Generator DDL Oracle
Rekonstruksi
reconstruction
Aturan kebenaran fragmentasi: harus ada operator relasional yang mengembalikan relasi asal dari fragmen-fragmennya.
Operatornya UNION untuk horizontal dan JOIN untuk vertikal. Tanpa rekonstruksi, relasi global tidak bisa dijawab dari fragmen.
Contoh: PASIEN = pasien@jakarta ∪ pasien@bandung ∪ pasien@surabaya.
5
Lab Perancang Fragmentasi
Replikasi
replication
Menyimpan lebih dari satu salinan fragmen di situs berbeda. Menaikkan ketersediaan baca, menaikkan biaya tulis.
Replikasi sinkron menjaga semua salinan sama tetapi memperlambat tulisan; asinkron cepat tetapi salinan bisa tertinggal. Pilihan ini terkait langsung dengan CAP dan PACELC.
Contoh: Tabel dokter direplikasi ke tiga situs karena sering dibaca dan jarang diubah.
5
Lab Alokasi & Replikasi
RPO
recovery point objective
Jumlah data yang boleh hilang saat bencana, diukur sebagai rentang waktu. Replikasi sinkron memberi RPO nol.
RPO 0 membutuhkan replikasi sinkron; RPO 15 menit cukup dengan pengiriman log berkala.
Contoh: Cadangan harian berarti RPO sampai 24 jam.
13
Lab Ketersediaan & CAP
RTO
recovery time objective
Lama waktu yang dibolehkan sampai layanan pulih setelah kegagalan.
Ditentukan oleh deteksi kegagalan, failover, dan pemulihan aplikasi. Harus ditetapkan bersama pemilik layanan, bukan hanya tim teknis.
Contoh: Layanan pendaftaran pasien wajib pulih dalam 30 menit.
13
Lab Ketersediaan & CAP

S

IstilahArti, rincian, dan contohTopik & lab
SemijoinOperator R ⋉ S yang menghasilkan baris R yang punya pasangan di S. Inti strategi join terdistribusi hemat jaringan.
Dalam join terdistribusi, hanya kolom join R yang dikirim ke situs S; S mengirim balik baris yang cocok. Menguntungkan bila selektivitas join tinggi.
Contoh: Kirim daftar id_pasien Bandung ke Surabaya, ambil hanya pemeriksaan milik pasien itu.
14
Lab Join Terdistribusi
SerializableSifat jadwal konkuren yang hasilnya setara dengan suatu urutan serial transaksi yang sama.
Konflik-serializability diuji dengan graf presedensi; 2PL menjaminnya. Serializable adalah tingkat isolasi tertinggi pada standar SQL.
Contoh: Jadwal r1[x] w1[x] r2[x] w2[x] setara dengan T1 lalu T2.
10
Lab Kendali Konkurensi
Sinonim
synonym
Alias objek basis data pada Oracle. Sarana utama mewujudkan transparansi lokasi: pindah situs cukup mengubah sinonimnya.
Aplikasi memakai nama sinonim; saat fragmen dipindah situs, cukup sinonimnya yang diubah untuk menunjuk database link baru.
Contoh: CREATE SYNONYM pasien_bdg FOR pasien@bandung;
6
Lab Generator DDL Oracle
Situs
site, node
Satu komputer pada sistem terdistribusi yang menjalankan DBMS dan menyimpan sebagian basis data.
Situs punya DBMS lokal, penyimpanan, dan otonomi. Komunikasi antarsitus lewat jaringan menjadi komponen biaya utama pemrosesan kueri terdistribusi.
Contoh: Situs Bandung menyimpan fragmen pasien@bandung dan dokter@bandung.
3
Lab Terminal SQL Live
Stand-aloneArsitektur dengan DBMS, basis data, dan aplikasi pada satu komputer yang dipakai satu pengguna.
Tidak ada komunikasi jaringan maupun pembagian data. Cocok untuk aplikasi satu pengguna, tidak untuk organisasi dengan banyak lokasi.
Contoh: Microsoft Access dengan berkas basis data di satu laptop.
3
StrictSifat jadwal yang tidak membaca maupun menimpa data yang penulisnya belum commit. Lebih ketat dari cascadeless.
Dicapai 2PL ketat: kunci tulis dipegang sampai commit atau abort. Jadwal strict memungkinkan pemulihan sederhana dengan before-image.
Contoh: T2 baru boleh membaca atau menulis x setelah T1 commit.
10
Lab Kendali Konkurensi
SubtransaksiBagian transaksi global yang dijalankan pada satu situs. Diwakili oleh sebuah agent.
Setiap subtransaksi menulis log di situsnya sendiri dan berperan sebagai peserta dalam protokol komitmen.
Contoh: DELETE FROM daftar@bandung dalam transaksi yang juga mengubah daftar@jakarta.
9
Lab Terminal SQL Live
System-wide nameIdentifier internal objek pada sistem R* yang dijamin tidak pernah berubah, terdiri dari Creator ID, Creator site ID, Local name, dan Birth-site ID.
Format R*: user@user_site.object_name@birth_site. Objek tetap dikenali walau dipindah ke situs lain.
Contoh: Manager@London.localbranch@glasgow.
6
Lab Tangga Transparansi

T

IstilahArti, rincian, dan contohTopik & lab
Thomas write ruleAturan pada timestamp ordering yang mengabaikan tulisan usang tanpa melakukan rollback, karena hasilnya pasti tertimpa.
Bila TS(T) < WTS(x), tulisan T sudah usang karena ditimpa transaksi lebih muda, sehingga boleh diabaikan alih-alih membatalkan T. Menghasilkan jadwal view-serializable.
Contoh: T1 (ts=5) menulis x setelah T2 (ts=8) menulis x: tulisan T1 diabaikan.
10
Lab Kendali Konkurensi
Timestamp orderingProtokol kendali konkurensi yang mengurutkan operasi menurut cap waktu transaksi. Tidak pernah menunggu sehingga bebas deadlock.
Setiap item menyimpan RTS dan WTS. Operasi yang datang terlambat menurut cap waktunya ditolak dan transaksinya diulang dengan cap waktu baru. Bebas deadlock.
Contoh: T1 (ts=5) ingin membaca x dengan WTS(x)=8: T1 dibatalkan.
10
Lab Kendali Konkurensi
Top-downPendekatan perancangan dari skema konseptual global menuju fragmentasi, alokasi, lalu skema lokal. Lazim pada sistem homogen baru.
Urutannya: analisis kebutuhan, desain konseptual, skema global, fragmentasi, alokasi, lalu desain fisik per situs. Cocok untuk sistem yang dibangun dari nol.
Contoh: Merancang basis data rumah sakit tiga kota sebelum satu tabel pun dibuat.
4
Lab Perancang Fragmentasi
Transaksi globalTransaksi yang mengakses data pada lebih dari satu situs.
Membutuhkan manajer transaksi global, agent per situs, dan protokol komitmen atomik.
Contoh: Satu COMMIT atas perubahan di daftar@jakarta dan daftar@bandung.
3
Lab Terminal SQL Live
Transaksi lokalTransaksi yang hanya mengakses data pada situs tempat ia dijalankan.
Cukup ditangani manajer transaksi situs itu dengan commit satu fase; tidak ada koordinasi lintas situs.
Contoh: DELETE FROM daftar@bandung lalu COMMIT dari situs Bandung.
3
Lab Terminal SQL Live
Transparansi
transparency
Penyembunyian rincian implementasi dari pengguna, sehingga basis data terdistribusi terasa seperti basis data tunggal.
Jenisnya: transparansi distribusi (fragmentasi, lokasi, replikasi), transaksi, kinerja, dan DBMS. Makin tinggi transparansi, makin sederhana aplikasi tetapi makin banyak kerja DDBMS.
Contoh: Menulis SELECT * FROM pasien tanpa peduli di situs mana datanya.
6
Lab Tangga Transparansi
Transparansi fragmentasiTingkat transparansi tertinggi: pengguna tidak perlu tahu data dipecah maupun di mana fragmennya disimpan.
Kueri ditulis terhadap relasi global; DDBMS yang melakukan lokalisasi, reduksi, dan pengiriman subkueri.
Contoh: SELECT nama_pasien FROM pasien WHERE kota = 'Bandung'.
6
Lab Tangga Transparansi
Transparansi lokasiPengguna tahu data difragmentasi dan menyebut nama fragmen, tetapi tidak perlu tahu lokasi penyimpanannya.
Nama fragmen disebut, tetapi situsnya tidak. Sinonim dan view di Oracle menyediakan tingkat ini.
Contoh: SELECT * FROM pasien_bdg — sinonim ke pasien@bandung.
6
Lab Tangga Transparansi
Transparansi pemetaan lokalTingkat transparansi terendah: pengguna wajib menyebut nama fragmen sekaligus situs penyimpanannya.
Pengguna harus menulis nama fragmen sekaligus situsnya, sehingga aplikasi berubah setiap kali data dipindah.
Contoh: SELECT * FROM pasien@bandung.
6
Lab Tangga Transparansi
Transparansi replikasiPengguna tidak tahu ada berapa salinan data maupun salinan mana yang dipakai sistem.
DDBMS memilih salinan terdekat untuk dibaca dan memperbarui semua salinan saat menulis.
Contoh: Membaca tabel dokter dari replika lokal tanpa menyebut situs.
6
Lab Tangga Transparansi
Two-phase commit
2PC
Protokol komitmen atomik dua fase: voting lalu keputusan. Sederhana, tetapi memblokir bila koordinator jatuh setelah peserta masuk READY.
Fase 1: koordinator mengirim PREPARE, peserta memilih COMMIT atau ABORT. Fase 2: koordinator mengirim keputusan global. Memblokir bila koordinator jatuh setelah peserta READY.
Contoh: Ubah data di dua situs lalu COMMIT di Terminal SQL — jejak PREPARE dan VOTE ditampilkan.
12
Lab Simulator 2PC & 3PC
Two-phase locking
2PL
Protokol kendali konkurensi dengan fase tumbuh dan fase menyusut. Menjamin keterserialan, tetapi membuka pintu deadlock.
Fase tumbuh hanya mengambil kunci, fase menyusut hanya melepas. Menjamin konflik-serializable, tetapi tidak mencegah deadlock.
Contoh: T1 mengunci x dan y, baru kemudian melepas keduanya.
10
Lab Kendali Konkurensi
Three-phase commit
3PC
Protokol komitmen tiga fase yang menyisipkan keadaan PRE-COMMIT sehingga tidak memblokir saat koordinator jatuh.
Menambah fase PRE-COMMIT sehingga peserta dapat mengambil keputusan tanpa koordinator. Tidak aman saat partisi jaringan karena dua sisi bisa memutuskan berbeda.
Contoh: Koordinator jatuh setelah PRE-COMMIT: peserta sepakat commit sendiri.
13
Lab Simulator 2PC & 3PC

W

IstilahArti, rincian, dan contohTopik & lab
Wait-dieSkema pencegahan deadlock non-preemptive: transaksi tua boleh menunggu, transaksi muda yang meminta langsung dimatikan.
Transaksi muda yang meminta kunci milik transaksi tua langsung mati dan diulang dengan cap waktu yang sama, sehingga akhirnya menjadi tua dan tidak kelaparan.
Contoh: T1 (ts=5) menunggu T2 (ts=9); T2 meminta kunci T1 → T2 mati.
11
Lab Manajemen Deadlock
Wait-for graph
WFG
Graf berarah dengan simpul transaksi dan sisi Ti → Tj bila Ti menunggu sumber daya yang dipegang Tj. Deadlock berarti ada siklus.
Siklus pada WFG berarti deadlock. Pada sistem terdistribusi WFG lokal digabung menjadi WFG global, secara terpusat, hierarkis, atau lewat probe.
Contoh: T1 → T2 di S1 dan T2 → T1 di S2 membentuk siklus global.
11
Lab Manajemen Deadlock
Wound-waitSkema pencegahan deadlock preemptive: transaksi tua melukai pemegang yang lebih muda, transaksi muda menunggu.
Transaksi tua yang meminta kunci milik transaksi muda memaksa transaksi muda abort; transaksi muda yang meminta kunci milik yang tua menunggu.
Contoh: T1 (ts=5) meminta kunci T2 (ts=9) → T2 dibatalkan.
11
Lab Manajemen Deadlock