Apakah menjalankan kueri besar pada basis data sekunder di grup ketersediaan memengaruhi kinerja transaksi di basis data primer?
Itu tergantung pada mode sinkronisasi yang Anda gunakan saat mengonfigurasi grup Ketersediaan - Sinkronkan atau Async!
Pada replika sekunder , semua transaksi HANYA menggunakan tingkat Isolasi Snapshot dan semua petunjuk penguncian diabaikan juga. Itulah mengapa penting untuk menguji beban kerja Anda saat merangkul AlwaysON.
Dari: Meminimalkan pemblokiran utas REDO saat menjalankan pelaporan beban kerja pada Replika Sekunder
Sementara pemetaan melaporkan beban kerja ke isolasi snapshot menghilangkan pemblokiran antara beban kerja DML seperti yang diterapkan oleh utas REDO pada replika sekunder dan beban kerja baca atau pelaporan, itu tidak menghilangkan potensi pemblokiran benang REDO ketika menjalankan operasi DDL .
Jika menggunakan
Mode sinkron
Masalah pemblokiran pada replika sekunder Anda akan memengaruhi kinerja kueri Anda pada replika primer. Jadi beban kerja baca (pilih) yang berjalan pada sekunder mungkin memblokir ulangan untuk menerapkan perubahan yang berasal dari replika primer. Ini berarti bahwa replika primer harus menunggu agar perubahan diterapkan ke semua replika SYNC sekunder sebelum dilakukan secara lokal & mungkin berakhir dengan timeout atau pemblokiran atau kebuntuan.
Utas REDO dapat dilihat pada Readable Secondary sebagai DB STARTUP
perintah di sys.dm_exec_requests
. Jika utas itu diblokir, maka beban kerja baca Anda pada sekunder dapat menyebabkan dampak pada primer.
Untuk lebih jelasnya periksa - Skenario 1: REDO diblokir karena permintaan besar pada replika sekunder
Mode asinkron
- Primer tidak menunggu pengakuan dari sekunder. Masalah pemblokiran pada sekunder hanya diisolasi ke sekunder di mana antrian redo akan tumbuh pada sekunder sampai kunci jelas dan benang redo mampu menerapkan blok log. Ini tidak akan memengaruhi replika utama.
Definisi Anda tentang "real-time atau hampir real-time" perlu lebih banyak pemikiran mengingat metode sinkronisasi yang digunakan, latensi jaringan dan seberapa sibuk replika primer dan aktivitas log yang perlu diangkut sekunder.
SQL Server 2016 telah melakukan beberapa peningkatan besar dalam bidang AlwaysON misalnya