مدونة عادل خياطة

مدونة عربية للمبرمجين و المطورين

مقدمة عن ال Replication

بواسطة عادل خياطة تعليقات 4

السلام عليكم.

أنوي بإذن الله تسليط الضوء على مفهوم ال Replication في سلسلة تدوينات متتالية مع بعض الأمثلة العملية حتى تتضح الصورة بشكل كامل.

ال Replication هو تقنية تقوم على أساس عمل نسخ أو تكرار البيانات, و هذه التقنية مفيدة جداً في الحالات التالية:

  • موازنة التحميل Load Balancing : حيث يتم توزيع حمل الاستعلامات على السيرفرات المرتبطة.
  • معالجة غير متصلة Offline Processing : يمكن العمل على قاعدة بيانات غير متصلة في أحد الفروع و عند توفر الاتصال يتم إعادة مزامنة البيانات.
  • التكرار Redundancy : حيث يتم تخصيص سيرفر لتلقي الاتصال في حالة حدوث مشكلة في السيرفر الرئيسي.

شركة ميكروسوفت بدأت بدعم Replication في SQL Server منذ النسخة 6.0 و قامت بتطويرها بشكل كبير و متسارع حتى أصبحت تضاهي حلول ال Replication من الشركات الكبرى الأخرى.

ال Replication في SQL Server يتكون من العناصر الرئيسية التالية:

  • الناشر Publisher وهو قاعدة البيانات الرئيسية التي تملك البيانات المراد تكرارها.
  • المشترك Subscriber و هي قاعدة بيانات أو أكثر التي تكون مشتركة مع الناشر الرئيسي.
  • الموزع Distributor يقوم بتنظيم نقل البيانات بين الناشر و المشترك, حيث يقوم بتحديد البيانات المعدلة في الناشر و ينبه المشترك بوجود تعديلات خاصة به.

و هذه بعض التعريفات المهمة في هذه التقنية:

  • المقالة Article : وهي ترمز إلى كل كائن ضمن SQL Server مطلوب عمل تكرار له و تشمل:
    • الجداول Tables
    • العروض Views
    • الاجراءات Stored Procedures
    • توابع معرفة من قبل المستخدم User Defined Functions
  • المنشور Publication: و هي مجموعة من المقالات المرتبطة مع بعضها البعض.
  • الاشتراك Subscription: وهو المقابل للمنشور Publication و يحدد السيرفر الذي سيتلقى التغيرات التي جرت على الناشر, و يوجد له نوعين:
    • اشتراك الدفع أو الارسال Push Subscription : حيث يقوم الموزع Distributor بتحديث قاعدة بيانات المشترك بشكل مباشر.
    • اشتراك السحب Pull Subscription : حيث يقوم المشترك بسؤال الموزع بشكل منتظم عن وجود تحديثات جديدة للبيانات وعلى أساسها يقوم المشترك بتحديث بياناته.

يوجد ثلاثة أنواع لل Replication في SQL Server:

  • Snapshot Replication : الناشر يقوم بأخذ نسخة ( لقطة ) من البيانات و يقوم بنشرها للمشتركين في كل مرة و هذه الطريقة تتطلب زمناً كبيراً و موارد كثيرة.
  • Transaction Replication : هذه الطريقة أفضل من الأولى حيث يعمل “وكيل” agent على مراقبة المنشور Publication وعند حدوث أية تعديلات يقوم بإرسالها إلى المشتركين, و هذا الارسال يمكن أن يكون مباشر أو على فترات منتظمة.
  • Peer-To-Peer Replication : و هو مثل الطريقة الثانية و لكن يعمل باتجاهين من ال Publisher إلى ال Subscriber و بالعكس.
  • Merge Replication : يسمح للناشر و المشترك بعمل تعديلات بشكل منفصل و حتى بدون وجود اتصال مباشر بينهم, و عندما يعود الاتصال يقوم الوكيل بالتحقق من التعديلات التي تمت على الطرفين و يتم تحديث كل طرف بتعديلات الطرف الآخر.

في هذه التدوينة حاولت إعطاء لمحة عامة و سريعة عن ال Replication في SQL Server, وأرجو المعذرة في ترجمة بعض الكلمات التقنية فقد حاولت جهدي أن أضع أفضل ترجمة لها.

دمتم بود.

Be Sociable, Share!
التصنيفات: Replication, SQL Server

About عادل خياطة

مهندس كومبيوتر

تعليقات 4 حتى الأن.

  1. […] مدونة عادل خياطة مدونة عربية للمبرمجين و المطورين Skip to content صفحة البدايةحول المدون ← مقدمة عن ال Replication […]

  2. […] ذكرت سابقاً في : مقدمة عن ال Replication فإن ال Snapshot Replication يقوم أخذ نسخة من البيانات كما كانت […]

  3. يقول Ahmed Ali:

    بارك الله فيك علي هذا الشرح الرائع المختصر
    ورزقك الله علما نافعا

يجب أن تكون مسجل لتتمكن من اضافة تعليق .

  • RSS
  • Delicious
  • Digg
  • Facebook
  • Twitter
  • Linkedin
  • Youtube

الأكثر قراءة

إرسال رسائل SMS

السلام عليكم. ازدادت في الآونة الأخيرة الحاجة إلى إرسال إشعارات أو ...

مشكلة تخزين التعديلات على الجداول ف

السلام عليكم. عندما تنفذ إحدى التعديلات التالية على أحد الجداول في ...

على بركة الله

بسم الله و الحمد لله و الصلاة و السلام على ...

تفقيط الأرقام

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

ربط مشروع برمجي في SQL Server مع TFS

السلام عليكم. امتداداً للتدوينة السابقة حول تثبيت Team Foundation Server فأردت ...