Blog

Giới thiệu về Change Data Capture

Hiện tại, có nhiều cách để thực hiện việc lưu lại change data khi thực hiện Insert, Update, Delete như : triggers , so sánh bảng nguồn và bảng đích, cdc, change tracking, Row version, time stamps,… Mỗi solution đều có ưu và nhược điểm, và nhà phát triển cần lựa chọn cho phù hợp với từng hệ thống Tài liệu này sẽ giới thiệu về cdc

1. Cơ chế hoạt động

Khi enable cdc, ta sẽ có 2 job. 1 capture job thực hiện ghi nhận thay đổi và 1 clean job thực hiện clear log thay đổi, để tránh quá tải hệ thống

Thứ nhất là Job capture:
Job này sẽ thực hiện exec sp sys.sp_MScdc_capture_job để xác định parameter sau:

Continuous (default 1): 1 nếu capture job cấu hình chạy liên tục, 0 nếu chỉ chạy 1 lần

Maxtrans (default 500): số lượng transaction tối đa trong mỗi lượt scan log

Maxscans (default 10): số lượt scan log trong mỗi scan phase trước khi pausing (nếu continuous = 1) hoặc ngừng hẳn ( nếu continuous = 0)

Pollinginterval (default 5): thời gian pausing (giây) giữa mỗi scan phase

Sau khi xác định các param thì exec sp sys.sp_cdc_scan. Sp này thực hiện 2 việc là exec sp sys.sp_replcmds để đọc log, và insert log vào các bảng cdc. Mỗi lần thực hiện xong 2 việc trên là 1 lần scan maxtrans hay còn gọi là 1 log scan session

Vì Capture Process (đọc log và viết log ra bảng cdc) đọc dữ liệu từ transaction log, nên sẽ có độ trễ giữa thời điểm transaction xảy ra và thời điểm Capture Process ghi nhận thay đổi cũng như thời điểm log được ghi nhận trên cdc.table_CT. Ta sẽ nói rõ hơn về việc tối ưu độ trễ ở mục cấu hình job cdc ở phần dưới

Với Cleanup Job: thực hiện clean các bảng change table và mặc định là chạy định kì lúc 2h sáng để change data chỉ lưu tối đa 3 ngày. Job này sẽ được cấu hình bởi 2 tham số

Retention: thời gian(phút) bản ghi log được lưu lại trên bảng cdc

Threshold: số lượng tối đa bản ghi log trên bảng cdc bị delete ở mỗi lươt cleanup. Mỗi lần clean job chạy, sẽ có nhiều lượt cleanup để đảm bảo giá trị Retention

2. Cấu hình cdc

Để enble cdc, ta thực hiện enable cdc trên database và trên table mà ta muốn capture change data USE MyDB
GO
EXEC sys.sp_cdc_enable_db
GO
USE MyDB
GO

EXEC sys.sp_cdc_enable_table
@source_schema = N’dbo’,
@source_name = N’MyTable’,
@role_name = N’MyRole’,
@filegroup_name = N’MyDB_CT’,
@supports_net_changes = 1
GO
Để kiểm tra các tham số cấu hình job, ta select ở bảng msdb.dbo.cdc_jobs

Để thay đổi các tham số trên, ta thực hiện câu lệnh sau:

EXEC sp_cdc_change_job @job_type=’capture’, @maxtrans = 500, @maxscans = 10, @continuous = 1, @pollinginterval = 5

EXEC sp_cdc_change_job @job_type=’cleanup’, @retention = 4320, @threshold = 5000

Chú ý: sau khi setup lại các tham số trên, cần stop và start lại capture job

Để disable cdc trên bảng hoặc trên cả database USE MyDB
GO
EXEC sys.sp_cdc_disable_db
GO
USE MyDB
GO
EXEC sys.sp_cdc_disable_table
@source_schema = N’dbo’,
@source_name = N’MyTable’,
@capture_instance = N’dbo_MyTable’
GO

3. Kết luận

Như vậy, ta đã nắm được cơ chế hoạt động và cách cấu hình cdc. Ở bài tiếp theo, chúng ta sẽ tìm hiểu cách tối ưu các tham số trong cdc

    Xin vui lòng điền vào form dưới đây. Chúng tôi sẽ liên hệ lại ngay cho bạn khi nhận được thông tin:


    Leave a Reply

    Your email address will not be published. Required fields are marked *

    Data Pola Mahjong Ways Terhadap Frekuensi Scatter yang Bisa Jadi Acuan Dinamika Tempo Permainan Terhadap Probabilitas Dan Pengambilan Keputusan Mengenal Pola Olympus Gate Tanpa Banyak Teori Efektivitas Keputusan Bermain Berdasarkan Jejak Statistik Pola Setiap Sesi Adaptasi Strategi Pemain Menghadapi Pergeseran Ritma Perilaku Elemen Digital Dinamika Distribusi Simbol Mengukur Potensi Siklus Pola Putaran Yang Makin Menarik Evaluasi Pergeseran Algoritma RNG Membentuk Peluang Putaran Persentase Teoritis Kajian Perilaku Kompetitif Pemain yang Membuat Putaran Berulang Membentuk Momentum Transisi Panduan Pemula Masuk Dunia Kasino Online Terbaru Setelah Update Pendekatan Statistik dalam Sesi Bermain Kasino Online Merespons Perubahan Formasi Reel Analisis Kemunculan Multiplier Sweet Bonanza Melalui Pendekatan Ritme Dinamis Starlight Princess Sajikan Scatter Ketika Fenomena Pola yang Sering Berubah-ubah Formasi Black Scatter Fitur Mahjong Wins 3 Mengukur Potensi Kemenangan Besar Pengelolaan Ritme Reel Membuka Peluang Strategis Dalam Meningkatkan Efektivitas Keputusan Pemain Menilai Efektivitas Kasino Online Terhadap Responsivitas Fitur Putaran Otomatis Mahjong Ways Evolusi Visual Integrasi Animasi Tradisional ke Distribusi Winrate Stabil Mengenal Pola Kartu Baccarat Kasino Online Tanpa Banyak Teori Analisis Pengaruh Ritme Pola Gates Of Olympus Terhadap Peluang Turunnya Multiplier Mengukur Efektivitas RNG Mahjong Wins Dalam Membaca Pergeseran Algoritma Cai Shen Wins Yang Menawarkan Hujan Koin Beri Dampak Terhadap Tingkat Retensi Pengguna Dinamika Pergeseran Simbol Starlight Princess Saat Tempo Mulai Dipercepat Secara Berkala Mengenal Black Scatter Mahjong Wins 3 Tanpa Pola Ribet Panduan Visual Membaca Pergerakan Formasi Mahjong Ways Tanpa Harus Bergantung Pada Teori Rumit Pemetaan Pola Dinamis dalam Membaca Perubahan Struktur Interaksi Digital Strategi Mengelola Momentum Taruhan Menggunakan Fitur Putaran Otomatis Yang Lebih Stabil Black Scatter RTP Yang Menawarkan Hasil Optimal Serta Peluang Jangka Panjang Distribusi Probabilitas Perkembangan Teknologi Bawa Baccarat ke Algoritma Sistem Otomatis Evaluasi Efektivitas Interaksi Digital Kemunculan Black Scatter Secara Beruntun Mengenal Pola Gold Scatter Starlight Princess Tanpa Banyak Teori Transformasi Mekanisme Sistem Dalam Stabilitas Persentase Peluang Kemenangan Pemain bujangjp slotsensa slot88 slot4d slot4d slot4d sv388 slot88 suhubet demo slot slot 4d demo slot https://fabritec.pe/asesor.php suhubet bujangjp https://kibf.pk/ slotsensa buku303 slot4d sbobet slot gacor slot gacor slot gacor totogacor slot thailand https://www.jms.ac.in/admission-procedure/ slot gacor slot luar negeri slot gacor 4d totogacor slot 777 slot gacor slot gacor slotsensa https://adibintanpermata.com/ slot dana slot dana https://united-mgroup.com/ https://cliffcrestinn.com/ slot resmi demo slot slot thailand slot thailand https://www.mikehanrahan.com/ totogacor totogacor demo slot slot 4d totogacor totogacor demo slot totogacor slot thailand totogacor bujangjp situs gacor 4D situs gacor Situs Gacor 4D Thailand Situs Gacor 4D SLOT4D slot gacor