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:
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.
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.
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