كيف يمكنني إنشاء نسخة حقيقية من قاعدة بيانات SQL Server 2005 الخاصة بي؟
-
25-09-2019 - |
سؤال
لدي تطبيق ويب يستخدم في قارات متعددة. تقوم المعاملة الأساسية DB بإغلاق عند تشغيل تقارير كبيرة. أريد أن:
- اجعل الوقت الحقيقي لقاعدة بيانات SQL Server 2005 إلى تقارير DB
- توجيه جميع التقارير إلى التقارير DB
من الناحية النظرية ، سيمنع هذا قفل المعاملات للإدراج والتحديثات. لا بأس إذا تم قفل التقارير DB مؤقتًا طالما استمرت المعاملات. يمكن للتقارير أن تتلقى DB المعاملات الجديدة عندما تكون تحت حمولة أخف. ما هي أفضل طريقة للحفاظ على نسخة قريبة من الوقت الحقيقي من المعاملة DB؟ هل يجب علي استخدام النسخ المتماثل أو النسخ المتطابق أو مزيج من الاثنين؟ ما هي الإرشادات العامة التي يجب أن أتابعها؟
شكرًا!
المحلول
يستخدم SQL خادم النسخ المتماثل لتنفيذ هذا النوع من الهندسة المعمارية. على سبيل المثال ، قم بتكرار البيانات من خادم DB الرئيسي إلى خادم التقارير. إنه ليس في الوقت الفعلي تمامًا (عدد قليل من الأنظمة) ولكن يمكن أن تكون قريبة جدًا.
هناك العديد من النكهات مع تكرار SQL Server وربما تريد خادم إلى خادم. انظر أيضا هذا المقال عن تخزين البيانات والإبلاغ. يصف السيناريو الدقيق الذي تتعارض معه وأهدافك:
حسب التصميم ، يعالج النسخ المتماثل للمعاملات المتطلبات الرئيسية لهذا السيناريو:
- الاتساق المعاملات
- قليل من الكمون
- إنتاجية عالية
- الحد الأدنى من النفقات العامة
نصائح أخرى
النسخ المتطابق = DB كله ، النسخ المتماثل هو مجموعة فرعية مستخدم بناءً على ما "تنشر"
- من الأسهل إعداد النسخ المتطابق ولكنك تحتاج بعد ذلك لقطات للسماح بالإبلاغ.
- مثال على الخط على الخط يستند على النسخ المتماثل
في هذه الحالة ، سأستخدم النسخ المتماثل إذا كنت بحاجة بالقرب من الوقت الفعلي. سأفكر في النسخ المتطابق إذا كان بإمكان التقارير أن يتخلف بضع دقائق أو يجب أن تكون التقارير "ثابتة" لفترة من الزمن.