DBMS Terdistribusi - Strategi Desain

Pada bab terakhir, kami telah memperkenalkan alternatif desain yang berbeda. Dalam bab ini, kita akan mempelajari strategi yang membantu dalam mengadopsi desain. Strategi secara luas dapat dibagi menjadi replikasi dan fragmentasi. Namun, dalam banyak kasus, kombinasi keduanya digunakan.

Replikasi Data

Replikasi data adalah proses menyimpan salinan terpisah dari database di dua atau lebih situs. Ini adalah teknik toleransi kesalahan yang populer dari database terdistribusi.

Keuntungan Replikasi Data

  • Reliability - Jika terjadi kegagalan situs mana pun, sistem basis data terus berfungsi karena salinan tersedia di situs lain.

  • Reduction in Network Load- Karena salinan data lokal tersedia, pemrosesan kueri dapat dilakukan dengan pengurangan penggunaan jaringan, terutama selama jam utama. Pembaruan data dapat dilakukan di luar jam utama.

  • Quicker Response - Ketersediaan salinan data lokal memastikan pemrosesan kueri yang cepat dan waktu respons yang cepat.

  • Simpler Transactions- Transaksi memerlukan lebih sedikit jumlah gabungan tabel yang terletak di situs berbeda dan koordinasi minimal di seluruh jaringan. Dengan demikian, mereka menjadi lebih sederhana.

Kekurangan Replikasi Data

  • Increased Storage Requirements- Memelihara banyak salinan data dikaitkan dengan peningkatan biaya penyimpanan. Ruang penyimpanan yang dibutuhkan dalam kelipatan dari penyimpanan yang dibutuhkan untuk sistem terpusat.

  • Increased Cost and Complexity of Data Updating- Setiap kali item data diperbarui, pembaruan perlu diterapkan pada semua salinan data di situs yang berbeda. Ini membutuhkan teknik dan protokol sinkronisasi yang kompleks.

  • Undesirable Application – Database coupling- Jika mekanisme pembaruan kompleks tidak digunakan, menghapus inkonsistensi data memerlukan koordinasi yang kompleks pada tingkat aplikasi. Ini menghasilkan aplikasi yang tidak diinginkan - penggandengan basis data.

Beberapa teknik replikasi yang umum digunakan adalah -

  • Replikasi snapshot
  • Replikasi hampir real-time
  • Tarik replikasi

Fragmentasi

Fragmentasi adalah tugas membagi tabel menjadi satu set tabel yang lebih kecil. Bagian dari tabel disebutfragments. Fragmentasi dapat terdiri dari tiga jenis: horizontal, vertikal, dan hibrida (kombinasi horizontal dan vertikal). Fragmentasi horizontal selanjutnya dapat diklasifikasikan menjadi dua teknik: fragmentasi horizontal primer dan fragmentasi horizontal turunan.

Fragmentasi harus dilakukan sedemikian rupa sehingga tabel asli dapat direkonstruksi dari fragmen. Ini diperlukan agar tabel asli dapat direkonstruksi dari fragmen kapan pun diperlukan. Persyaratan ini disebut "rekonstruktif".

Keuntungan Fragmentasi

  • Karena data disimpan dekat dengan lokasi penggunaan, efisiensi sistem database meningkat.

  • Teknik pengoptimalan kueri lokal sudah cukup untuk sebagian besar kueri karena data tersedia secara lokal.

  • Karena data yang tidak relevan tidak tersedia di situs, keamanan dan privasi sistem database dapat dipertahankan.

Kerugian dari Fragmentasi

  • Ketika data dari fragmen yang berbeda diperlukan, kecepatan akses mungkin sangat tinggi.

  • Dalam kasus fragmentasi rekursif, pekerjaan rekonstruksi akan membutuhkan teknik yang mahal.

  • Kurangnya salinan cadangan data di situs yang berbeda dapat membuat database tidak efektif jika terjadi kegagalan situs.

Fragmentasi Vertikal

Dalam fragmentasi vertikal, bidang atau kolom tabel dikelompokkan menjadi beberapa fragmen. Untuk menjaga rekonstruksi, setiap fragmen harus berisi bidang kunci utama pada tabel. Fragmentasi vertikal dapat digunakan untuk menegakkan privasi data.

Misalnya, mari kita pertimbangkan bahwa database Universitas menyimpan catatan semua siswa yang terdaftar dalam tabel Mahasiswa yang memiliki skema berikut.

SISWA

Regd_No Nama Kursus Alamat Semester Biaya Tanda

Sekarang, detail biaya disimpan di bagian akun. Dalam hal ini, desainer akan memecah database sebagai berikut -

CREATE TABLE STD_FEES AS 
   SELECT Regd_No, Fees 
   FROM STUDENT;

Fragmentasi Horizontal

Fragmentasi horizontal mengelompokkan tupel tabel sesuai dengan nilai dari satu atau lebih bidang. Fragmentasi horizontal juga harus sesuai dengan aturan rekonstruksi. Setiap fragmen horizontal harus memiliki semua kolom dari tabel dasar asli.

Sebagai contoh, dalam skema kemahasiswaan, jika detail seluruh mahasiswa Mata Kuliah Ilmu Komputer perlu dipertahankan di Sekolah Ilmu Komputer, maka perancang akan memecah-mecah basis data secara horizontal sebagai berikut -

CREATE COMP_STD AS 
   SELECT * FROM STUDENT  
   WHERE COURSE = "Computer Science";

Fragmentasi Hibrid

Dalam fragmentasi hibrid, kombinasi teknik fragmentasi horizontal dan vertikal digunakan. Ini adalah teknik fragmentasi paling fleksibel karena teknik ini menghasilkan fragmen dengan informasi asing yang minimal. Namun, rekonstruksi tabel asli seringkali merupakan tugas yang mahal.

Fragmentasi hibrid dapat dilakukan dengan dua cara alternatif -

  • Pertama-tama, buat satu set fragmen horizontal; kemudian buat fragmen vertikal dari satu atau lebih fragmen horizontal.

  • Pertama, buat satu set fragmen vertikal; kemudian buat fragmen horizontal dari satu atau beberapa fragmen vertikal.