BAB XI Pemeliharaan Database PDF
Document Details
Uploaded by FaithfulHarpGuitar3647
Universitas Teknokrat Indonesia Bandar Lampung
Tags
Summary
The document provides an overview about how to maintain databases. It discusses data backup, recovery, archiving, and other database management concepts for database administrators.
Full Transcript
Pengelolaan Data BAB XI. PEMELIHARAAN DATABASE 11.1. Uraian Materi Pada bab sebelumnya, telah dijelaskan mengenai DBMS sebagai sebuah perangkat lunak yang mengelola database. Sebagai sebuah satu kesatuan sistem yang utuh, DBMS p...
Pengelolaan Data BAB XI. PEMELIHARAAN DATABASE 11.1. Uraian Materi Pada bab sebelumnya, telah dijelaskan mengenai DBMS sebagai sebuah perangkat lunak yang mengelola database. Sebagai sebuah satu kesatuan sistem yang utuh, DBMS perlu memberikan fitur untuk melakukan backup sehingga apabila terjadi kegagalan dalam database dapat dilakukan recovery tanpa menghentikan kegiatan organisasi. Dikutip dari Connoly dan Begg (Database Systems, A Practical Approach to Design, Implementation, and Management), backup adalah proses yang secara periodik membuat salinan database dan log file ke media penyimpanan offline. Sedangkan recovery adalah proses mengembalikan database ke kondisi semula, yaitu kondisi benar dan konsisten setelah terjadi kegagalan. Dengan perkembangan perangkat lunak dan perangkat keras saat ini, kemudahan dalam melakukan backup dan recovery sangat membantu tugas dari Administrator Database. DBMS mampu memberikan fitur dimana dalam satu perangkat keras dapat membagi setiap disk yang ada dapat dijadikan sebagai perangkat penyimpanan utama dan cadangan. Namun sebagai langkah tindakan preventif, secara berkala kita perlu melakukan penyalinan atau pencadangan ke media lain dan disimpan di tempat yang aman. a. Proses Pemeliharaan Database Berbagai macam sistem database yang kita temui saat ini, secara garis besar memiliki persamaan dalam perlakuan terhadap database. Dikutip dari DAMA- DMBOK perlakuan tersebut diantaranya adalah sebagai berikut: Pengarsipan Pengarsipan database adalah proses pemindahan data dari bagian media penyimpanan utama ke bagian media penyimpanan yang tidak langsung diakses. Arsip ini dapat sewaktu-waktu dikembalikan ke sistem utama untuk 88 Pengelolaan Data penggunaan jangka pendek. Untuk melakukan proses pengarsipan perlu dilakukan perancangan di awal di antaranya adalah: - Membuat area penyimpanan sekunder, lebih baik apabila terpisah dari server database utama dan membuat server database sekunder - Mereplikasi data yang lebih jarang dibutuhkan ke database terpisah - Menghapus secara berkala data yang tidak dibutuhkan Proyeksi Kapasitas dan Pertumbuhan Melakukan proyeksi database penting untuk menghindari berhentinya layanan database karena penyimpanan. Tiga hal penting yang diperhatikan untuk melakukan proyeksi yaitu: - Ukuran dari media penyimpanan data dan tipenya - Seberapa banyak data yang disimpan dan seberapa cepat - Seberapa banyak data yang dihapus dan seberapa cepat Menyimpan data lama yang jarang diakses lagi merupakan hal yang perlu dihindari. Lebih baik menyiapkan media lainnya untuk menyimpan data yang jarang beroperasi. Chage Data Capture (CDC) CDC dilakukan untuk mendeteksi bahwa data telah berubah dan memastikan bahwa informasi yang relevan dengan perubahan disimpan dengan tepat. Apabila database telah dikonfigurasikan untuk direplikasi ke database lain, CDC sangat membantu dalam efisien pengiriman. Tidak perlu mengirimkan seluruh isian database melainkan hanya data yang berubah saja yang dikirimkan. Purging Asumsi untuk menyimpan semua data dalam penyimpanan utama adalah asumsi yang salah. Data akan terus memenuhi seluruh ruang yang kosong dalam media penyimpanan dan menyebabkan performa database menurun. Perlu dilakukan achiving atau purging atau keduanya. Purging adalah proses menghapus secara keseluruhan dan tidak bisa dikembalikan ulang. Replikasi 89 Pengelolaan Data Replikasi data merupakan proses penyimpanan data yang sama pada berbagai media penyimpanan yang berbeda. Tentunya replikasi data sangat berguna apabila terjadi kendala pada media penyimpanan utama. Resiliency dan Recovery Resiliency adalah ukuran seberapa toleran suatu sistem terhadap kondisi kesalahan atau kegagalan. Jika suatu sistem dapat mentolerir kesalahan pemrosesan tingkat tinggi dan masih berfungsi seperti yang diharapkan, sistem tersebut sangat resiliency. Jika aplikasi berhenti pada kondisi tak terduga, sistem itu tidak resiliency. Apabila sistem database yang resiliency mendeteksi adanya kesalahan, maka secara otomatis akan melakukan recovery. Namun ada kondisi sistem tidak bisa mendeteksi kesalahan sama sekali misalnya kerusakan arus listrik (sumber daya untuk mesin) atau adanya bencana pada lokasi mesin. Retensi Retensi data mengacu pada berapa lama data tetap tersedia pada media penyimpanan. Perencanaan lamanya penyimpanan data harus menjadi bagian dari physical design. Persyaratan retensi juga memengaruhi perencanaan kapasitas dari media penyimpanan. Keamanan data juga memengaruhi rencana penyimpanan data, karena beberapa data perlu disimpan untuk jangka waktu tertentu untuk alasan regulasi. Kesalahan dalam menyimpan data untuk jangka waktu yang tepat dapat memiliki konsekuensi hukum. Organisasi harus merumuskan kebijakan retensi berdasarkan persyaratan peraturan dan pedoman manajemen risiko. Kebijakan ini harus mendorong spesifikasi untuk archiving dan purging data. b. Backup/Penyalinan Database Kegagalan pada sistem database memang tidak dapat dihindarkan yang dapat menyebabkan hilangnya data. Kegagalan pada sistem database dapat diklasifikasikan sebagai berikut: Kegagalan transaksi menyebabkan transaksi yang sedang berlangsung tidak dapat melanjutkan eksekusinya karena suatu kondisi. 90 Pengelolaan Data Kegagalan sistem disebabkan oleh perangkat keras ataupun sistem operasi sehingga seluruh transaksi berhenti eksekusinya, data atau informasi yang sedang diproses akan hilang, namun data atau informasi yang telah disimpan di media penyimpanan tidak hilang. Kegagalan media penyimpanan seperti disk dapat menyebabkan kerusakan pada sebagian atau seluruh database dan transaksi-transaksi yang sedang mengakses database akan berhenti eksekusinya. Dikutip dari Connoly dan Begg (Database Systems, A Practical Approach to Design, Implementation, and Management), DBMS memiliki beberapa fasilitas untuk mengantisipasi kegagalan yang dapat terjadi pada database yaitu sebagai berikut: Fasilitas Backup DBMS harus menyediakan mekanisme untuk memungkinkan backup dari database yang dibuat secara berkala tanpa harus menghentikan sistem terlebih dahulu. Backup database dapat digunakan dalam hal database telah rusak atau hancur. Cadangan dapat berupa backup lengkap dari seluruh database atau cadangan tambahan, yang hanya terdiri dari modifikasi yang dibuat sejak proses backup lengkap atau tambahan terakhir. Biasanya backup database disimpan pada media penyimpanan offline seperti disk. Fasilitas Log File Untuk melacak aktivitas transaksi database, DBMS menyiapkan file khusus yang disebut log (atau jurnal) yang berisi informasi tentang semua pembaruan database. Log File biasanya berisi data berikut: - jenis transaksi yang berupa aktivitas CRUD - data yang mendapatkan perlakuan - nilai data sebelum mendapatkan perlakuan - nilai data setelah mendapatkan perlakuan - informasi log management mengenai pointer ke file log lainnya - checkpoint records Fasilitas Checkpoint 91 Pengelolaan Data Checkpoint merupakan titik sinkronisasi antara database dan transaksi log file. Semua buffer disimpan ke dalam penyimpanan sekunder. Titik checkpoint dijadwalkan pada interval yang telah ditentukan dan melibatkan operasi berikut: - menyimpan semua catatan log di memori utama ke penyimpanan sekunder - menyimpan blok yang dimodifikasi dalam buffer database ke penyimpanan sekunder - menyimpan catatan pos pemeriksaan ke log file dan catatan ini berisi pengidentifikasi dari semua transaksi yang aktif pada saat checkpoint Dengan menggunakan fasilitas checkpoint akan mengurangi beban kerja database untuk melakukan recovery. Sistem lebih mudah mencari data yang harus di-recovery dari database backup karena mengetahui dimana titik backup terdekat dari titik kegagalan database. c. Restore/Pemulihan Database Prosedur penanganan pemulihan database tergantung pada jenis kegagalan atau malfungsi yang terjadi. Dikutip dari Connoly dan Begg (Database Systems, A Practical Approach to Design, Implementation, and Management), terdapat beberapa jenis teknik pemulihan database yang bergantung pada dua tipe kasus yaitu: Database mengalami kerusakan parah misalnya piringan disk hancur sehingga merusak keseluruhan database. Database tidak mengalami kerusakan secara fisik melainkan terdeteksi adanya inkonsistensi data yang disebabkan oleh kesalahan sistem saat terjadinya eksekusi pada database. Untuk kedua kasus tersebut, ada beberaka teknik untuk melakukan recovery database yaitu sebagai berikut: Deferred Update Menggunakan protokol deferred update, pembaruan tidak ditulis ke database sampai setelah suatu transaksi mencapai titik komitnya. Jika 92 Pengelolaan Data transaksi gagal sebelumnya mencapai titik ini, itu tidak akan mengubah database dan tidak ada pembatalan perubahan akan diperlukan. Maka dari itu perlu dilakukan pengulangan pembaruan dari commit transaksi. Berikut rangkaian proses recovery menggunakan teknik ini: - Ketika transaksi dimulai, sistem menyimpan transaction start pada log file; - Ketika setiap operasi create atau update berlangsung, log file menyimpan semua aktivitas dan nilai yang berubah. Proses ini belum mempengaruhi database utama; - Ketika transaksi sudah mencapai titik komit maka semua data akan disimpan ke database utama. - Apabila dalam proses sebelum titik komit terjadi kegagalan atau dilakukan pembatalan, maka database utama tidak mengalami perubahan. Immediate Update Menggunakan protokol immediate update, pembaruan diterapkan ke database saat transaksi terjadi tanpa menunggu mencapai titik komit. Diperlukan redo pembaruan transaksi yang dilakukan setelah terjadinya kegagalan proses, atau dilakukan undo untuk membatalkan efek transaksi yang tidak dilakukan pada saat terjadinya kegagalan. Berikut rangkaian proses recovery menggunakan teknik ini: - Saat transaksi dimulai, log file menyimpan titik mulai (transaction start); - Saat operasi penyimpanan dilakukan, hal-hal yang diperlukan data akan disimpkan ke log file; - Selanjutnya melakukan pembaruan ke buffer database; - Pembaruan ke database itu ditulis ketika buffer di-flush ke penyimpanan sekunder; - Saat transaksi mencapai titik komit, catatan transaksi disimpan ke dalam log file. Shadow Paging 93 Pengelolaan Data Protokol ini merupakan alternatif dari kedua protokol di atas. Skema ini memelihara tabel dua halaman selama masa transaksi. Tabel halaman berjalan dan tabel halaman bayangan. Saat transaksi dimulai, dua halaman tabel adalah adalah sama. Tabel halaman bayangan tidak pernah diubah setelahnya, dan digunakan untuk memulihkan database jika terjadi kegagalan sistem. Selama transaksi, tabel halaman saat ini digunakan untuk merekam semua pembaruan ke database. Ketika transaksi selesai, tabel halaman saat ini menjadi tabel halaman bayangan. 11.2. Rangkuman 1. Kegiatan pemeliharaan database meliputi pengarsipan, proyeksi kapasitas dan pertumbuhan, change data capture (CDC), purging, replikasi, recovery, dan retensi. 2. DBMS memberikan fitur untuk melakukan backup sehingga apabila terjadi kegagalan dalam database dapat dilakukan recovery tanpa menghentikan kegiatan organisasi. 3. DBMS memiliki beberapa fasilitas untuk mengantisipasi kegagalan yang dapat terjadi pada database yaitu fasilitas backup, fasilitas log file atau journaling, dan fasilitas checkpoint. 4. Beberapa teknik recovery database yang bisa digunakan adalah deferred update, immediete update, dan shadow paging. 11.3. Soal Latihan 1. Berikan penjelasan mengenai metode backup dan recovery database aplikasi yang ada di unit kerja anda? 2. Buatlah proyeksi kapasitas dan pertumbuhan database yang digunakan oleh aplikasi yang ada di unit kerja anda? 11.4. Contoh Kasus Perusahaan properti “Kita Berjaya” telah melakukan proyeksi kapasitas dan pertumbuhan untuk kedua sistem database yang mereka kelola. Setelah hasil proyeksi keluar, biaya yang mereka miliki tidak mencukupi untuk mengimplementasikan teknik replikasi untuk kedua sistem database dengan 94 Pengelolaan Data mirroring. Teknik replikasi mirroring membutuhkan biaya yang tinggi untuk implementasinya. Akhirnya untuk sistem database yang mempunyai akses transaksi yang tinggi digunakan teknik replikasi mirroring dan untuk aplikasi kedua menggunakan teknik replikasi log shipping. Gambar 18. Replikasi database dengan Log Shipping Gambar 19. Replikasi database dengan Mirroring 95