يجب أن تحتوي قاعدة بيانات Oracle على مساحة كبيرة لتخزين البيانات؟

StackOverflow https://stackoverflow.com/questions/1291317

  •  18-09-2019
  •  | 
  •  

سؤال

يحتفظ فريقي بقاعدة بيانات أوراكل تقريبا. 200 جيجابايت في الحجم. تعيش جميع البيانات (الجداول، الفهارس، إلخ) داخل مساحة تعديل "لمستخدمين واحدة. هل هذه فكرة سيئة؟ ما هي الفوائد الموجودة في مساحات أعداد متعددة، وتحت أي ظروف أريد أن أضيف المزيد إلى قاعدة بياناتي؟

شكرا!

هل كانت مفيدة؟

المحلول

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

  • لا يوجد فائدة أداء لوضع الكائنات في مساحات خاصة مختلفة. هناك أسطورة قديمة تنفصل عن الجداول والفهارس لديها بعض فوائد الأداء. هناك فائدة محتملة لنشر الإدخال / الإخراج فوق جميع المجالات المتاحة، ولكن من الأفضل القيام به مع ملفات بيانات متعددة في مساحة ملعقة واحدة، ثم مع عدة أجهزة متعددة لأن Oracle تقوم بتخصيص Robin Robin في ملفات بيانات مختلفة على افتراض أن سان الخاص بك حقا تفعل شيئا حتى خارج I / O.
  • إذا كان لديك جداول بحث / محفوظات ثابتة كبيرة، فيمكنك إحضار نسخة جديدة من قاعدة البيانات إلى موقع العميل بمجرد إحضار مساحات التعامل مع المعاملات الأصغر، سيكون ذلك سببا للنظر في مساحات تعبيات متعددة. ولكن هناك عدد قليل جدا من التطبيقات التي لديها هذا النوع من الإعداد. إذا كان عليك إحضار 200 جيجابايت، فلا يهم عدد المساحات التي لديك.
  • على طول نفس الخطوط، إذا كان لديك كائنات كبيرة للقراءة فقط، فإن وضعها في مساحة كبيرة للقراءة فقط يمكن أن تقلل إلى حد كبير الوقت والمساحة اللازمة للنسخ الاحتياطية. مرة أخرى، رغم ذلك، فإن هذا ليس شائعا بشكل خاص في الممارسة خارج مستودعات البيانات.
  • إذا كان تطبيقك قد يعمل دون مجموعة فرعية من الكائنات، فقد يكون هناك فائدة لإنشاء مساحات كبيرة منفصلة حتى تتمكن من التقاط واحد دون اتصال وإجراء استعادة على مستوى مربع. مرة أخرى، رغم ذلك، يمكن تشغيل عدد قليل من التطبيقات بدون مجموعة من الكائنات - إذا فقدت مساحة لاحق الفهرس، على سبيل المثال، فمن المحتمل أن يكون التطبيق ميتا كما فقدت كل شيء.
  • إذا كان لديك عدد كبير من الجداول الفارغة أو الفارغة في الغالب وعدد من الجداول الكبيرة جدا، قد تكون هناك مساحات كبيرة جدا مع تعابيع منفصلة مع مختلف سياسات تخصيص مدى مختلف من وجهة نظر استخدام المساحة. يحدث هذا في بعض الأحيان مع تطبيقات معبأة حيث يستخدم أي تثبيت معين نسبة صغيرة نسبيا من الجداول المتاحة ولا تريد أن يكون لكل من الجداول الفارغة إلى حد كبير نسبيا. مع إدارة المدى التلقائي في مساحة ملعقة مدارة محليا، فإن هذا لا يشكل مصدر قلق كبير، فقد يكون الأمر أكثر قلقا إذا كنت ترغب في استخدام النطاقات الموحدة.
  • إذا كانت الكائنات المختلفة لها أولويات مختلفة لأداء القرص، ولديك أنواع مختلفة من القرص المتوفرة، يمكن أن تسمح لك عدة أنواع منفصلة بوضع كائنات مختلفة على مجموعات مختلفة من الأقراص. في مستودع البيانات، على سبيل المثال، قد ترغب في وضع البيانات القديمة على قرص أبطأ وأرخص في القرص والأحدث على القرص الأكثر تكلفة. هذا لا يحدث الكثير من تطبيقات OLTP.

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

نصائح أخرى

يرى http://download.oracle.com/docs/cd/b10501_server.920/a96521/sm.htm.

يرى http://download.oracle.com/docs/cd/b28359_01/server.111/p28318/physical.htm.

يمكنك استخدام أجهزة تعابيع متعددة لتنفيذ المهام التالية:

التحكم في تخصيص مساحة القرص لبيانات قاعدة البيانات

تعيين حصص مساحة محددة لمستخدمي قاعدة البيانات

التحكم في توافر البيانات عن طريق أخذ المساحات الفردية عبر الإنترنت أو غير متصل

قم بإجراء عمليات النسخ الاحتياطي لقاعدة البيانات الجزئية أو عمليات الاسترداد

تخصيص تخزين البيانات عبر الأجهزة لتحسين الأداء

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

أنا لا أتفق مع تقييم جاستن كافيه جاستن. من المرجح أن يكون للإنتاج DBA رأي مختلف للغاية.

ميزة مساحات الاستبعاد القابلة للنقل لتحريك مجموعات البيانات بين قواعد البيانات، دون الحاجة إلى نقل قاعدة البيانات بأكملها.

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

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

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

بالنسبة لفصل البيانات والمهارس: السبب التقليدي كان لوضع الاثنين على أقراص مختلفة، لذلك لم يتنافسون مع بعض الأداء الآخر. ليس الكثير من مشكلة مع إمكانيات تخزين اليوم، مثل SANS، حيث كل شيء حقا نفس منطقة التخزين، ولكن هناك ما يزال الاعتبار أنك ستقوم بالتنافس على مستوى رأس الملفات حتى مع المساحات المتعبقية المدارة محليا إذا كنت قد حصلت على كل ما تبذلونه من الكائنات الخاصة بك في نفس التتبع حيث لا يمكنك فصل الفهارس بالقلم من الجداول !! حتى إذا قمت بإنشاء 20 دراسات بيانات في مساحة كبيرة واحدة، فلن تحصل على تحديد المكان الذي تذهب فيه الجداول والفهارس، ثم لاحظت يوما بعد ذلك، لديك خلاف كبير على مستوى رأس الملفات بسبب النشاط الهائل مقابل الجدول حيث فهارس يحدث أن تكون في نفس datafile! في الواقع الخردة ذلك. إذا كنت قد حصلت فقط على TS واحد، فأنت إرادة دون شك تجربة خلاف رأس الملف.

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

أعطى S. Lott بالفعل قائمة جيدة من الأسباب العامة التي قد يرغب المرء في تقسيمها على مساحات متعددة.

أكثر تحديدا لموقفك ...

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

إذا كنت تستطيع العودة في الوقت المناسب وإعادة الأشياء من البداية، فمن المؤكد أنك تريد أن تخطط لتقسيم قاعدة البيانات بشكل معقول إلى مسافات طاولة مختلفة. ولكن هل يستحق كل هذا العناء الآن؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top