MERANCANG ARSITEKTUR DATABASE


A. IMPLIKASI YANG BERSIFAT ARSITEKTUR TERHADAP BACKUP DAN RECOVERY DIIDENTIFIKASI
Implikasi yang bersifat arsitektur terhadap backup dan recovery dapat diidentifikasi dengan melakukan peninjauan ulang terhadap arsitektur basis data yang akan terlihat dari beberapa hal berikut.

1. Kecepatan dan Kemudahan (Speed)
          Basis data memungkinkan kita lebih mudah dalam menyimpan data/ manipulasi terhadap data atau menampilkan kembali data tersebut dengan dengan lebih cepat dan muda daripada kita menyimpan data secara manual.

2. Efesiensi Ruang Penyimpanan (Space)
Karena keterkaitan erat antar kelompok data dalam sebuah basis data maka redunsasi (pengulangan) data pasti akan selalu ada. Banyaknya redunsasi situ akan memperbesar tempat penyimpanan. Selain itu kita dalam melakukan penekanan redunsai itu.

3. Keakuratan (Accurancy)
          Pemanfaatan pengkodean atau pembentukan relasi antar data bersama dengan penerapan aturan/batasan tipe data, domai data, keunikan data, dan sebagainyayang secara ketat dapat diterapkan dalam sebuah basis data sangat berguna untuk menekan ketidakakuratan pemasukan/penyimpanan data.

4. Ketersediaan (Availability)
Pertumbuhan data sejalan dengan waktu akan semakin membutuhkan ruang penyimpanan yang besar. padahal tidak semua data itu selalu kita gunakan. karena itu kita dapat memilah adanya data utama, data transaksi, data histori hingga data kadaluarsa. Di sisi lain karena kepentingan pemakaian data, sebuah basis data dapat dimiliki data yang disebar dibanyak lokasi geografis. 

5. Kelengkapan (Kompleteness)
Lengkap/tidaknya data bersifat relatif. bila seorang pemakai sudah menganggap bahwa data yang dipelihara sudah lengkap maka pemakai yang lain belum tentu berpendapat sama atau sebaliknya.  Dalam sebuah basis data, disamping data kita juga harus menyimpan struktur mendefinisikan objek-objek dalam basis maupun definisi detail tiap objek, seperti struktur. untuk mengakomodasi kebutuhan kelengkapan data yang semakin berkembang maka kita tidak hanya dapat menambah record-record saja, tapi juga dapat melakukan perubahan struktur data dalam basis data.

6. Keamanan (Security)
Memang ada sejumlah data yang tidak menerapkan sistem keamanan. tapi untuk sistem yang benar dan serius, aspek keamanan juga harus dilakukan dengan ketat. Dengan begitu kita dapat menentukan siapa saja yang dapat menggunakan basis data beserta objek-objek di dalamnya.

7. Kebersamaan Pemakaian (Sharability)
            Pemakaian basis data seringkali tidak terbatas pada satu pemakai. Basis data yang dikelola oleh system yang mendukung lingkungan multiuser akan dapat memenuhi .
            Perancangan adalah langkah pertama dalam fase pengembangan rekayasa produk atau system. Perancangan itu adalah proses dari penerapan dari berbagai teknik dan prinsip yang bertujuan untuk mendefinisikansebuah peralatan, suatu system atau suatu proses secara detail yang membolehkan dilakukan realisasi model analisa dikonversikan. Fase ini adalah inti dare perangkat lunak.
            Banyak langkah yang dilakukan dalam perancangan perangkat lunak. Menurut Wasserman aktivitas utama dalam perancangan data adalah memilih gambaran logic dari struktur data yang dikenali selama fase spesifikasi dalam pendefinisian keperluan. Pemilihan ini melibatkan analisis alogaritma dari alternative struktur dalam rangka menentukan perancangan yang paling efesien.
            Berikut adalah petujuk dalam melakukan input data.
1.        Kurangi jumlah aksi input yang diperlukan pemakai
2.      Jaga konsistensi antara tampilan informasi dan input data
3.      Bolehkan pemakai melakukan penyesuaian input
4.     Interaksi harus fleksible tapi tidak disetel ke mode input yang disukai pemakai
5.      Padamkan perintah yang tidak sesuai dengan aksi saat itu.
6.     Sediakan help untuk menyediakan membantu semua aksi input
7.      Buang input “mickey mouse”

B. MENGIDENTIFIKASI DAN MENGUJI  SKENARIO KEGAGALAN DAN RESIKO
            Pengidentifikasian dan pengujian scenario kegagalan dan resiko dapat dilakukan dengan memantau situasi sebagai berikut.
1.     Pencurian
2.   Kehilangan kerahasiaan
3.    Kehilangan privacy
4.   Kehilangan integritas
5.   Kehilangan ketersediaan
Proteksi basis terhadap ancaman melalui kendali yang bersifat teknis maupun adminitrasi perlu dilakukan. Ancaman / gangguannya dapat berupa :
1.        Tangible, kehilangan hardware, software, data
2.      Intangible, kehilangan kredibilitas, kehilangan kepercayaan client
Kerusakan basis data dapat pulih kembali dengan lama sesuai dengan berikut ini.
1.        Apakah ada hardware/software alternative yang dapat digunakan
2.      Kapan backup terakhir dilakukan
3.      Waktu yang diperlukan untuk meng-restore system
4.     Apakah data yang dihilangkan dapat pulih


Menentukan Kebutuhan Sistem


  1. BIDANG BACKUP DAN METODE RECOVERY
     Backup adalah kegiatan menyalin kumpulan data yang tersimpan dalam hardisk komputer yang biasa dilakukan dari satu lokasi ke lokasi lain. Hal ini dikarenakan potensi yang mengakibatkan hilangnya data baik disebabkan oleh kesalahan pengguna maupun kesalahan teknis pada kondisi komputer tersebut. Untuk memudahkannya maka para pengembang software membuat aplikasi khusus dengan sistem network Client Server sehingga data akan dibackup lebih teratur dan aman. 

1. Metode Backup Data
     Backup data adalah kegiatan yang harus dilakukan oleh pengelola database. Proses ini dilakukan secara rutin karena hal ini sangatlah penting. Dimisalkan seorang pengelola database dalam 1 hari melayani 100 transaksi bisa dibayangkan betapa banyaknya data yang terkumpul selama 1 bulan. Seandainya pada hari kedua minggu ketiga terjadi crash system. Data-data yang telah terkumpul akan hilang jika sebelumnya tidak dilakukan backup.
        a. Konsep Backup
              Proses backup pada teknologi informasi mengacu pada penyalinan data, sehingga salinan tambahan itu dapat digunakan untuk pengembali data-data yang telah hilang. Backup sangat berguna terutama dalam dua tujuan, yaitu memulihkan keadaan setelah bencana : dan untuk mengembalikan sejumlah kecil file yang telah dihapus atau rusak. 
Berdasarkan lingkup data, Backup dibedakan menjadi :
  • Full backup
  • Network backup
  • Dump backup
  • Incremental backup
  • Diferensial backup
       b.  Konsep Replikasi
                    Replikasi adalah suatu teknik melakukan copy dan pendistribusiandata dan objek database dari satu database ke database lain dan melaksanakan sinkronisasi antara database sehingan konsistensi data terjamin.
Jenis Jenis Replikasi meliputi :
  • Snapshot Replication
  • Transactional replication
  • Merge replication
  c.         Konsep MySQL Dump
Untuk keperluan ini MySQL menyediakan sebuah utility yang dinamakan MySQLDump. MySQLDump adalah utilitas berupa program cadangan yang pertama kali ditulis oleh Igor Romanenko, digunakan untuk pembuangan (dump) data sebuah database atau kumpulan database, untuk cadangan (backup) atau perpindahan (transfer) data ke server lain. Hasil dumpling dapat berisi pernyataan SQL untuk membuat tabel, insert dan yang lain dalam bentuk file CSV, teks editor, atau format XML.

Banyak cara untuk melakukan backup data. Berikut ini metode yang bisa dilakukan saat kalian melakukan backup data.

     a.      Backup Logika dan Backup Physic

Backup logika adalah menyimpan perintah logic dari struktur database dan isinya yang direpresentasikan dalam perintah SQL, seperti CREATE DATABASE, CREATE TABLE dan INSERT DATA.

Berikut karaterististik backup secara logika

    1)      Backup dilakukan melalui server MySQL untuk mengambil struktur dan informasi data

  2)  Backup berjalan lebih lambat karena server harus mengakses informasi data dan mengirimkannya dalam bentuk logika pada file backup

    3)      Output bisa lebih besar daripada bentuk fisik. Misalkan pada data yang disimpan 5 MB dalam bentuk file SQL maka pada saat recovery akan terjadi kehabisan memori karena prosesnya akan mengkabiskan banyak memori unuk mengembalikan dalam bentuk semula

    4)      Backup dan Restore dilakukan dengan mengabaikan mesin yang digunakan

    5)      Backup logika tidak melibatkan banyak file hanya satu file logika yang biasanya disimpan dalam file SQL.

    6)      Data disimpan dalam bentuk logika yang merupakan bahasa DDL dan DML

    7)      Backup data dilakukan saat server sudah dijalankan

    8)      Program untuk backup digunakan mysqldump.exe yang memanggil file dikeluarkan dalam bentuk logika file, seperti tsiswa.sql

    9)      Untuk mengeluarkan data dalam bentuk file lain bisa digunakan perintah: SELECT….INTO OUTFILE

Backup fisik adalah mengambil database dalam bentuk fisik, untuk database yang menggunakan Appserv secara fisik data disimpan pada folder C:\\Appserv\Mysql\data\.

Berikut ini karakteristik backup fisik:

      - Backup terdisi atas salinan file dan database. Ini adalah salinan dari semua bagian direktori MySQL, data dari tabel memori tidak disimpan pada disk.

     - Backup data secara fisik lebih cepat karenan tidak melakukan memrosesan logika hanya pengcopian secara fisik.

        - Outputnya lebih sederhana dibandingkan backup logika

       - Sebagai tambahan dari database, backup dapat meliputi file manapun yang terdiri atas file Myi, MYD dan FRM



    b. Backup online dan backup offline

Backup online dilakukan saat server MySQL sedang berjalan sedangkan backup offline dilakukan saat server sedang dihentikan.

Media penyimpanan backup data yang paling simpel dan sederhana adalah flshdisk, memori card, CD/DVD, hardisk external. Untuk versi online kita bisa menyimpannya di server tempat penyimpanan layanan data seperti Cloud Service Dropbox atau media penyimpanan di internet seperti 4shared dan lain sebagainya.

Atau kita juga bisa memanfaatkan layanan tempat penyimpanan data dari google yaitu Google drive. Dengen Google Drive kita bisa membuat, berbagai dan menyimpan semua file di satu tempat, lalu kita bisa mengakses dokumen dimana saja.

Untuk backup data kontak, email dan agenda (kalender) kita juga bisa memanfaatkan layanan Google Sync (Backup Gratis Nomor Ponsel Dengan Google Sync). Dengan fasilitas sinkronisasi maka daftar kontak yang ada di phonebook ponsel/table akan dicopikan ke dalam daftar kontak Gmail. Ketika ponsel kita rusak/hilang maka tinggal kita setting akun google kita setting akun gmail kita dan otomatis akan menyalin hasil backup data kontak/agenda dari Gmail ke ponsel kita.

     c. Back Up database dari Cpanel

Melakukan backup file di akun cpanel kita secara mandiri akan memudahkan kita jika suatu saat ada sesuatu yang bermasalah di server. Misalnya hardisk utama mengalami kebakaran ataupun bad sector/crash yang membutuhkan waktu lama untuk perbaikan.  Biasanya dalam hal ini webhoster akan memindahkan akun anda ke server lain yang masih berjalan normal.



Backup dapat digunakan untuk restore setelah failure. Failure ini disebabkan oleh:

  • -   Media failure
  • -   Iser errors, misalnya: tidak sengaja drop table
  • -   Hardware failure, misalnya: disk-drive rusak atau permanent loss sebuah server; dan
  • -   Natural disasters

  Strategi Backup dan Restore meliputi:

  • -  Tipe dan frekuensi backup
  • -  Kecepatan hardware
  • -  Bagaimana backup diuji
  • -  Dimana dan bagaimana media backup disimpan
  • -  Siapa yang melakukan restore

d.      Desain Strategi Backup

  

  Apakah perubahan yang terjadi di bagian kecil atau besar database? Untuk database besar yang terkonsentrasi pada bagian files atau filegroup, pilih partai backup ata file backup.

  

  Berapa banyak ruang disk dibutuhkan untuk backup? Perkiraan disk space terutama untuk full database backup. Backup berisi data actual pada database, tidak termasuk space kosong/tidak digunakan. Seharusnya ukuran backup lebih kecil dibanding database itu sendiri. Gunakan system procedure sp_spaceused


2.        Recovery


Adalah suatu proses untuk mengupdate database dengan file bacup yang telah disimpan terakhir kalinya. Recovery ini memiliki model yaitu recovery model yang digunakan untuk menentukan tipe backup dan skenario restore dan mengkontrol bagaimana transaction log dikelola. Database yang menggunakan model recovery yaitu sebagai berikut.


a.      Full Recovery Model


Pada model ini, transaction log akan di truncate (dipotong) pada saat dilakukan backup transcation log. Sebagai catatan, perintah truncate transaction log tidak akan berpengaruh pada ukuran transaction log.



Full recovery model menggunakan log backup untuk mencegah kehilangan data karena berbagai macam skenario kegagalan. Transaction log (log backup) diperlukan. Dapat restore database ke suatu titik waktu yang terdapat dalam log backup (point-in-time recovery). Dapat menggunakan log backup untuk roll-forward dataase ke suatu titik pada suatu log-backup. Kelemahannya membutuhkan media penyimpanan besar dan waktu restore dan kompleksitas meningkat.



Ilustrasi Full Recovery  Model


    1) Full Database backup+log (yang paling mudah)

-          Backup full database: Db_1 ; Log backup:Log_1 , Log_2

-          Setelah Log_2, hilangnya data terjadi Sebelum 
           keiga   backup di restore, db admin harus 
           membackup   active log (tail of the log/tail)

-          Restore db_1 , Log_1 , Log_2 tanpa recovery database

-          Db admin merestore dan merecovery tail

-          Database ter-tecover ke titik kegagalan, 
           merecover  semua data

    2) Strategi backup mengurangi workloss exposure dengan:

-          Differential backup+log

-          Transaction log backup mengurangi workless exposure potensial setelah log backup terbaru, t14. Rangkaian 3 diff backup digunakan mengurangi jumlah transaction log that akan direstore kalau ada kegagalan 3 diff backup cukup besar untuk backup berikutnya sebagai full database backup.

    3) Sebelum backup database pertama, ada kemungkinan hilangnya data pada t0-t1.

    4) Setelah itu log backup yang rutin mengurangi kemungkinan hilangnya data setelah log backup terakhir

    5) Bila ada kegagalan, maka db admin membackup tail of the log (tail) atau log uang belum dibackup

    6) Bila tail-log sukses dibackup, db admin dapat  menghindari kehilangan data dengan merestore ke titik kegagalan



b.      Bulk-Logged Recovery Model


Bulk-logged recovery model akan menuliskan data page yang telah dimodifikasi ke dalam file data sebelum transaksi dinyatakan selesai. Berlawanan dengan full recovery model yang hanya membutuhkan penulisan ke log untuk menyatakan transaksi selesai. Operasi bulk akan lebih pelan pada sistem IO yang pelan.



c.       Simple Recovery Model


Hampir sama dnegan bul0logged beberapa operasi bersifat minimally logged. Macam-macam transaksi tersebut sama persis dengan bulk-logged. Perbedaan mendasar adalah pada pemotongan transaction log. Transaction log akan otomatis terpotong pada saat checkpoint selesai.



Karena tidak ada backup log maka ketika terjadi database failure, yang bisa dilakukan adalah merestore full backup atau differential backup yang terakhir.


Ilustrasi Simple Recovery Model



     1) Full database backup

   Cocok untuk database kecil sehingga dapat sering dibackup

     2) Strategi backup mengurangi work-loss exposure

-       Differential database backup

-       Dibanding full database

-       Setelah database backup pertama, sekumpulan differential backup dibuat (3 diff backup)

-      Setelah diff backup ketiga cukup besar, backup berikutnya adalah database backup untuk membuat defferential base baru.



B.       Backup Offline sesuai dengan Kebutuhan Organisasi dan Keamanan dengan Waktu Mati (Down Time) Minimal



Offline backup digunakan sebagai sebuah tindakan perlindungan karena dengan menggunakan metode backup ini, pengguna tidak dapat melakukan updating sehingga file backup tetap dalam keadaan tidak tersentuh.



Offline backup merupakan jenis backup yang paling mudah. File-file yang dibackup ketika melakukan offline backup yang proses menutup database, seperti:

     1. Datafile, untuk menyimpan semuda data yang ada dalam database.

     2. Control file, untuk menyimpan struktur fisik dari database.

     3. Redo log file, untuk menyimpan semua perubahan file yang terjadi pada database yang 

        digunakan dalam proses recovery.

     4. Parameter file (init.sid), yaitu file yang berisi parameter-parameter dari database.



Langkah langkah untuk melakukan backup offline basis data adalah sebagai berikut:

 1. Masuk ke start-Programs-Mocrosoft SQL Server-Enterprise Manager.

 2. Maka akan tampil layar Enterprise Manager

-            Klik tanda + yang ada di depan tulisan microsoft SQL Servers maka akan tampil tulisan 

        +SQL Server Groups dibawah tulisan Microsoft SQL Servers.

-            Klik tanda + yang ada di depan tulisan SQL server Groups maka akan tampil tulisan +(Local) (Windows NT)

-            Klik tanda + yang ada di depan tulisan Local (Windows NT) maka akan tampil layar Windows NT.

-            Klik tombol connect

     3. Klik tanda + yang ada di depan folder Databases, maka akan tampil nama nama database yang ada di dalam server (local) ini

     4. Klik kanan pada databases atau pada salah satu database, lalu pilih All Task>Backup 

        Database maka akan tampil layar Backup Database

     5. Pilih Database yang ada di backup di Database droplist, bila diperlukan isi nama backup di Name textbox dan keterangan di Description textbox

     6. Pilih Databas-complete jika akan melakukan backup seluruh data

     7. Pilih database-differential jika akan melakukan backup hanya data yang terjadi 

        perubahan sejak terakhir dilakukan backup database complete. Untuk bisa melakukan 

        backup database differential setidaknya sudah pernah melakukan backup database 

        complete minimal sekali

     8. Pilih Transaction Log jika akan melakukan backup transaction log.

     9. Pilih File and filegroup  jika akan melakukan backup per filegroup. Klik button yang 

        digunakan untuk mencari filegrounp

   10. Pilih Tape jika akan melakukan backup ke tape device

   11. Pilih disk jika akan melakukan backup ke disk device

   12. Klik button Add untuk menambahkan target backup

   13. Klik button Remove untuk menghapus target backup

   14. Klik button Content untuk melihat detail dari isi target backup

   15. Pilih append to media jika backup ke tape melanjutkan sisa backup sebelumnya

   16. Pilih overwrite existing media jika backup ke tape menulis ulang dari awal lagi.Pilih lokasi penyimpanan datanya Kemudian isi nama file di kotak file name. Jika sudah klik OK. Pastikan kotak file name sudah terisi dengan lokasi dan nama file yang diinginkan. Jika sudah benar klik tombol OK

   17. Selesai

   Cek hasil backup date melalui Windows Explore, lihat ke folder tempat penyimpanan data tersebut.

      

   Downtime adalah keadaan dimana web anda tidak bisa diakses dalam waktu tertentu.

   

   Ada 3 backup dalam mengembalikan basis data ke keadaan yang dianggap benar setelah terjadinya downtime

        1. Pemulihan terhadap kegagalan transaksi

        2. Pemulihan terhadap kegagalan media

        3. Pemulihan terhadap kegagalan sistem



Fasilitas backup pada DBMS

     1. Fasilitas logging dengan membuat track pada tempatnya saat transaksi berlangsung dan pada saat database berubah

     2. Fasilitas checkpoiny, melakukan update database yang terbaru

     3. Manager pemulihan, memperbolehkan sistem untuk menyimpan ulang database menjadi lebih konsisten setelah terjadinya kesalahan



Teknik backup

     1. Defered update/perubahan yang ditunda: perubahan pada database tidak akan berlangsung sampai transaksi ada pada point disetujui (COMMIT)

     2. Immediate Upadate/prubahan langsung. Perubahan pada DB akan segera tanpa harus menunggu sebuah transaksi tersebut disetujui

     3. Shadow Paging: menggunakan page bayangan dimana prosesnya terdiri atas 2 tabel yang sama, yang satu menjadi tabel transaksi dan yang lain digunakan sebagai cadangan.



      C.      File Backup Online sesuai kebutuhan Organisasi dan Keamanan denngan Waktu 
             Mati (Down Time) Minimal

Backup online adalah metode penyimpanan data offsite dimana file, folder, atau seluruh isi sistem secara teratur didukung pada remote server atau komputer dengan koneksi jaringan. Sejumlah organisasi menyediakan layanan backup online untuk pelanggan yang komputernya terhubung ke internet, secara otomatis menyalin file yang dipilih untuk cadangan penyimpanan di penyedia layanan.

Semakin banyak organisasi yang tergantung pada penyedia layanan backup online untuk keamanan tambahan pada file komputer yang mereka simpan. Ada kesadaran bahwa sebagian besar pekerjaannya bergantung pada data ini. Bagi mereka penyimpanan ini berfungsi dengan baik sebagai penyimpan data pada komputer di zaman modern.



Ada beberapa keuntungan dari layanan backup online yaitu sebagai berikut;

        1. Otomatis, setelah salah satu menetapkan jadwal mereka, itu sepenuhnya otomatis.

        2. Aman, data disimpan pada tape disk dan tidak.

        3. Diakses dan dikelola dari mana saja

        4. Efisien penggunaan internet

        5. Tidak ada penanaman modal.

        6. Kepatuhan peraturan



Tujuan dari setiap backup online dan rencana pemulihan adalah untuk menjaga integritas sistem dan organisasi dengan sedikit atau tidak ada gangguan dalam proses.



Sebaik apapun teknologi pasti juga memiliki kekurangan. Beberapa kekurangan yang ditimbulkan dari layanan online antara lain:

     1. Komputer menjadi lambat atau tidak bisa dipakai sama sekali jika internet bermasalah 

         atau kelebihan beban

     2. Organisasi yang menyewa layanan dari cloud computing tidak punya akses langsung ke sumber daya. Jadi semua tergantung dari kondisi vendor/penyedia layanan cloud computing

     3. Jika server vendor rusak atau punya layanan backup yang buruk, maka organisasi akan mengalami kerugian besar.