Back to IF3140 Sistem Basis Data

Sistem Terdistribusi (Distributed Systems)

Questions/Cues

  • Apa itu Distributed System?

  • Apa beda Paralel vs Terdistribusi?

  • Apa itu Homogeneous Distributed Database?

  • Apa itu Heterogeneous Distributed Database?

  • Apa beda Local Transaction vs Global Transaction?

  • Apa 3 Keuntungan (Advantages) sistem terdistribusi?

  • Apa 4 Kerugian (Disadvantages) sistem terdistribusi?

  • Apa isu implementasi utama?

  • Apa itu Two-Phase Commit (2PC)?

  • Apa itu LAN vs WAN?

Reference Points

  • Slides “13 - Database System Architectures.pdf” (Slide 33-38)

Distributed Systems (Sistem Terdistribusi)

Distributed System adalah sistem di mana data tersebar di banyak mesin (disebut sites atau nodes) yang terhubung oleh jaringan. Mesin-mesin ini bisa jadi terpisah secara geografis (antar kota atau negara).

  • Perbedaan Paralel vs Terdistribusi:

    • Paralel: Node-node terhubung oleh jaringan berkecepatan sangat tinggi (seperti hypercube), terletak berdekatan (dalam satu rak/data center), dan bekerja sama untuk satu tugas. Tujuannya: Performa.

    • Terdistribusi: Node-node terhubung oleh jaringan berkecepatan lebih rendah (internet/WAN), terletak berjauhan, dan seringkali independen (otonom). Tujuannya: Berbagi data dan Ketersediaan (Availability).

Jenis Distributed Database

  1. Homogeneous (Homogen)

    • Semua site menjalankan software DBMS yang sama (misal: semua pakai Oracle).

    • Skema datanya sama (atau kompatibel).

    • Tujuan: Terlihat seperti satu database tunggal raksasa bagi pengguna, padahal datanya tersebar.

  2. Heterogeneous (Heterogen)

    • Site yang berbeda menjalankan software DBMS yang berbeda (misal: Site A pakai Oracle, Site B pakai MySQL, Site C pakai MongoDB).

    • Seringkali ini adalah database warisan (legacy) yang ingin digabungkan.

    • Tujuan: Mengintegrasikan data dari berbagai sumber agar bisa di-query bersama.

Transaksi: Local vs. Global

  • Local Transaction: Transaksi yang mengakses data hanya di satu site (site tempat transaksi itu dimulai).

  • Global Transaction: Transaksi yang mengakses data di site yang berbeda, atau di beberapa site sekaligus.

    • Contoh: Transfer antar bank. Mengurangi saldo di database Bank A (Site A), menambah saldo di database Bank B (Site B).

Trade-Offs (Keuntungan & Kerugian)

Keuntungan (Advantages):

  1. Sharing Data: Pengguna di Site A bisa mengakses data di Site B.

  2. Autonomy (Otonomi): Setiap site tetap memiliki kontrol penuh atas data yang disimpannya secara lokal.

  3. Availability (Ketersediaan): Jika data direplikasi (disalin) ke site lain, sistem bisa tetap berjalan meskipun satu site mati.

Kerugian (Disadvantages):

  1. Kompleksitas: Sangat kompleks untuk memastikan koordinasi antar site berjalan benar.

  2. Biaya Pengembangan: Software untuk ini sangat mahal untuk dibuat.

  3. Potensi Bug: Lebih banyak bug karena banyaknya interaksi.

  4. Processing Overhead: Ada overhead tambahan dari komunikasi jaringan dan protokol koordinasi.

Isu Implementasi & Tipe Jaringan

  • Atomicity: Tantangan terbesar. Bagaimana jika global transaction berhasil di Site A tapi gagal di Site B? (Misal: uang terdebet tapi tidak ter-kredit).

    • Solusi: Two-Phase Commit (2PC). Protokol ini menggunakan “koordinator” untuk memastikan semua site setuju untuk commit atau abort bersama-sama.
  • Distributed Concurrency Control: Perlu mekanisme lock yang bekerja antar site (sangat kompleks).

  • Data Replication: Perlu mekanisme untuk menjaga data yang disalin tetap sinkron.

Tipe Jaringan:

  • LAN (Local-Area Network): Jaringan area lokal (misal: satu gedung). Cepat, reliabel. (Sering dipakai untuk Parallel System).

  • WAN (Wide-Area Network): Jaringan area luas (misal: internet, antar kota). Lebih lambat, kurang reliabel. (Khas untuk Distributed System).

Summary

Sistem Terdistribusi (Distributed System) menyebarkan data di berbagai site yang terpisah secara geografis dan terhubung oleh jaringan (biasanya WAN). Tujuannya adalah untuk berbagi data (sharing), otonomi (autonomy), dan ketersediaan tinggi (availability). Sistem ini bisa Homogen (semua DBMS sama) atau Heterogen (DBMS berbeda). Tantangan terbesarnya adalah kompleksitas dalam mengelola Global Transaction (yang mengakses banyak site), di mana Atomicity harus dijamin menggunakan protokol seperti Two-Phase Commit (2PC).