مشاركة عبر


النسخ الاحتياطي المستمر مع استعادة نقطة زمنية في Azure Cosmos DB

ينطبق على: NoSQL MongoDB العفريت جدول

تساعد ميزة الاستعادة في الوقت المحدد في Azure Cosmos DB في سيناريوهات متعددة بما في ذلك:

  • للاسترداد من عملية كتابة أو حذف غير مقصودة داخل حاوية.
  • لاستعادة حساب محذوف أو قاعدة بيانات أو حاوية.
  • للاستعادة إلى أي منطقة (حيث توجد نسخ احتياطية) عند نقطة الاستعادة في الوقت المناسب.

يقوم Azure Cosmos DB بإجراء نسخ احتياطي للبيانات في الخلفية دون استهلاك أي معدل نقل إضافي مخصص (وحدات الطلب) أو التأثير على أداء قاعدة البيانات وتوفرها. يتم أخذ نسخ احتياطية مستمرة في كل منطقة يوجد بها الحساب. على سبيل المثال، يمكن أن يكون للحساب منطقة كتابة في غرب الولايات المتحدة ومناطق قراءة في شرق الولايات المتحدة وشرق الولايات المتحدة 2. يمكن بعد ذلك نسخ مناطق النسخ المتماثلة هذه احتياطيا إلى حساب تخزين Azure البعيد في كل منطقة. افتراضياً، تخزن كل منطقة النسخ الاحتياطي في حسابات التخزين المكررة محلياً. إذا كانت المنطقة تحتوي على مناطق قابلية الوصول ممكنة، تُخزَن النسخة الاحتياطية في حسابات التخزين Zone-Redundant.

رسم تخطيطي يوضح كيفية نسخ الحاوية نسخاً احتياطياً عبر مناطق متعددة.

النافذة الزمنية المتوفرة للاستعادة (المعروفة أيضا باسم فترة الاستبقاء) هي القيمة الأقل للخيارين التاليين: 30 يوما و7 أيام.

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

حاليا، يمكنك استعادة حساب Azure Cosmos DB (API ل NoSQL أو MongoDB، واجهة برمجة التطبيقات للجدول، واجهة برمجة التطبيقات لمحتويات Gremlin) في نقطة زمنية معينة إلى حساب آخر. يمكنك تنفيذ عملية الاستعادة هذه عبر مدخل Microsoft Azure أو قوالب Azure CLI (Azure CLI) أو Azure PowerShell أو Azure Resource Manager.

تكرار التخزين الاحتياطي

افتراضياً، يقوم Azure Cosmos DB بتخزين بيانات النسخ الاحتياطي للوضع المستمر في كتل تخزين كبيرة محلية زائدة عن الحاجة. بالنسبة للمناطق التي تم تكوين التكرار في المنطقة بها، يتم تخزين النسخة الاحتياطية في منطقة التخزين المكررة في blobs. في وضع النسخ الاحتياطي المستمر، لا يمكنك تحديث التكرار تخزين النسخ الاحتياطي.

طرق مختلفة للاستعادة

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

ما الذي تمت استعادته في حساب جديد؟

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

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

إشعار

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

ما الذي لم تتم استعادته؟

لا تتم استعادة التكوينات التالية بعد استرداد نقطة زمنية:

  • لا يمكن استعادة مجموعة فرعية من الحاويات ضمن قاعدة بيانات معدل النقل المشترك. يمكن استعادة قاعدة البيانات بأكملها ككل.
  • جدار الحماية أو الشبكة الظاهرية VNET أو التحكم في الوصول استنادا إلى الدور RBAC لمستوى البيانات أو إعدادات نقطة النهاية الخاصة.
  • كافة المناطق من حساب المصدر.
  • الإجراءات المخزنة، المشغلات، UDFs.
  • تعيينات التحكم في الوصول المستندة إلى الدور.

يمكنك إضافة هذه التكوينات إلى الحساب المستعاد بعد اكتمال الاستعادة.

الطابع الزمني القابل للاستعادة للحسابات المباشرة

لاستعادة حسابات Azure Cosmos DB الحالية التي لم تُحذَف، من الأفضل دائماً تحديد أحدث طابع زمني قابل للاستعادة للحاوية. يمكنك بعد ذلك استخدام هذا الطابع الزمني لاستعادة الحساب في أحدث إصدار منه.

استعادة سيناريوهات

تدعم ميزة الاستعادة في نقطة زمنية السيناريوهات التالية. توضح السيناريوهات [1] إلى [3] كيفية بدء استعادة إذا كان الطابع الزمني للاستعادة معروفاً مسبقاً. ومع ذلك، قد تكون هناك سيناريوهات لا تعرف فيها الوقت المحدد للحذف أو التلف العرضي. يوضح السيناريوهان [4] و[5] كيفية اكتشاف الطابع الزمني للاستعادة باستخدام واجهات برمجة التطبيقات الجديدة لموجز الأحداث على قاعدة البيانات أو الحاويات القابلة للاستعادة.

أحداث دورة الحياة مع طوابع زمنية لحساب قابل للاستعادة.

  1. استعادة الحساب المحذوف - تظهر جميع الحسابات المحذوفة التي يمكنك استعادتها من جزء Restore. على سبيل المثال، إذا تم حذف Account A في الطابع الزمني T3. في هذه الحالة الطابع الزمني قبل T3، الموقع، اسم الحساب الهدف، مجموعة الموارد، واسم الحساب الهدف كافية لاستعادة من مدخل أزور،PowerShell،أو CLI.

    أحداث دورة الحياة مع طوابع زمنية لقاعدة بيانات وحاوية قابلة للاستعادة.

  2. استعادة بيانات حساب في منطقة معينة - على سبيل المثال، إذا كان Account Aموجوداً في منطقتينشرق الولايات المتحدة و غرب الولايات المتحدة في الطابع الزمني T3. إذا كنت بحاجة إلى نسخة من account A في غرب الولايات المتحدة، يمكنك القيام بنقطة في استعادة الوقت من مدخل Azure، PowerShell، أو CLI مع غرب الولايات المتحدة كموقع مستهدف.

  3. الاسترداد من عملية الكتابة أو الحذف غير المقصودة داخل حاوية بطابع زمني معروف للاستعادة - على سبيل المثال، إذا كنت تعرف أن محتويات Container 1تم تعديلها داخل Database 1 عن طريق الخطأ في الطابع الزمني T3. يمكنك القيام باستعادة نقطة زمنية من مدخل Azureأو PowerShellأو CLI إلى حساب آخر في الطابع الزمني T3 لاسترداد الحالة المطلوبة للحاوية.

  4. استعادة حساب إلى نقطة سابقة في الوقت قبل حذف قاعدة البيانات بطريق الخطأ - في المدخل Azure، يمكنك استخدام جزء موجز الأحداث لتحديد متى تم حذف قاعدة بيانات والعثور على وقت الاستعادة. وبالمثل، مع Azure CLI و PowerShell، يمكنك اكتشاف حدث حذف قاعدة البيانات من خلال تعداد موجز أحداث قاعدة البيانات ثم تشغيل أمر الاستعادة بالمعلمات المطلوبة.

  5. استعادة حساب إلى نقطة زمنية سابقة قبل الحذف أو التعديل العرضي لخصائص الحاوية. - فيمدخل Azure، يمكنك استخدام جزء موجز الأحداث لتحديد متى تم إنشاء حاوية أو تعديلها أو حذفها للعثور على وقت الاستعادة. وبالمثل، مع Azure CLI و PowerShell، يمكنك اكتشاف جميع أحداث الحاوية عن طريق تعداد تغذية أحداث الحاوية ثم تشغيل الأمر استعادة مع المعلمات المطلوبة.

الأذونات

يسمح لك Azure Cosmos DB بعزل وتقييد أذونات الاستعادة لحساب النسخ الاحتياطي المستمر لدور معين أو مدير. لمعرفة المزيد، راجع مقالة أذونات الوصول.

التسعير

يحتوي حساب Azure Cosmos DB مع النسخ الاحتياطي المستمر لمدة 30 يوما على رسوم شهرية إضافية لتخزين النسخ الاحتياطي. يتحمل كل من مستوى 30 يوما و7 أيام من العودة المستمرة رسوما لاستعادة بياناتك. تتم إضافة تكلفة الاستعادة في كل مرة يتم فيها بدء عملية الاستعادة. إذا قمت بتكوين حساب بنسخ احتياطي مستمر ولكنك لم تقم باستعادة البيانات، فسيتم تضمين تكلفة تخزين النسخ الاحتياطي فقط في فاتورتك.

يستند المثال التالي إلى سعر حساب Azure Cosmos DB المنشور في غرب الولايات المتحدة. تختلف الأسعار والحساب حسب المنطقة التي تستخدمها، راجع صفحة التسعير Azure Cosmos DB للحصول على أحدث معلومات التسعير.

  • جميع الحسابات المُمكّنة بنهج النسخ الاحتياطي المستمر لمدة 30 يومًا تتكبد رسومًا شهرية لتخزين النسخ الاحتياطي والتي يتم حسابها على النحو التالي:

    0.20 دولار/جيجابايت * حجم البيانات بالجيجابايت في الحساب * عدد المناطق

  • كل استدعاء لواجهة برمجة تطبيقات الاستعادة يخضع لرسوم لمرة واحدة. الرسوم هي دالة لكمية البيانات المستعادة:

    0.15 دولار/جيجابايت * حجم البيانات بالجيجابايت.

على سبيل المثال، إذا كان لديك 1 تيرابايت من البيانات في منطقتين، فحينئذٍ:

  • يتم حساب تكلفة التخزين الاحتياطي على أنها (1000 * 0.20 * 2) = 400 دولار شهرياً

  • يتم حساب تكلفة الاستعادة على أنها (1000 * 0.15) = 150 دولاراً أمريكياً لكل استعادة

تلميح

لمزيد من المعلومات حول قياس استخدام البيانات الحالي لحساب Azure Cosmos DB، راجع استكشاف رؤى Azure Monitor Azure Cosmos DB. لا تتحمل الطبقة المستمرة لمدة 7 أيام رسومًا للنسخ الاحتياطي للبيانات.

طبقة مستمرة مدتها 30 يوما مقابل طبقة مستمرة لمدة 7 أيام

  • فترة الاستبقاء لمستوى واحد هي 30 يوما مقابل 7 أيام لمستوى آخر.
  • يتم فرض رسوم على طبقة الاستبقاء لمدة 30 يوما لتخزين النسخ الاحتياطي. لا يتم فرض رسوم على مستوى الاستبقاء لمدة 7 أيام.
  • يتم تحصيل رسوم الاستعادة دائما في أي من المستويين

حان الوقت للحياة

  • تستعيد عملية الاستعادة الافتراضية جميع خصائص الحاوية بما في ذلك تكوين TTL الخاص بها بشكل افتراضي، يمكن أن يؤدي ذلك إلى حذف البيانات إذا تم إجراء الاستعادة دون طريقة لتعطيل TTL. لمنع الحذف، يرجى تمرير المعلمة لتعطيل TTL في PowerShell (-DisableTtl $true) أو cli (--disable-ttl True) أثناء إجراء الاستعادة.

المفاتيح التي يديرها العميل

راجع كيف تؤثر المفاتيح التي يديرها العميل على النسخ الاحتياطية المستمرة لمعرفة:

  • كيفية تكوين حساب Azure Cosmos DB الخاص بك عند استخدام المفاتيح المُدارة بواسطة العميل مع النسخ الاحتياطية المستمرة.
  • كيف تؤثر المفاتيح المدارة بواسطة العميل على عمليات الاستعادة؟

القيود الحالية

حالياً، تشتمل وظيفة استعادة النقطة الزمنية على القيود التالية:

  • واجهات برمجة تطبيقات Azure Cosmos DB ل SQL وMongoDB وGremlin وجدول مدعومة للنسخ الاحتياطي المستمر. واجهة برمجة التطبيقات ل Cassandra غير مدعومة الآن.

  • Multi region write الحسابات غير مدعومة.

  • رابط Synapse لحسابات قاعدة البيانات باستخدام وضع النسخ الاحتياطي المستمر هو GA. الوضع المعاكس، وضع النسخ الاحتياطي المستمر للحسابات الممكنة ل Synapse Link، في المعاينة العامة. حاليا، لا يمكن للعملاء الذين عطلوا Synapse Link من الحاويات الترحيل إلى النسخ الاحتياطي المستمر. والمخزن التحليلي غير مضمن في النسخ الاحتياطية. لمزيد من المعلومات حول النسخ الاحتياطي والمخزن التحليلي، راجع النسخ الاحتياطي للمخزن التحليلي.

  • يتم إنشاء الحساب المستعاد في نفس المنطقة التي يوجد بها حسابك المصدر. لا يمكنك استعادة حساب في منطقة لا يوجد بها حساب المصدر.

  • نافذة الاستعادة هي 30 يوما فقط للطبقة المستمرة 30 يوما وسبعة أيام للطبقة المستمرة 7 أيام. يمكن تبديل هذه المستويات، ولكن لا يمكن تغيير الكميات الفعلية (7 أو 30). علاوة على ذلك، إذا قمت بالتبديل من مستوى 30 يوما إلى مستوى 7 أيام، فهناك احتمال لفقدان البيانات في أيام تتجاوز السابعة.

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

  • أثناء إجراء الاستعادة، لا تقم بتعديل أو حذف سياسات إدارة الهوية والوصول (IAM). تمنح هذه النهج أذونات الحساب لتغيير أي تكوين VNET وجدار الحماية.

  • لا يدعم Azure Cosmos DB لحسابات MongoDB مع النسخ الاحتياطي المستمر إنشاء فهرس فريد لمجموعة موجودة. بالنسبة لهذا الحساب، يجب إنشاء فهارس فريدة مع مجموعتها؛ يمكن القيام بذلك باستخدام أوامر إنشاء ملحق المجموعة.

  • بعد الاستعادة، من الممكن إعادة بناء الفهرس المتسق لمجموعات معينة. يمكنك التحقق من حالة عملية إعادة البناء عبر خاصية IndexTransformationProgress.

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

  • قد لا تستعيد استعادة الوضع المستمر إعداد معدل النقل الصالح اعتباراً من نقطة الاستعادة.

الخطوات التالية