DATABASE
CONTROL
1.Pengertian Transaksi
Transaksi adalah satu atau beberapa aksi program
aplikasi yang
mengakses/mengubah isi basis data
2.Security
Database
Adalah
proteksi terhadap perusakan data oleh pemakai yang tidak berwenang (kerusakan
yang disengaja)
§ Authorization
Pemberian
hak akses yang mengizinkan sebuah subyek mempunyai akses
secara
legal terhadap sebuah sistem atau obyek.
§ Views (Subschemas)
Hasil
yang dinamik dari satu atau lebih operasi relasi yang beroperasi pada relasi
dasar
untuk menghasilkan relasi lainnya. View merupakan virtual relation yang
tidak
secara nyata ada di dalam sebuah database, tetapi dihasilkan atas
permintaan
user secara khusus.
§ Backing Up
Proses
yang secara periodik menyalin database dan menjurnal (dan
memprogram)
ke dalam media penyimpanan offline
§ Journaling
Proses
penyimpanan dan pemeliharaan sebuah jurnal atau log seluruh
perubahan
terhadap database agar dapat merecover secara efektif jika terjadi
kegagalan.
§ Checkpointing
Titik
temu sinkronisasi antara database dan transaksi log file. Seluruh data
yang
disimpan
di tempat sementara akan disimpan di media penyimpanan kedua.
§ Encryption
Penyandian
(encoding) data dengan menggunakan algoritma khusus yang
merubah
data menjadi tidak dapat dibaca oleh program apapun tanpa
mendeskripsikannya.
3. Concurrency
Concurrency :
banyak transaksi yang dijalankan secara bersamaan.
Masalah umum yang terjadi pada sistem yang konkuren:
1.
Masalah kehilangan modifikasi
2.
Masalah kehilangan modifikasi sementara
3.
Masalah analisa yang tidak konsisten
4. Recovery
Recovery Facilities
Sebuah
DBMS sebaiknya menyediakan fasilitas-fasilitas berikut ini untuk
membantu
recovery :
• Backup
mechanism
Melakukan
backup secara periodik terhadap database yang ada
• Logging
facilities
Mencatat
transaksi-transaksi dan perubahan-perubahan yang terjadi terhadap
Pengontrolan Berbasis Komputer 16/18
database.
DBMS memelihara file khusus yang disebut Log (Journal) yang
menyediakan
informasi mengenai seluruh perubahan yang terjadi pada
database.
• Checkpoint
facility
Mengizinkan
update terhadap database yang akan menjadi database yang
Permanent
• Recovery
manager
Mengizinkan
sistem untuk restore database ke keadaan sebelum terjadi
Kerusakkan
Recovery Techniques
Prosedur
recovery yang digunakan tergantung dari kerusakkan yang terjadi pada
database.
Recovery dari Deadlock
Cara
umum yang digunakan adalah dengan proses rollback transaksi untuk
lepas
dari deadlock.
Tiga
langkah yang harus dilakukan:
a.
Selecting Victim / pemilihan korban
Kita memilih
transaksi mana saja yang akan di rollback, dan me-rollback
transaksi
yang memiliki minimum cost.
Faktor
yang menentukan cost:
§ berapa lama transaksi telah dilaksanakan dan berapa lama
lagi transaksi selesai.
§ berapa banyak item data yang digunakan
§ berapa banyak item data lagi yang digunakan sampai
selesai.
§ berapa banyak transaksi yang akan ikut di rollback.
b.
Rollback
Setelah
menentukan transaksi mana yang di rollback, kita tentukan sejauh
mana rollback
dilakukan. Cara yang paling sederhana adalah total
rollback kemudian
restart. Namun lebih efektif me-rollback transaksi
sejauh
deadlock dapat dihilangkan.
c.
Starvation
Dalam
selecting victim, bisa saja terjadi sebuah transaksi selalu dipilih
sebagai
korban. Akibatnya transaksi tersebut tidak pernah bisa selesai.
Situasi
ini disebut Starvation.
Untuk
menghindarinya, sebuah transaksi boleh dipilih sebagai victim
hanya
beberapa kali saja, atau dalam jangka waktu terbatas. Caranya,
dengan
melibatkan jumlah rollback yang dialami sebuah transaksi sebagai
suatu
biaya/cost.
5. Concurrency
control
Arti
dari Concurrency control merupakan proses pengaturan operasi yang simultan pada
database tanpa menyebabkan saling mempengaruhi antara satu dengan yang lain.
Tujuannya adalah agar DBMS mengijinkan transaksi data pada saat yang bersamaan
untuk mengakses data yang sama. Dan agar transaksi data tidak terganggu maka
dibutuhkan Concurrency Control Mechanism.
Namun
perlu kita ketahui bahwa pada Concurrency juga memiliki masalah-masalah, 3
masalahnya adalah :
1.
Lost Update Problem
2.
Uncommitted dependency problem
3.
Incosistent analysis problem
Kemudian
pada Concurrency juga ada fungsi Locking, fungsi dari Locking ini sendiri
adalah mengunci sebuah transaksi agar transaksi tersebut rekord nya tidak
berubah dalam waktu tertentu. Jenis-jenis locking ada 2 yaitu :
1.
Exclusive Lock (Xlock) à write lock
2.
Shared Lock (Slock) à read lock
Kemudian
juga ada yang disebut Deadlock, atau Situasi dimana dua atau lebih transaksi
dalam kondisi wait-state, satu sama lain menunggu lock dilepaskan sebelum dapat
memulai. Untuk penganannya ada beberapa cara, yaitu :
§ Deteksi dan
pecahkan deadlock
§ Deteksi
deadlock (wait-for-graph)
§ Pecahkan
deadlock (salah satu dirollback paksa )
§ Ostrich
Algorithm (mengabaikan kondisi deadlock)
Database Terdistribusi
1. Pengertian Database Terdistribusi
Database terdistribusi Yaitu kumpulan data yang digunakan
bersama yang saling terhubung secara logic tetapi tersebar secara fisik pada
suatu jaringan computer.
2. Transaksi Lokal & Global
Sebuah sistem database
terdistribusi berisikan sekumpulan site, di mana tiap-tiap site dapat
berpartisipasi dalam pengeksekusian transaksi-transaksi yang mengakses data
pada satu site atau beberapa site. Tiap-tiap site dapat memproses transaksi
lokal yaitu sebuah transaksi yang mengakses data pada satu site di mana
transaksi telah ditentukan. Sebuah
site juga dapat mengambil bagian dalam mengeksekusi transaksi global yaitu
transaksi yang mengakses data pada site yang berbeda di mana transaksi telah
ditentukan, atau transaksi yang mengakses data pada beberapa site yang berbeda.
3. Keuntungan & Kerugian Database Terdistribusi
Ø Kelebihan
- 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.
Ø Kekurangan
- 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. 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.
- 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.
4.Macam-Macam
Topologi dalam distribusi Database
Fully
Connected network :
Keuntungan : kalau salah satu node
rusak, yang lainnya masih dapat berjalan
(tetapi biaya mahal).
Kerugian : control management tidak
terjamin
Partially
connected network :
Keuntungan : reliability rendah, biaya
dapat ditekan
Kerugian : control management tidak
terjamin
Tree
structure network :
Keuntungan : bersifat sentral, control
management lebih terjamin
Kerugian : kalau node pusat (A) rusak,
semua akan rusak.
Cat : setiap proses dimulai dari
bawah.
Ring
Network (LAN) :
Keuntungan : rusak satu, yang lain
masih berjalan
Kerugian : Control management kurang
terjamin karena bersifat desentralisasi
Star
Network (LAN) :
Keuntungan : - control management
lebih terjamin, karena bersifat sentral
- reliability rendah
Kerugian : kalau pusat rusak, yang
lainnya rusak
5.Rancangan
Database Terdistribusi
1. Replikasi
- Sistem
memelihara sejumlah salinan/duplikat tabel-tabel data.
- Setiap
salinan tersimpan dalam simpul yang berbeda, yang menghasilkan replikasi
data.
2. Fragmentasi
- Data
dalam tabel dipilah dan disebar ke dalam sejumlah fragmen.
- Tiap
fragmen disimpan di sejumlah simpul yang berbeda-beda.\Fragmentasi dapat
berbentuk fragmentasi horizontal (pemilahan record data) atau fragmentasi
vertikal (pemilahan field/atribut data).
3. Alokasi
data
Ada
beberapa alternatif dasar untuk menyimpan atau menempatkan data : partisi
dan replikasi. Dalam skema partisi, database dibagi ke dalam
sejumlah partisi
yang
disjoin yang masing2 ditempatkan di site yang berbeda.
Tidak ada komentar:
Posting Komentar