Beberapa pertimbangan untuk mengembangkan sistem basis data terdistribusi

Secara logis terlihat dari sifat terdistribusinya membuat pengembangan sistem basis data terdistribusi secara umum memiliki tingkat kompleksitas yang lebih jika dibanding dengan sistem basis data konvensional/tersentralisasi. Terdapat beberapa pertimbangan tambahan untuk mengembangkan suatu sistem basis data terdistribusi, antara lain:

<Masing-masing point akan dijelaskan lebih mendetail di tulisan terpisah. :D>

  • Strategi penyimpanan data. Pertimbangan perlu dilakukan terutama mengenai metode penyimpanan data pada tiap-tiap site, kondisi persis sama (duplication/replication) atau berbeda antar site satu dengan lainnya (fragmentation).
    Misalkan metode pertama yang dipilih, strategi supaya tiap-tiap site memiliki data yang persis sama patut dipikirkan lebih lanjut.
    Jika memilih metode kedua perlu dipikirkan lebih lanjut mengenai strategi untuk mengoptimalkan akses antar site-site yang memiliki data berbeda-beda tersebut. Dapatkah jika mengambil kelebihan2 dari kedua metode tersebut.
  • Transaksi. Sama seperti pada basis data konvensional, transaksi basis data terdistribusi yang baik juga harus memenuhi ACID (Atomicity,Consistency,Integrity,Durability). Basis data terdistribusi memiliki dua jenis transaksi yaitu lokal (akses dan update data pada site lokal) dan global (akses dan update data di beberapa site-site berbeda). Untuk transaksi lokal dapat dikondisikan menggunakan metode seperti pada basis data konvensional. Namun permasalahan inti terdapat pada transaksi global, karena transaksi dapat berjalan secara bersamaan di site-site yang berbeda. Kegagalan pada salah satu site ataupun kegagalan komunikasi yang menghubungkan site-site tersebut akan berujung pada kesalahan komputasi data.
  • Kontrol Konkurensi. Salah satu properti transaksi yang fundamental adalah isolasi. Namun jika beberapa transaksi berjalan secara konkuren (bersamaan) isolasi akan sulit dilakukan karena rawan akan terjadinya transaksi yang saling tumpang tindih, oleh karena itu dibutuhkan kontrol konkurensi. Beberapa metode dapat digunakan seperti locking, timestamping, replication with weak degrees of consistency, dan deadlock handling.
  • Optimalisasi Queri. Terutama jika strategi penyimpanan data yang dipilih merupakan jenis fragmentation yang dimana data diantara site-site berbeda satu sama lain akan sering ditemukan queri dari suatu site lokal yang membutuhkan akses informasi dari site-site luar. Tentunya kan karena informasi tersebut terhubung di level jaringan bukan filesystem lagi (kecepatan pertukaran data di level jaringan relatif lebih lambat dibanding di level filesystem) jika queri dirancang secara asal-asalan pasti akan mempengaruhi kecepatan untuk mendapatkan informasi dari queri tersebut.

Sumber:

[1] McGraw-Hills. Database Management Systems.

[2] Silberschatz,Korth,Sudarshan. Database System Concepts.

[3]  Ozsu & Valduriez. Principles of Distributed Systems 

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s