1. ANALISIS PERMASALAHAN SALINAN DATA BERGANDA
1. ada pengguna antara pembaruan transaksi
dua buah transaksi munkin men-update item data yang sama pada transaksi lainya ,sehingga
menghasilkan data yang salah
2. pembacaan yang tidak konsisten
dengan mempunyai lebih dari satu salinan data dan kadang kadang hanya satu salinan data
terdistribusi dapat menghasilkan informasi yang tidak konsisten pada saat pembacaaan data.
3. Timbulnya deadlock
Penguncian pada data terdistribusi untuk mencegah terjadinya ganguan update dapat
menyebabkan timbulnya deadlock kecuali digunakan protocol yang tepat
4. Ada pengeluaran biaya protocol
Penggunaaan protocol untuk mencegah pembaruan yang salah pembacaan yang tidak konsisten
dan timbulnya deadlock dapa membuat pengeluaran biaya yang berlebihan terutama jika
salinan dan replika multiple digunakan
5. Recovery
Setelah terjadinya kegagalan perlu dikontrol sehingga peng-updatetan tidak menjadi hilang atau
di proses dua kali
6. Recovery dari salinan data multiple
Salinan data multiple munkin berada dalam keadaaan meng-update yang berbeda setelah
jangka waktu terjadinya kegagalan. Hal ini perlu dikembalikan ke keadaan yang sama tetapi
sangat kompleks untuk dikerjakan pada saat transaksi real time sedang diproses
7. Pengauditan
Sangat sulit pada beberapa sistem untuk mengetahui siapa yang mengerjakan data. Dalam hal
ini diperlukan rencana yang tepat untuk pengauditan.
8. Pengamanan dan proteksi
Kontrol pengaman dan produksi kadang-kadang lemah pada sistem terdistribusi
2. 1. Ganguan update
Untuk mencegah terjadinya ganguan updat,sistem manajemen strotage haru dilengkapi
dengan suatu mekanisme yang membolehkan suatu transaksi untuk mengunci record tersebut
antara pembacaan dan penulisnya sehingga tidak ada transaksi yang dapat menyebabkan suatu
kekeliruan update, untuk memberikan perintah update pada suatu record tunggal relativ sangat
mudah tetapi untuk update record multiple menjadi kompleks.
Jika data dikunci letaknya jauh dari prosesor penguncian akan tetap berlangsung pada saat
pembacaan data sedang ditransmisikan dari data yang diupdate ditransmisikan kembali. Dengan
tingkat update yang tinggi,penguncian seperti itu akan mengakibatkan pengeluaran biaya tambahan
berlebihan. Untuk mecegah kekeliruan update digunakan transaksi timestamp.
2. Deadlock
Ada dua cara mengatasi deadlock:
a. Memundurkan kembali pemprosesan pada saat deadlock terjadi.
b. Mencegah terjadinya deadlock secara keseluruhan untuk mengatasi deadlock perangkat
lunak harus mendeteksi suatu transaksi yang tergantung (hung up) dan menghentikan
sementara salah satu program yang menyebabkan terjadinya deadlock.
Dalah hal ini semua harus dimundurkan pada saat perjadinya pada program yang terhenti
tampa mempengaruhi integritas dari data yang disimpan
Pemunduran kembali dan memulai program berikutnya harus dilakukan secara otomatis
dan harus bersifat transparan terhadap programnya sendiri, untuk melakukan ini program
aplikasi memerlukan shyncnization point.
3. CONTOH KASUS
Pemakai membutuhkan data dari dua modul data. Biasanya kedua model konsisten,
namun saat itu satu atau keduanya sedang diupdate, sehingga data yang dibaca adalah data
yang invalid:belum selesai di update.
Protocol untuk menangani masalah ini tidak serumit protocol untuk menangani
masalah interferensi.
Timestamp. Juga dapat mencegah terjadinya masalah ini. Dengan perkataan lain,protocol yang
dapat mencegah terjadinya masalah update, dapat mencegah masalah ini.
Contoh lain:
Suatu data bernilai 100 akan di –update oleh prosesor 1 dengan menambahkan nilai
200, dan kemudian prosesor 2 menambahkan nilai 300, seharusnya, nilai data tersebut menjadi
600, namun interferensi berikut terjadi:
1. Prosesor 1 membaca nilai 100
2. Prosesor 2 membaca nilai 100
3. Prosesor 1 menambah 200, dan menuliskanya: 300
4. Prosesor 2 menambah 300, dan menuliskanya: 400
Aturan untuk mencegah interferensi:
Jika dapat terjadi interferensi antara kelas j dan k pada node data, maka node tersebut
harus megolah transaksi kelas j dan k dapalam urutan timestamp.
4. KESIMPULAN
Berdasarkan analisis di atas ,terdapat 4 situasi
1. Tanpa masalah.
Tetapkan pipelining (protocol lain tidak diperlukan)
2. Masalah UPDATE
Proteksi data selama peng-updatetan (locking)
3. Masalah read dengan satu node data
Bila dua record atau lebih yang dibaca ,maka digukan timing untuk menghindari pembacaan
data yang tidak konsisten (timestap).
4. Masalah read dengan lebih dari satu node data .
5. Data diba di banyak node. Penanganan lebih rumit.
Pada saat transaksi diterima oleh suatu prosesor.prosesor tersebut menentukan data
apa yang dibaca dan ditulis, dan apa kelas transaksi tersebut. Jika maslah sudah dianalisis,
maka prosesor dapat menggunakan table lookup untuk menentukan jenis proteksi apa yang
akan diperlukan.
Data yang terdistribusi dengan bebas memerlukan protocol yang rumit. Dan cenderung
meniggalkan kompleksitas keseluruhan sistem. Data terdistribusi harus dirancang
sedemikian sehinggan memenuhi syarat distribusi dan replika data, dan dapat
menyederhanakan penanganan transaksi pada peripheral.