Loading
Nagitec

Database Mirroring

image title

Bagaimana jika sistem IT di perusahaan Anda tiba-tiba down atau hang, sehingga mesin database mengalami crash. Lebih jauh, jika terjadi bencana, maka data pun bisa hilang.

Nah, salah satu cara untuk melakukan perencanaan pemulihan terhadap bencana untuk data adalah dengan melakukan pencadangan atau salinan data. Ada banyak cara yang dapat dipilih untuk membuat pencadangan. Salah satunya dengan menggunakan metode mirroring. Pencadangan dengan metode Mirroring.

Teknologi mirroring adalah proses “penggandaan” atau “penduplikasian” database ke tempat lain. Agar suatu saat dapat diakses apabila terjadi kerusakan pada server utama. Selain itu dalam me-recovery membutuhkan catatan transaksi yang paling akhir. Untuk itu perlu adanya back up dengan metode mirroring server. Metode mirroring server ini nantinya berguna untuk penggandaan database dari server utama. Jadi, nantinya pengguna dapat tetap bekerja dan memproses data transaksi tanpa perlu kebingungan akibat data utama atau server utama terkena bencana.

Sejatinya, database mirroring merupakan salah satu bentuk Disaster Recovery Center (DRC) yang mekanismenya menggunakan sinkronisasi file satu arah. File yang terupdate akan disalin secara real time pada satu atau lebih target lokasi (target location) dari lokasi sumber (source location), namun tidak ada file yang disalin kembali ke lokasi sumber. Fungsi dari target location adalah untuk menggantikan fungsi source location pada saat mengalami masalah. Penempatan source location dan target location umumnya memiliki jarak minimal 60 kilometer dan berada pada kondisi geografis yang berbeda.

Sebenarnya, bisa saja perusahaan mempergunakan backup dari databasenya. Tetapi backup data dari database ketika sesuatu permasalahan terjadi tiba-tiba umumnya memerlukan waktu yang lama untuk proses recovery.  Selain itu, data yang tersimpan pun tidak pada posisi state terakhir. Dalam kondisi seperti inilah sebuah database mirroring diperlukan. Database mirroring bertujuan untuk mencegah terjadinya hal-hal yang tidak diinginkan pada database perusahaan, seperti mesin database mengalami crash, sistem hang atau down.

Dengan menjalankan database mirroring, perusahaan bisa menjalankan proses Failover (baik secara otomatis maupun manual). Failover adalah proses mengambilalih fungsi dari database primary (principal server) yang mati ke database secondary (mirror server), sehingga komputer client tidak mengetahui jika terjadi kegagalan pada server. Pasalnya, proses yang dilakukan pada server yang gagal atau mati akan dilanjutkan oleh server backup.

Pada dasarnya, jika perusahaan ingin menjalankan Failover secara manual, maka hanya butuh 2 server, yaitu server yang di sebut Principal dan Mirror. Namun jika menginginkan Failover secara otomatis, dibutuhkan satu server lagi yang biasa disebut Witness, yang berfungsi sebagai monitor terhadap Principal dan Mirror.

Principal dan mirror server berkomunikasi sebagai partner dalam mirroring ini, dan masing-masing mempunyai role sebagai principal role dan mirror role. Tetapi bisa saja pada suatu saat role ini berpindah, yang tadinya mempunyai role sebagai principal menjadi mirror, dan sebaliknya. Mirroring bisa berjalan dengan cara synchronous ataupun asynchronous, kedua cara ini masing-masing ada keuntungan dan kerugiannya.

Model synchronous akan lebih bagus dari sisi konsistensi data, karena ketika terjadi transaksi, akan disimpan ke dalam 2 partner. Tetapi ini akan menyebabkan peningkatan dalam hal cost latency untuk transaksi. Sedangkan model asynchronous transaksi akan commit tanpa menunggu server mirror selesai melakukan penulisan data ke database mirror.

Untuk model operasinya sendiri mirroring dibedakan menjadi 2 jenis, yaitu highsafety mode dan high-performance mode. Highsafety mode jalan dalam model synchronous, sedangkan high-performance mode jalan dalam model asynchronous.

Yang mesti diketahui, tentunya untuk mengembangkan sistem mirroring ini memerlukan biaya yang mahal. Untuk itu dalam memutuskan apakah mirroring itu diperlukan atau tidak perlu dilakukan sebuah cost and benefit analysis (CBA).

Selain itu, karena biayanya mahal, maka mirroring database ini cocok diimplementasikan untuk sistem dengan database terpusat. Adapaun syarat utama database terpusat adalah sarana komunikasi atau aliran data komunikasinya mendukung. Juga, jenis data termasuk dalam data yang memerlukan update realtime seperti perbankan, imigrasi, ataupun black list beacukai.

Jadi, dtabase mirroring sangat diperlukan pada sistem database yang harus beroperasi secara terus menerus. Dan saat terjadi kegagalan sistem, potensi kerugian yang ditimbulkan (langsung maupun tidak langsung) sangat besar dan upaya memperbaikinya sangat berat dan lama sehingga melebihi biaya yang diperlukan untuk pembuatan dan pemeliharaan mirroring itu sendiri.

Kendati begitu, mirroring database adalah strategi sederhana yang menawarkan keuntungan. Pertama, meningkatkan perlindungan data. Mirroring database menyediakan redundansi lengkap atau hampir lengkap dari data, tergantung pada apakah modus operasi tinggi-keamanan atau performa tinggi. Kedua, meningkatkan ketersediaan database. Dalam hal terjadi bencana, dalam mode tinggi-keamanan dengan failover otomatis, failover cepat membawa salinan siaga dari database online (tanpa kehilangan data). Dalam modus operasi lain, database administrator memiliki alternatif layanan memaksa (dengan kehilangan data) untuk salinan database siaga. (*dari berbagai sumber)