Difference between revisions of "Replikasi dan fragmentasi data"
Jump to navigation
Jump to search
Onnowpurbo (talk | contribs) |
Onnowpurbo (talk | contribs) |
||
Line 120: | Line 120: | ||
|- | |- | ||
| '''Fragmentasi''' || Memecah data menjadi bagian (baris/kolom) untuk efisiensi dan lokalisasi | | '''Fragmentasi''' || Memecah data menjadi bagian (baris/kolom) untuk efisiensi dan lokalisasi | ||
− | | | + | |- |
| '''MySQL''' || Mendukung replikasi master-slave dan fragmentasi manual | | '''MySQL''' || Mendukung replikasi master-slave dan fragmentasi manual | ||
|} | |} |
Latest revision as of 11:13, 6 May 2025
Berikut adalah Modu: Sistem Basis Data Terdistribusi, dengan fokus pada Replikasi dan Fragmentasi Data, serta contoh implementasi di MySQL Ubuntu 24.04.
Sistem Basis Data Terdistribusi
Replikasi dan Fragmentasi Data
Tujuan Pembelajaran
Setelah mempelajari bagian ini, mahasiswa diharapkan mampu:
- Menjelaskan konsep replikasi dan fragmentasi data dalam sistem terdistribusi.
- Membedakan jenis-jenis fragmentasi dan replikasi.
- Mengimplementasikan contoh replikasi dan fragmentasi di MySQL Ubuntu 24.04.
Replikasi Data (Data Replication)
Replikasi adalah proses menyalin dan menyinkronkan data dari satu node ke node lain agar tetap konsisten.
Tujuan:
- Meningkatkan ketersediaan
- Menyediakan backup real-time
- Mempercepat akses baca (read scalability)
Jenis Replikasi:
Jenis Replikasi | Penjelasan |
---|---|
Master-Slave | Master menerima tulis; slave hanya baca |
Master-Master | Dua node saling sinkron (dua arah) |
Asynchronous | Slave menyalin data dengan keterlambatan |
Synchronous | Master menunggu semua slave menyelesaikan update sebelum commit (tidak umum di MySQL Community) |
Contoh: MySQL Master–Slave Replikasi
> Sudah dibahas di Modul sebelumnya. Langkah utama:
- Konfigurasi `server-id`, `log_bin`, dan `relay-log`
- Buat user `REPLICATION SLAVE`
- Gunakan `CHANGE MASTER TO` pada slave
- Periksa status `SHOW SLAVE STATUS\G`
Fragmentasi Data (Data Fragmentation)
Fragmentasi adalah pemecahan satu tabel menjadi beberapa bagian agar dapat disimpan di lokasi berbeda.
Tujuan:
- Meningkatkan efisiensi query
- Mengurangi transfer data antarlokasi
- Menyesuaikan data dengan lokasi geografis pengguna
Jenis Fragmentasi:
Jenis Fragmentasi | Penjelasan |
---|---|
Horizontal | Setiap fragmen menyimpan subset baris (ROW) |
Vertical | Setiap fragmen menyimpan subset kolom |
Hybrid/Mixed | Gabungan horizontal dan vertical |
Derived Fragmentation | Fragment berdasarkan entitas lain (misalnya foreign key) |
Contoh Fragmentasi Horizontal di MySQL
Misalnya, data mahasiswa dibagi berdasarkan lokasi kampus:
-- Kampus A CREATE DATABASE kampus_a; USE kampus_a; CREATE TABLE mahasiswa ( nim VARCHAR(10), nama VARCHAR(100), prodi VARCHAR(50) ); INSERT INTO mahasiswa VALUES ('A101', 'Andi', 'TI');
-- Kampus B CREATE DATABASE kampus_b; USE kampus_b; CREATE TABLE mahasiswa ( nim VARCHAR(10), nama VARCHAR(100), prodi VARCHAR(50) ); INSERT INTO mahasiswa VALUES ('B101', 'Budi', 'SI');
Contoh Fragmentasi Vertical di MySQL
-- Tabel data pribadi CREATE TABLE mahasiswa_pribadi ( nim VARCHAR(10) PRIMARY KEY, nama VARCHAR(100), alamat TEXT );
-- Tabel data akademik CREATE TABLE mahasiswa_akademik ( nim VARCHAR(10) PRIMARY KEY, prodi VARCHAR(50), ipk DECIMAL(3,2) );
-- Bisa digabung dengan JOIN SELECT p.nama, a.ipk FROM mahasiswa_pribadi p JOIN mahasiswa_akademik a ON p.nim = a.nim;
Tantangan Fragmentasi:
- Kompleksitas query lintas fragmen
- Konsistensi antar node
- Desain awal harus dipikirkan matang
Kesimpulan
Konsep | Penjelasan |
Replikasi | Menyalin data dari satu node ke node lain untuk ketersediaan dan kecepatan |
Fragmentasi | Memecah data menjadi bagian (baris/kolom) untuk efisiensi dan lokalisasi |
MySQL | Mendukung replikasi master-slave dan fragmentasi manual |