CDC یا CHANGE DATA CAPTURE
CDC یا CHANGE DATA CAPTURE در SSIS یکی از مفاهیم هوش تجاری و کامپوننت های محیط SSIS می باشد. قابلیت CHANGE DATA CAPTURE برای به روز رسانی جداول فکت در انباره داده استفاده می شود. البته کاربردهای دیگری مانند Auditing نیز دارد.
سرعت تغییرات جداول فکت بسیار بیشتر از تغییرات جداول دایمنشن می باشد. همچنین بر خلاف قابلیت SCD که برای جداول دایمنشن استفاده می شود و فقط برای عملیات Insert و Update می باشد، CDC شامل Insert، Update و Delete می باشد.
هنگام پیاده سازی CHANGE DATA CAPTURE بهتر است یک لایه میانی بین دیتابیس عملیاتی و انباره داده داشته باشیم تا بتوانیم دیتاها را مجتمع و یکپارچه کنیم، و سپس به انباره داده منتقل کنیم.
برای پیاده سازی CDC ابتدا باید این قابلیت را در سطح دیتابیس عملیاتی مورد نظر فعال کنیم و سپس بر روی جداولی که میخواهیم، این قابلیت را فعال کنیم. برای فعال سازی این قابلیت روی دیتابیس از دستور “sys.sp_cdc_enable_db” و برای فعال سازی روی دیتابیس از دستور “sys.sp_cdc_enable_table” استفاده می کنیم.
CDC با Optimized Memory Table ،ColumnSet و InMemory Table تداخل دارد.
آیا جدول CDC بسیار بزرگ میشود؟
با توجه به اینکه هر تغییراتی که در جداول ما اتفاق می افتددر جدول CDC نگهداری میشود، احتمالا باید این سوال برای شما پیش آمده باشد که آیا این جدول بسیار بزرگ نمیشود؟! پاسخ این است خیر.
یک روال سیستمی وجود دارد که به صورت اتوماتیک هر ۳ روزیکبار داده ها قدیمی را پاک میکند. البته میتوانید این اندازه را به هر اندازه ایکه نیاز دارید تغییر دهید و یا میتوانید به کمک روال ذخیره شده sys.sp_cdc_cleanup_change_table این کار را بهصورت دستی انجام دهید.