Please reload

التدوينات الحديثة

ما هي المقاييس المهمة لمراقبة صحة قواعد البيانات وسلوكها؟

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

25 أكتوبر 2018 / كايتي فارمر

 

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

 

 

 

مصدر الصورة: unsplash

 

لماذا تراقب قواعد بياناتك؟

 

هناك أسباب كثيرة تدعو لمراقبة قواعد بياناتك، وهي في الغالب نفس الأسباب التي تراقب بها أي جزء آخر من أنظمتك: إن معرفة ما يحدث في المكونات المختلفة لتطبيقاتك يجعلك مطورًا مستنيرًا يتخذ قرارات أكثر ذكاءً.

 

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

 

المشكلة

 

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

 

الحل

 

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

 

معدل الإنتاج: ما مقدار أداء قاعدة البيانات؟

 

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

 

وقت التنفيذ: ما هو الوقت الذي تستغرقه قاعدة البيانات لأداء وظيفتها؟

 

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

 

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

 

التزامن: كم عدد الوظائف التي تقوم بها قاعدة البيانات في نفس الوقت؟

 

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

 

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

 

الاستخدام: ما النسبة المئوية للوقت الذي كانت فيه قاعدة البيانات مشغولة؟

 

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

 

يُعد هذا المقياس مفيدًا خصوصًا لتحديد الصحة العامة وأداء قاعدة البيانات. إذا كانت قاعدة البيانات متاحة  للرد على الطلبات بنسبة 80٪ فقط من الوقت، فيمكنك إعادة تخصيص الموارد أو العمل على التحسين أو إجراء تغييرات أخرى للحصول على مدى توفر أعلى.

 

الاخبار الجيدة

 

قد يبدو أن الرصد والتحليل أمران مرهقان، لا سيما وأن معظمنا ليسوا خبراء في قواعد البيانات وقد لا يتوفر لدينا الوقت الكافي لفهم هذه المقاييس. لكن الخبر السار هو أن معظم هذا العمل قد تم بالفعل من أجلنا. تحتوي العديد من قواعد البيانات على قاعدة بيانات أداء داخلية مثل: قاعدة (Postgres) التي تحتوي على قاعدة (pg_stats) وقاعدة (CouchDB) التي تحتوي على قاعدة (Runtime_Statistics) و (InfluxDB) التي تحتوي على قاعدة (_internal) والتي تم تصميمها بواسطة مهندسي قواعد البيانات لمراقبة المقاييس المهمة لقاعدة البيانات تلك. يمكنك معرفة معلومات عامة مثل عدد الاستعلامات البطيئة أو معلومات مفصلة مثل متوسط الميكروثانية التي يستغرقها كل حدث في قاعدة البيانات.

 

الخلاصة

 

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

 

المؤلف

كاتي فارمر

سان فرانسيسكو، كاليفورنيا

 

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

Originally posted on opensource.com by Katy Farmer

[https://opensource.com/article/18/10/database-metrics-matter]

License: CC-BY-SA, Translated by Maryam Bin Talib, Edited by: Qabas Alkhzam.

المصدر

Share on Facebook
Share on Twitter
Please reload

تابعنا
ابحث بالتاق
Please reload

الارشيف
  • Black Instagram Icon
  • Black Twitter Icon

Riyadh, Saudi Arabia

  • Black Instagram Icon
  • Black Twitter Icon

الرياض، المملكة العربية السعودية