Rabu, 18 Juni 2014

Database Mirroring

DATABASE MIRRORING

Untuk menyelesaikan tugas sistem basis data yaitu mencari sistem basis data masa kini, setelah mencarinya banyak sekali artikel mengenai Database Mirroring.

Apa itu Database Mirroring ?
Database ini adalah proses penduplikatan ke database lain hal ini bertujuan untuk mencegah terjadinya database mendadak crash atau tidak terbaca dan sebagainya, meskipun bisa mempergunakan backup database kita namun proses recovery itu sendiri memakan waktu dan juga data tidak bisa ke state akhir.

Database mirroring ini mendukung fasilitas failover yaitu apabila terjadi kerusakan pada database primary maka aka nada cadangan di database sekunder yaitu mirror server. 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 bisa saja menjadi mirror dan sebaliknya, mirroring dapat berjalan secara synchronous dan asynchronous.
Untuk modelnya operasinya sendiri mirroring di bedakan menjadi 2 jenis, yaitu high-safety mode dan high-performance mode. High-safety mode jalan dalam model synchronous sedangkan high-performance mode jalan dalam model asynchronous.
Dalam mirroring kita bisa juga membuat suatu konfigurasi dengan membuat automatic failover, tetapi konfigurasi ini membutuhkan satu server instance lagi yang disebut dengan witness server.
Witness server akan selalu memonitor kedua server tersebut, principal server dan mirror server, apabila terjadi sesuatu pada principal server, maka otomatis principal server ini akan di pindahkan ke mirror server, dan mirror server akan berubah rolenya menjadi principal
Mirroring database mempertahankan dua salinan dari sebuah database tunggal yang harus berada pada kasus server yang berbeda dari SQL Server Database Engine. Biasanya, kasus server berada pada komputer di lokasi yang berbeda. Satu contoh server database berfungsi untuk klien (server utama). Contoh lain bertindak sebagai server mirror, tergantung pada konfigurasi dan keadaan dari sesi mirroring. Ketika sesi mirroring database disinkronkan, mirroring database menyediakan server siaga yang mendukung failover yang cepat tanpa kehilangan data dari transaksi yang dilakukan. Ketika sesi tidak disinkronkan, server mirror biasanya tersedia sebagai server siaga.
Mirroring database adalah strategi sederhana yang menawarkan keuntungan sebagai berikut:

  • Meningkatkan perlindungan data.
Mirroring database menyediakan redundansi lengkap atau hampir lengkap dari data, tergantung pada apakah modus operasi tinggi-keamanan atau performa tinggi.

  • 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 mungkin) untuk salinan database siaga.

  • Meningkatkan ketersediaan database produksi selama upgrade.
Untuk meminimalkan downtime untuk database mirror.




Bagaimana Database Mirroring Bekerja




Server utama dan mirror berkomunikasi dan bekerja sama sebagai mitra dalam sesi mirroring database. Dua database melakukan peran pelengkap dalam sesi: peran utama dan peran mirror. Pada waktu tertentu, satu database melakukan peran utama, dan yang lainnya melakukan peran mirror.
Mirroring database melibatkan mengulangi setiap insert, update, dan menghapus operasi yang terjadi pada database utama ke database mirror secepat mungkin. Pengulangan dilakukan dengan mengirimkan aliran catatan log transaksi aktif ke server mirror, yang berlaku catatan log ke database mirror, dalam urutan secepat mungkin. Tidak seperti replikasi, yang bekerja di tingkat logis, mirroring database bekerja di tingkat catatan log fisik.







Memilih mode database mirroring

Tiga mode operasional yang disediakan untuk mirroring:

  • synchronous
  • asynchronous
  • asyncfullpage
Modus sinkron adalah default. Mode ini mengontrol kapan dan bagaimana transaksi dicatat pada server mirror, dan Anda mengatur mereka dengan pilihan server-xp.
Bila memilih modus sinkronisasi untuk sistem mirroring database Anda, Anda harus menentukan apakah pemulihan kecepatan atau keadaan data yang lebih penting ketika terjadi failover.
Anda dapat memeriksa modus mirroring database dengan query nilai dari properti database MirrorMode:

  • Synchronous mode
Pada mode sinkron, transaksi berkomitmen dijamin akan direkam pada server mirror. Jika kegagalan terjadi pada server utama, tidak ada transaksi berkomitmen hilang ketika server mirror mengambil alih. Dalam mode ini, server utama mengirimkan halaman transaksi log untuk mirror ketika transaksi berkomitmen. 




  • Asynchronous mode
Dalam modus asynchronous, transaksi yang dilakukan tidak dijamin akan direkam pada server mirror. Dalam mode ini, server utama mengirimkan halaman transaksi log untuk mirror ketika transaksi di commit. Ia tidak menunggu pengakuan dari mirror sebelum menjawab ke aplikasi yang COMMIT telah selesai. 

  • Asyncfullpage mode
Dalam Asyncfullpage mode, halaman tidak dikirim pada COMMIT, melainkan, mereka dikirim saat halaman penuh. Hal ini akan mengurangi jumlah lalu lintas antara dua server database dan meningkatkan kinerja dari server primer

Asynchronous dan Asyncfullpage mode lebih cepat daripada mode sinkron.


Sumber : http://msdn.microsoft.com/en-us/library/ms189852.aspx
 

Tidak ada komentar:

Posting Komentar