180 likes | 373 Views
Proteksi data. BASIS DATA. Proteksi Data. DBMS umumnya memiliki fasilitas proteksi data, yaitu fasilitas yang dimaksudkan untuk melindungi data dari berbagai resiko yang mungkin terjadi , dan membawa dampak terhadap data dalam basis data.
E N D
Proteksi data BASIS DATA
Proteksi Data • DBMS umumnyamemilikifasilitasproteksi data, yaitufasilitas yang dimaksudkanuntukmelindungi data dariberbagairesiko yang mungkinterjadi, danmembawadampakterhadap data dalam basis data.
Berbagaikemungkinan yang diantisipasiolehfasilitasproteksi data, adalah : • GangguanListrik • Sumberlistrik yang matimendadakmenyebabkaninformasi yang masihberadadalam RAM (memorikomputer) menjadihilang. Akibatnya, akanada data yang hilang • Kerusakan Disk • Data yang tedapatpada disk hilang • KesalahanPerangkatLunak • Hal inimengakibatkanhasil yang tidakbenar, karenapengubahan basis data tidakmelaluiprosedursebagaimanamestinya. Akibatnya basis data dalamkeadaantidakkonsisten.
Berbagaikemungkinan yang diantisipasiolehfasilitasproteksi data, adalah : • Pengaksesanolehorang yang takberhak • Data yang bersifatsentsitifseharusnyahanyabolehdiketahuiolehpengguna yang berhak. Pengaksesanolehorang yang takberhakharusdicegahsehinggakemungkinanadanyasabotaseterhadap basis data dapatdihindari. • Kemungkinanterjadinyaduaorangataulebihmenggubah data base yang sama • Hal seprtiinibisaterjadipadasistem yang multiuser, dansebagaiakibatnyadapatmenimbulkanketidakkonsistenan.
Dalamrangkamelindungi data terhadapkemungkinansepertiitu, DBMS menyediakansejumlahkontrol yang disebut : • Pemulihan (recovery) • Pengamanan (Security) • Integritas (integrity) • Konkurensi (concurrency)
PEMULIHAN • Pemulihanadlahupayauntukmengembalikan basis data kekeadaan yang dianggapbenarsetelahsuatukegagalanterjadi. Adabeberapamacampemulihan yang perluditangani : • Pemulihanterhadapkegagalantransaksi • Pemulihanterhadapkegagalansistem • Pemulihanterhadapkegagalan media
PemulihanTransaksi • Transaksiadalahsuatukesatuanprosedurdidalam program yang mungkinterjadimemperbaharui data padasejumlahtabel. • Sebagaicontoh, sebuahtransaksiadalahsaatandamengambiluangmelalui ATM. • Andamemasukannilaiuang yang akanandaambil • Salsoandadipotongsebesar yang inginandaambildantabel yang menyimpansaldodiperbaharui • Data pengambilanuangdicatatsebagaitransaksipengambilan (disimpanpadatabeltransaksi) • Mesinmengeluarkanuang.
PemulihanTransaksi (2) • Langkahpertamahinggakeempatdiperlakukansebagaisebuahtransaksi. • Sebuahtransaksidikatakantelahdisetujui (committed) kalauseluruhrangkaianprosesdalamtransaksitersebutberhasildilaksanakan. Dalamprakteknya, bisasajasesuatuprosesdidalamsebuahtransaksigagaldilaksanakan. Misalnya, langkahketigaberhasildilaksanakan, tetapikarenasesuatuhal, mesintidakmengeluarkanuangdanpadalayarmunculpesan “ Transaksitidakdapatdiproses”. • Sistem yang baikharusdapatmengatisipasikeadaandiatas, denganmengembalikankekeadaansemula (sebelumtransaksidimulai). • Langkahuntukmengembalikan data kekeadaansemulabiasanyadisebutpemulihantransaksi.
GambaranPemulihanTransaksi • Mulai,menyatakankeadaanawal • DisetujuiSebagian,menyatakankeadaansetelahsuatupernyataanberhasildilaksanakan • Gagal, menyatakankeadaansetelahsutupernyataangagalmelaksanakantugas. • Batal, menyatakankeadaansetelahtransaksidibatalkan. Setelahdibatalkan, keadaandipulihkankembalimenjadisepertikeadaansaatawaltransaksi • Disetujui, menyatakankeadaansetelahtransaksiberhasildijalankan • Berakhir, menyatakankeadaantransaksiberakhir. Transaksiberakhirterjadisetelahtransaksidisetujuiataudibatalkan.
ContohPseudokode • AWAL TRANSAKSI • Potongsaldosesuaidenganpengambilan yang dikehendaki • JIKA adasesuatukesalahan MAKA MENUJU ke BATAL • Catatsebagaitransaksipengambilan • JIKA adasesuatukesalahan MAKA MENUJU ke BATAL • Keluarkanuang • JIKA adasesuatukesalahan MAKA MENUJU ke BATAL • Setujuitransaksi • MENUJU ke AKHIR • BATAL : • BATALKAN transaksi • MENUJU ke AKHIR • AKHIR : • SELESAI
Disetujui sebagian Disetujui Mulai Berakhir Batal Gagal
SET TRANSACTION. SQL mendukungpernyataan • COMMIT untukmenyetujuiperubahan data secarapermanendansekaligusmembawakekeadaanakhir • ROLLBACK untukmembatalkanpengubahan data dansekaligusmembawakekeadaanakhir.
PemulihanMesin • Padapembahasandidepan, pemulihandidasarkanolehkegagalantransaksi. Dalampraktiknya, kegagalanbisaterjaditerhadapsemuatransaksi yang sedangberlangsung, yaituapabilaterjadigangguanpadasistem (misalnyasumberlistriktiba-tibamati). • Kegagalansistemmenyebabkan data yang beradadalam RAM hilang. Akibatnya, adatransaksi yang tidakselesai. Transaksisepertiinitentusajaharusdibatalkanpadasaatsistemdiaktifkankembali (prosesnyabiasadisebutUNDO). Namundemikiansistemjugaharusbisamengetahuitransaksi-transaksi yang telahberakhir (disetujui) dantransaksi-transaksiiniharusdijamindituliskanpada basis data (via
Pemulihan Media • Pemulihankarenakegagalan media (misalnya disk rusak) berbedadenganpemulihankegagalantransaksiataupunkegagalansistem. Penanganannyaadalahdenganmemuatkembali (restore) salinan basis data (backup). Itulahsebabnyamengapapadapengoperasiansistemharusadapenanganan backup, tergantungdarikebutuhan (misalnya per akhirhariataubahkandua kali sehari)
PENGAMANAN • Padajaringankomputermemungkinkansuatu data dapatdipakaisecarabersama-samaolehsejumlahorang. Hal serupajugaterjadipadaberbagaisistemkomputer yang tidaktergolongsebagaijaringankomputer, tetapiberkedudukansebagaisistem multiuser (sebuahkomputerdengansejumlah dumb terminal). Data dapatdiaksesdarimanasaja. Tentuhalinimenguntungkan. Namundemikiandisisi lain kemudahansepertiitujugamembukapeluangbahwa data yang sensitifbisadiaksesolehsiapasaja. Untukmengantisipasikeadaanini, DBMS menyediakankontrolpengamanan.
Pengamanandenganberbagai level • Fisik, pengamanandilakukandenganmenempatkansistemkomputerpadaruang yang secarafisiktidakdapatdiaksesolehsembarangorang • Manusia, kewenanganpenggunaharusperhatikandenganbaik, agar orang yang tidakberhaktidakdapatmengakses data • SistemOperasi, mengingatseseorangdapatmengakses data darijauh (jauhdaripusat data), keamanandalam level sistemoperasijugaharusdiperhatikan. Misalnya, perludiatur agar seseorangtidakdapatseeneknyasendiridalammenghapus disk • Sistem Basis Data, terdapatpengaturan-pengaturan yang memungkinkanseseorangmisalnyahanyadapatmembaca data tertentu.
Hakygdisediakansistem • ALTER, memungkinkanpenggunamengubahtabelsuatu basis data (misalnyamenambahkankolom) • DELETE, memungkinkanpenggunamenghapusbarismilikobjek-objek basis data • EXECUTE, memungkinkanpenggunamenjalankansustuprosedurtersimpanataupaketdalam basis data • INDEX, memungkinkanpenggunamenciptakanindekataumemodifikasiindekspadatabel basis data • INSERT, memungkinkanpengguanmenambahkanbarisbarupadatabel • PEFERENCES, memungkinkanpenggunamenciptakantabel yang menrefensiketabel lain. • SELECT, memungkinkanpenggunamelihat data • UPDATE, memungkinkanpenggunamengubah data • ALL, memberikanpenggunaseluruhhakdiatas
ENKRIPSI DATA • Berbagai DBMS melakukanproteksi data terhadappengguna yang tidakberhakdengancaramenambahkanenkripsi data. Dalamhalini data tidakdisimpansebagaimanamestinya, melainkandikodekankedalambentuk yang tidakdapatdibacaolehorang lain yang tidakberhak. Misalnya : • AMIR menjadi MNJS