المدونة

الصفحة الرئيسية / المدونة / طريقة أسهل لتنفيذ التقاط بيانات التغيير المستندة إلى المشغل في SQL Server

جدول المحتويات
الآلي, لا كود مكدس البيانات

تعلم كيف Astera يمكن لـ Data Stack تبسيط وتبسيط إدارة بيانات مؤسستك.

طريقة أسهل لتنفيذ التقاط بيانات التغيير المستند إلى المشغل في SQL Server

جافيريا رحيم

مساعد مدير كبار المسئولين الاقتصاديين

يناير 23rd، 2024

لنفترض أن لديك SQL به معلومات العميل المتصلة بمستودع البيانات. يستخدم المحللون قاعدة البيانات هذه لإنشاء حملات تسويقية مخصصة لعملائك. تأتي بيانات العملاء الجديدة بانتظام ، وتتغير بيانات العملاء القديمة بشكل متكرر. لحساب هذه التغييرات ، يجب عليك تحديث مستودع البيانات الخاص بك بانتظام ، مما قد يؤدي إلى مشكلات زمن الوصول وإبطاء التحليلات. النتائج؟ أنت تعتمد على بيانات قديمة لاتخاذ قراراتك الحاسمة.

لضمان اتخاذ قرارات موثوقة دائمًا ، يمكنك استخدام التقاط بيانات التغيير (CDC) - وهي طريقة أسهل لتحديث البيانات في الوجهة المستهدفة. يكتشف CDC التغييرات في بيانات جدول المصدر ويقوم بتحديث وجهتك المستهدفة وفقًا لذلك. إنه يضمن أن بياناتك لن تصبح قديمة أبدًا وأن قراراتك تستند دائمًا إلى معلومات موثوقة وحديثة. هناك أنواع مختلفة من "التقاط بيانات التغيير" ، مثل البيانات المستندة إلى السجل ، والبيانات المعدلة ، والفرق ، والقائمة على التشغيل.

ستقدم هذه المدونة نظرة عامة على كيفية فائدة CDC في إدارة البيانات وستناقش التقاط بيانات التغيير المستند إلى الزناد في خادم قاعدة البيانات.

CDC وإدارة البيانات

CDC هو مغير قواعد اللعبة في إدارة البيانات. مع CDC ، ما عليك سوى تحديث التغييرات في وجهتك المستهدفة. نتيجة لذلك ، يمكنك تنفيذ عمليات ETL بسرعة.

يمكن أن تلعب دورًا محوريًا في التخطيط للطوارئ. تخيل أن مركز البيانات الخاص بك قد فقد بعض البيانات ، وأن النسخة الاحتياطية فقدت بعض الملفات. باستخدام CDC ، يمكنك الاحتفاظ ببياناتك الأساسية ومصادر النسخ الاحتياطي متزامنة والتأكد من أن خطط التعافي من الكوارث مضمونة.

يعمل CDC على تسريع ذكاء الأعمال (BI) عن طريق نقل البيانات بين قواعد البيانات في الوقت الفعلي. كما أنه مفيد في صناعة الرعاية الصحية ، حيث تعد دقة البيانات وحسن توقيتها أمرًا بالغ الأهمية لتوفير رعاية مثالية للمرضى. إذا كانت قاعدة البيانات متصلة بلوحة معلومات ، فيمكن لـ CDC ضمان تحديث جميع البيانات المتدفقة من الأجهزة الطبية في الوقت المناسب في مستودع البيانات.

يعد التوقف عن العمل أحد أكبر التحديات أثناء ترحيل البيانات. باستخدام CDC ، يمكنك إجراء عمليات ترحيل تقارب وقت التوقف عن العمل حيث لا تؤدي إلى تعطيل أعباء العمل.

الآن بعد أن أصبح لديك فهم أساسي لمراكز مكافحة الأمراض والوقاية منها (CDC)، دعنا نستكشف أنواع مراكز السيطرة على الأمراض (CDC).

أنواع CDC

يأتي مركز السيطرة على الأمراض (CDC) في SQL Server في ثلاثة أشكال رئيسية: يعتمد على المشغل، ويعتمد على السجل، ويعتمد على الاستعلام. يقدم كل نوع فوائد فريدة مصممة خصيصًا لبيئات البيانات المختلفة ضمن مشهد SQL Server. يعتمد اختيار نوع CDC في SQL Server على الاحتياجات والقيود المحددة لبيئة بيانات SQL Server لديك. ولمساعدة المؤسسات على اتخاذ قرار مستنير، سوف يتعمق القسم التالي في أنواع مراكز السيطرة على الأمراض (CDC) في SQL Server، مع تسليط الضوء على وظائفها ومزاياها وحالات الاستخدام المثالية.

  1. مركز السيطرة على الأمراض القائم على الزناد

يتضمن مركز السيطرة على الأمراض (CDC) القائم على المشغل في SQL Server استخدام مشغلات قاعدة البيانات لالتقاط التغييرات. المشغل هو إجراء مخزن في قاعدة بيانات يستجيب تلقائيًا لحدث معين، مثل عملية الإدراج أو التحديث أو الحذف. عند حدوث أي من هذه الأحداث، يتم تشغيل المشغل وتسجيل التغييرات في جدول منفصل، يُعرف باسم جدول التغيير. على الرغم من أن هذه الطريقة سهلة التنفيذ نسبيًا وتعمل عبر أنواع مختلفة من قواعد البيانات، إلا أنها يمكن أن تؤثر على أداء SQL Server بسبب الحمل الإضافي لإدارة المشغلات.

يعد مركز السيطرة على الأمراض (CDC) المستند إلى المشغل خيارًا ممتازًا لتطبيقات SQL Server التي تتطلب تحديثات فورية للبيانات، مثل التطبيقات التي تواجه العملاء حيث تعد البيانات في الوقت الفعلي أمرًا ضروريًا للحفاظ على تجربة مستخدم جيدة.

  1. مركز السيطرة على الأمراض القائم على السجل

يلتقط مركز السيطرة على الأمراض (CDC) المستند إلى السجل في SQL Server التغييرات من خلال قراءة سجل معاملات قاعدة البيانات. سجل المعاملات هو ملف يسجل جميع المعاملات وتعديلات قاعدة البيانات التي تتم بواسطة كل معاملة. من خلال قراءة هذا السجل، يمكن لمراكز السيطرة على الأمراض والوقاية منها المستندة إلى السجل تحديد البيانات التي تغيرت ومتى تغيرت وبأي ترتيب حدثت التغييرات. تعد هذه الطريقة بشكل عام أكثر كفاءة وأقل تدخلاً من CDC المستندة إلى Trigger-Based، لأنها لا تؤثر على أداء SQL Server. ومع ذلك، فإنه يتطلب فهمًا عميقًا للعمليات الداخلية لقاعدة البيانات.

يعد CDC المستند إلى السجل مثاليًا لبيئات SQL Server ذات أحجام المعاملات الكبيرة، مثل الأنظمة المالية، حيث تحدث تغييرات متكررة. كما أنه مناسب أيضًا للسيناريوهات التي يلزم فيها تسجيل التغييرات بالترتيب الدقيق لحدوثها، مثل مسارات التدقيق أو تقارير الامتثال حيث يكون تسلسل الأحداث مهمًا.

  1. مركز السيطرة على الأمراض القائم على الاستعلام

يقوم مركز السيطرة على الأمراض (CDC) القائم على الاستعلام في SQL Server بالتقاط التغييرات عن طريق الاستعلام بشكل دوري عن قاعدة البيانات المصدر ومقارنة حالة البيانات الحالية بالحالة المسجلة مسبقًا. يتم استخدام هذه الطريقة غالبًا عندما لا يمكن تنفيذ مركز السيطرة على الأمراض (CDC) القائم على المشغل أو السجل، كما هو الحال عندما لا تدعم قاعدة بيانات SQL Server المصدر المشغلات أو سجلات المعاملات. ومع ذلك، يمكن أن يكون مركز السيطرة على الأمراض (CDC) المستند إلى الاستعلام مستهلكًا للموارد وقد لا يلتقط كافة التغييرات في حالة حدوث تغييرات متعددة بين الاستعلامات.

يُعد مركز السيطرة على الأمراض (CDC) المستند إلى الاستعلام هو الأنسب لقواعد بيانات SQL Server التي لا تدعم المشغلات أو سجلات المعاملات أو في السيناريوهات التي لا تمثل فيها تحديثات البيانات في الوقت الفعلي أولوية. كما أنه مفيد في بيئات SQL Server حيث يتم تقييد الوصول إلى سجل المعاملات بسبب القيود الأمنية أو الفنية، مثل قواعد البيانات المستندة إلى السحابة أو قواعد بيانات الطرف الثالث.

تكبير مركز السيطرة على الأمراض القائم على الزناد

مركز السيطرة على الأمراض القائم على الزناد هو طريقة للإشارة إلى النظام المستهدف بأنه قد حدث تغيير في نظام المصدر. كما يوحي الاسم ، يتم بدء عملية التقاط بيانات التغيير بناءً على مشغلات محددة.

هناك ثلاثة مشغلات في قاعدة بيانات SQL: إدراج للإشارة إلى إدخال جديد ، وتحديث للإشارة إلى تغيير ، وحذف لإزالة إدخال. عندما يتم تنفيذ هذه الأوامر ، يتم تسجيلها في ظل أو جدول تغيير ، والذي يحتفظ بسجل مفصل لجميع التغييرات. بمجرد التسجيل ، يتم نشر هذه التغييرات بعد ذلك إلى الوجهة المستهدفة.

نظرًا لأن جميع المشغلات تستند إلى SQL ، فإن CDC المستند إلى المشغل هو الخيار المفضل لـ SQL Server.

العمل مع Microsoft SQL Server

SQL Server هي قاعدة بيانات علائقية تُستخدم في الواجهة الخلفية لتطبيقات مختلفة. يسمح SQL Server للمستخدمين بإدارة البيانات وتخزينها دون عناء. تم تجهيز قاعدة البيانات بمجموعة من ميزات إدارة البيانات وتحليلها ، مما يسهل على المستخدمين الاستفادة منها في مبادرات الذكاء الاصطناعي والتعلم الآلي.

هناك العديد من الأسباب التي تجعل المطورين يفضلون العمل مع Microsoft SQL Server:

تغيير التقاط البيانات في SQL Server

تقدم Microsoft تغيير التقاط البيانات في SQL Server و Azure SQL و Azure SQL Managed Instance.

يستخدم تغيير التقاط البيانات في SQL Server عامل SQL Server لتسجيل أي نشاط إدراج أو تحديث أو حذف على جدول ثم جعله متاحًا بتنسيق سهل الاستخدام.

فيما يلي قاعدة بيانات نموذجية في Microsoft SQL Server:

عندما يتم إجراء تغييرات على هذا الجدول ، يقوم مركز السيطرة على الأمراض بتسجيلها في جدول منفصل.

يسهل CDC بشكل كبير استخراج البيانات من SQL Server وتحميلها في قاعدة بيانات أو مستودع بيانات. عادةً ما تقوم أداة ETL / ELT باستخراج البيانات من SQL Server وتحميلها بشكل متزايد إلى مستودع بيانات. في التحميل المتزايد ، تقوم فقط بتحميل البيانات الحديثة بدلاً من قاعدة البيانات بأكملها ، مما يوفر الوقت ويحسن الأداء. يضمن الجمع بين ETL / ELT و CDC توفر موثوق به في مستودع البيانات بأقل قدر من الموارد.

يمكنك استخدام CDC في Microsoft SQL Server باستخدام ميزات Microsoft الأصلية أو أداة ETL لجهة خارجية.

الخيار 1: تمكين Microsoft SQL Server تغيير التقاط البيانات أصلاً

تحتاج إلى تلبية شروط معينة تمكين CDC في SQL Server أصلاً. يمكن فقط لمستخدم لديه دور خادم ثابت مسؤول النظام أو db_owner تمكين CDC في قاعدة بيانات. نظرًا لأن CDC غير متوفر في إصدار الويب ، لذلك يجب أن يكون لديك SQL Server Developer أو Enterprise أو Standard Edition.

عند تمكين CDC ، يقوم SQL Server بإنشاء مخطط CDC وجداول بيانات التعريف ومستخدم CDC. يحتوي مخطط CDC على جميع جداول البيانات الوصفية مع CDC. بمجرد تمكين الجداول المصدر لالتقاط البيانات التغيير ، تعمل جداول التغيير كمستودع لتغيير البيانات.

تمكين Microsoft SQL Server تغيير التقاط البيانات أصلاً

بينما يمكنك استخدام ميزات CDC الأصلية لـ SQL Server ، إلا أن لها قيودًا معينة. لاستخدام SQL Server CDC ، يجب أن يكون عامل خادم SQL. أيضًا ، لا يمتد SQL Server CDC إلى قواعد البيانات غير المستضافة على مثيلات SQL Server. إذا كنت ترسل بيانات من مصادر متعددة إلى مستودع بيانات ، فمن الضروري الحفاظ على عملية CDC لكل مصدر على حدة.

يمكنك استخدام أداة خارجية مثل Astera Centerprise للتغلب على هذه القيود. Astera Centerprise هي طريقة أسهل للاستفادة من مزيج CDC و ETL / ELT. تأتي الأداة الخالية من الأكواد مع محرك ETL / ELT قوي يعالج بسرعة كميات كبيرة من البيانات. إلى جانب واجهة المستخدم البديهية ومنحنى التعلم القصير ، Astera Centerprise يجعل تنفيذ CDC في SQL Server أمرًا سهلاً.

الخيار 2: تنفيذ التقاط بيانات التغيير المستند إلى Trigger في SQL Server باستخدام Astera Centerprise

Astera Centerprise يبسط بشكل كبير عملية تنفيذ CDC في SQL Server. ما عليك سوى سحب وإسقاط قاعدة بيانات SQL Server في مصمم تدفق البيانات واختيار خيار "تمكين تغيير التقاط البيانات في الجدول" من القائمة المنسدلة.

تنفيذ تغيير التقاط البيانات في SQL Server باستخدام Astera Centerprise

بعد تمكين CDC ، يمكنك كتابة جميع التغييرات في الوجهة التي تختارها. هناك خياران: يمكنك إما كتابتها في وجهة تنسيق ملف أو قاعدة بيانات أو مستودع بيانات.

قراءة تغييرات قاعدة البيانات من جداول المصدر

بمجرد تمكين CDC في جداول المصدر المذكورة أعلاه ، اختر CDC المستند إلى المشغل من قسم الخصائص. إذا كنت ترغب في تحميل بيانات المصدر الموجودة إلى وجهة ، فإن خيار "تنفيذ التحميل الكامل عند التشغيل الأول" ، والذي يتم تمكينه افتراضيًا. قم بإلغاء تحديد هذا الخيار إذا كنت تريد فقط تحميل التغييرات.

قراءة تغييرات قاعدة البيانات من جداول المصدر

كتابة تغييرات قاعدة البيانات بتنسيق ملف الوجهة

يمكنك كتابة تغييرات قاعدة البيانات الخاصة بك في أي تنسيق ملف من اختيارك. Astera Centerprise يدعم العديد من تنسيقات الملفات ، بما في ذلك JSON و Excel و CSV والمحدد. يمكنك ببساطة سحب وإفلات الوجهة في مصمم تدفق البيانات وبيانات الخريطة من المصدر إلى الوجهة دون كتابة أي رمز.

كتابة تغييرات قاعدة البيانات في وجهة تنسيق الملف باستخدام Astera Centerprise

كتابة تغييرات قاعدة البيانات في مستودع البيانات أو قاعدة البيانات

تعد كتابة البيانات في مستودع البيانات مختلفة بعض الشيء ولكنها بسيطة. ستقوم إما بتحديث السجلات القديمة أو إضافة سجلات جديدة إلى قاعدة البيانات أو مستودع البيانات. لهذه الوجهات ، Centerprise يعطي خيار Upsert. يمكنك تمكين خيار Upsert واختيار المفتاح الأساسي.

إذا لم يكن لديك سجل في الوجهة ، فسيقوم خيار Upsert بإدراجه. إذا كان السجل بالفعل ، فسيحدثه.

باستخدام Upsert في Astera Centerprise

بمجرد الانتهاء من ذلك ، يمكنك بسهولة تعيين التغييرات في قاعدة البيانات أو مستودع البيانات. Astera Centerprise لديه اتصال أصلي بقواعد البيانات الشائعة ومستودعات البيانات مثل MySQL و Snowflake و Amazon Redshift و PostgresSQL والمزيد.

كتابة تغييرات قاعدة البيانات في وجهة مستودع البيانات / قاعدة البيانات باستخدام Astera Centerprise

أتمتة التقاط بيانات التغيير المستند إلى المشغل في SQL Server

أفضل جزء في تنفيذ CDC باستخدام Astera Centerprise هو أنه يمكنك الاستفادة من ميزات الأتمتة الخاصة به. مع Centerprise، يمكنك بسهولة إعداد تدفق البيانات من SQL Server إلى الوجهة المستهدفة وجدولتها للتشغيل تلقائيًا.

Centerprise لديه برنامج جدولة عمل مدمج يمكنك تشغيله بناءً على الإعدادات المفضلة لديك. هناك العديد من المشغلات القائمة على الأحداث والوقت لتختار من بينها. يمكنك ضبط التردد على فترات أسبوعية أو شهرية أو يومية أو حتى كل ساعة.

يمكنك أيضًا إعداد إشعار بريد إلكتروني للإشارة إليك في كل مرة يتم فيها تشغيل تدفق البيانات.

CDC كحل للتدقيق

يعمل مركز السيطرة على الأمراض (CDC) في SQL Server كحل للتدقيق من خلال توفير تتبع منهجي ومفصل لجميع التغييرات التي تم إجراؤها على البيانات داخل قواعد البيانات. وإليك كيف يعمل:

  • تتبع مفصل: يعمل مركز السيطرة على الأمراض (CDC) في SQL Server عن طريق إنشاء جداول التغيير التي تعكس بنية العمود للجداول المصدر المتعقبة. تقوم جداول التغيير هذه بتخزين سجل مفصل لجميع تعديلات البيانات، بما في ذلك عمليات الإدراج والتحديثات والحذف. نظرًا لأن مركز السيطرة على الأمراض (CDC) يوفر مسارًا للتدقيق ويسمح بمراجعة شاملة والتحقيق في تغييرات البيانات بمرور الوقت، فمن الضروري الحفاظ على سلامة البيانات.
  • المسائلة: بالإضافة إلى تتبع تغييرات البيانات، يلتقط التقاط بيانات التغيير في SQL Server أيضًا بيانات التعريف المهمة مثل طبيعة التغيير (إدراج، تحديث، حذف)، وقت التغيير، والمعاملة المحددة المرتبطة بالتغيير. إن الاحتفاظ بسجل مفصل يعزز المساءلة، حيث يدرك المستخدمون أن أفعالهم داخل قاعدة البيانات يتم تسجيلها، مما يعزز ثقافة المسؤولية والشفافية.
  • التوافق: يستخدم مركز السيطرة على الأمراض (CDC) عملية تسمى Log Reader Agent في SQL Server لقراءة سجل المعاملات وملء جداول التغيير. يعد Log Reader Agent بمثابة وظيفة يتم تشغيلها بشكل مستمر في الخلفية، حيث يقوم بمسح سجل المعاملات الخاص بقاعدة البيانات ونسخ أي تغييرات في قاعدة بيانات التوزيع. من خلال التتبع النشط ومراقبة التعديلات التي يتم إجراؤها داخل النظام، يمكن للمؤسسات الالتزام بالمتطلبات التنظيمية مثل اللائحة العامة لحماية البيانات (GDPR).
  • المراقبة في الوقت الحقيقي: يعمل تغيير التقاط البيانات في SQL Server في الوقت الفعلي تقريبًا. ويستخدم مثيلات الالتقاط، التي تتكون كل منها من جدول تغيير ووظائف استعلام، لمراقبة جداول محددة بشكل مستمر لتغييرات البيانات. عند حدوث تغييرات، تسجل مثيلات الالتقاط التفاصيل في جداول التغيير. ومن خلال تتبع البيانات في الوقت الفعلي، يمكن للمؤسسات اكتشاف أي تغييرات غير مصرح بها أو غير مناسبة والاستجابة لها بسرعة، وبالتالي تعزيز أمان البيانات.

لماذا يجب أن تختار Astera Centerprise?

Astera Centerprise يزيل تعقيد إدارة البيانات. تسمح البيئة الخالية من الأكواد وواجهة المستخدم البديهية لمستخدمي الأعمال بتولي مسؤولية مبادراتهم القائمة على البيانات. فيما يلي بعض الميزات التي تصنع Astera Centerprise اختيار ممتاز لتمكين CDC:

  • Astera Centerprise يدعم موصلات متنوعة لقواعد البيانات الشائعة ومستودعات البيانات وتنسيقات الملفات.
  • بدافع Astera Centerprise، يمكنك إدارة CDC لجميع قواعد البيانات العلائقية في نظام أساسي واحد بدلاً من إدارتها بشكل منفصل.
  • Astera يدعم عمليات التحويل المضمنة التي يمكنك استخدامها لتنظيف بياناتك ومعالجتها
  • يمكنك استخدام Astera تحديد سمات البيانات والجودة لضمان دقة البيانات وموثوقيتها.
  • يمكنك الاستفادة Astera Centerprise ميزات الأتمتة وجدولة الوظائف لتسريع نقل البيانات

تحميل Astera Centerprise اليوم وجربه مجانًا لمدة 14 يومًا.

ربما يعجبك أيضا
أفضل 7 أدوات لتجميع البيانات في عام 2024
إطار إدارة البيانات: ما هو؟ الأهمية والركائز وأفضل الممارسات
أفضل أدوات استيعاب البيانات في عام 2024
مع مراعاة Astera لتلبية احتياجات إدارة البيانات الخاصة بك؟

أنشئ اتصالاً خاليًا من التعليمات البرمجية مع تطبيقات مؤسستك وقواعد البيانات والتطبيقات السحابية لدمج جميع بياناتك.

دعونا نتواصل الآن!
يتيح الاتصال