Pengantar: Setelah mendapat gambaran mengenai basis data terdistribusi pada posting dua pekan yang lalu, pertanyaan yang mungkin timbul selanjutnya adalah “Untuk apa basis data terdistribusi diimplementasikan?” Posting kali ini akan diawali dengan bahasan mengenai hubungan antara basis data terdistribusi dengan distributed computing. Pembahasan dilanjutkan dengan kelebihan dan kekurangan basis data terdistribusi, juga masalah (issue) transparansi dalam pengelolaan basis data terdistribusi.
Dengan demikian, pemanfaatan basis data terdistribusi dapat memudahkan perolehan informasi dari berbagai lokasi yang berbeda, bahkan berjauhan, di samping meningkatkan kinerja sistem dengan beberapa komputer yang bekerja bersamaan.
Basis data terdistribusi pada dasarnya adalah bagian dari sistem komputer terdistribusi, atau disebut juga distributed computing. Distributed computing sendiri adalah sistem yang dapat membuat komputer-komputer yang berbeda dan bekerja secara bersamaan dapat saling bertukar informasi dalam satu kesatuan sistem. Dengan basis data terdistribusi, operasi basis data dapat dikendalikan dari satu mesin (komputer) dan dijalankan pada mesin-mesin yang lain.
Sistem komputer terdistribusi, tentunya juga dengan basis data terdistribusi, dapat membantu penyelesaian berbagai masalah, khususnya yang berkaitan dengan bisnis. Sistem komputer terdistribusi dapat mempercepat aplikasi dengan membagi operasi-operasi pada mesin yang berbeda. Selain itu, komputer-komputer yang berpartisipasi dalam sistem komputer terdistribusi boleh jadi saling berjauhan letaknya. Dengan demikian, pemanfaatan basis data terdistribusi dapat memudahkan perolehan informasi dari berbagai lokasi yang berbeda, bahkan berjauhan, di samping meningkatkan kinerja sistem dengan beberapa komputer yang bekerja bersamaan.
Kelebihan dan Kekurangan Basis Data Terdistribusi
Pemanfaatan basis data terdistribusi dapat memberikan manfaat bagi sistem yang mengimplementasikannya. Hal ini disebabkan oleh kelebihan-kelebihan yang dimilikinya, antara lain
- kinerja yang lebih baik karena data ditempatkan di tempat yang sesuai dengan kebutuhan dan komputer-komputer dalam sistem dapat bekerja secara paralel, sehingga pembebanan pada komputer (server) menjadi seimbang.
- alasan ekonomis, yaitu bahwa merancang sistem yang terdiri atas jaringan komputer-komputer kecil (sederhana) dibandingkan dengan mengimplementasikan komputer tunggal yang canggih.
- alasan modularitas, yaitu bahwa sistem-sistem yang bekerja dalam basis data terdistribusi dapat dimodifikasi, ditambah, atau dikurangi tanpa memengaruhi modul lain (sistem lain dalam basis data terdistribusi). Dengan pembagian lokasi data, jika terjadi masalah atau musibah pada sistem, tidak semua data terancam, melainkan hanya data pada tempat-tempat tertentu.
- alasan organisasi dan otonomi pada sistem-sistem yang berpartisipasi, misalnya pada suatu kantor perusahaan, terdapat beberapa departemen. Dengan basis data terdistribusi, data-data perusahaan dapat disebar ke tiap-tiap departemen yang bertanggung jawab atasnya.
Akan tetapi, di samping kelebihan-kelebihan yang dimilikinya, basis data terdistribusi juga memiliki kendala, antara lain
- masalah kompleksitas, yaitu bukan pekerjaan yang mudah untuk membuat basis data yang tersebar terlihat sebagai satu kesatuan. Administrator basis data mempunyai tugas ekstra untuk menjaga agar basis data yang tersebar di berbagai lokasi terlihat transparan. Di samping itu, pemeliharaan sistem-sistem yang berlainan lebih kompleks ketimbang pemeliharaan sistem besar yang utuh sebagai satu kesatuan. Tingginya kompleksitas juga dapat menyebabkan pembengkakan biaya.
- masalah desain, yaitu bahwa desain yang dibuat harus memperhatikan arsitektur komputer yang terdiri atas sistem-sistem yang terpisah, selain itu juga memperhatikan data yang difragmentasi (dipecah-pecah) ke dalam lokasi berlainan. Perubahan dari basis data terpusat menjadi terdistribusi juga menjadi masalah karena belum ada standar metodologi dalam konversi DBMS terpusat menjadi DBMS terdistribusi.
- keamanan data, yaitu bukan hanya satu sistem yang harus diberi proteksi keamanan data, melainkan juga fragmen-fragmennya yang tersebar di berbagai lokasi, juga jalur komunikasi antarsistem.
- kendala mempertahankan integritas karena dalam menjaga integritas sistem melalui jaringan juga dapat memakan resource yang besar dari jaringan.
Masalah-Masalah yang Harus Diperhatikan (Issues) dalam Basis Data Terdistribusi
Dalam aplikasi sistem manajemen basis data terdistribusi (DDBMS), ada beberapa masalah (issue), yang harus diperhatikan, antara lain:
- transparansi
- perancangan (desain)
- pemrosesan query
- manajemen transaksi
- arsitektur dan middleware
Issue Transparansi dalam Basis Data Terdistribusi
Dalam posting dua pekan yang lalu, telah dibahas bahwa distribusi dan transaksi data dalam basis data terdistribusi harus transparan. Secara lebih rinci, untuk memelihara transparansi dalam basis data terdistribusi, ketiga aspek transparansi berikut ini harus diperhatikan:
- Jaringan: keberadaan jaringan dalam implementasi basis data harus seolah-olah tidak ada dalam pandangan pengguna. Penggunaan bahasa query (query language) harus tidak terikat pada lokasi penyimpanan data. Selain itu, lokasi penyimpanan data tidak boleh disertakan pada penamaan data. Sebagai akibatnya, semua nama yang digunakan pada basis data harus unik di seluruh sistem. Selain itu, pencarian data dalam basis data terdistribusi harus dibuat efisien dan pemindahan lokasi data pada basis data harus dibuat mudah.
- Replikasi: data pada basis data terdistribusi mungkin memiliki replika pada lokasi yang berbeda. Pembuatan replika ini harus ada di bawah kendali sistem, bukan pengguna. Termasuk di dalam aspek ini modifikasi data, yaitu tiap-tiap replika harus selalu diperbaharui dan mekanisme kontrol konkurensi harus menangani replika berdasarkan konsistensi pembacaan.
- Fragmentasi: jika basis data terdistribusi bersifat terfragmentasi (secara detailnya akan dibahas pada posting selanjutnya), setiap query yang dimasukkan oleh pengguna harus ditangani sistem sedemikian sehingga mempengaruhi relasi-relasi yang terbagi dalam fragmen-fragmen. Sistem juga harus bisa menangani query sedemikian sehingga keseluruhan sistem dapat memperoleh hasil dari satu query dari lokasi yang berbeda-beda.
3 komentar:
artikel yang menarik.. thanks telah membantu tugasku.. he.he..
Thanks udah membantu mas
Posting Komentar