خوانندگان نوشته های من گاهی در مورد پایگاه های اطلاعاتی و مدیریت پایگاه های اطلاعاتی از من سؤال می پرسند که از آنها استقبال می کنم. در مواقعی از این فرصت استفاده میکنم تا به پرسشهای بهویژه جذاب پاسخ دهم. یک سوال جالب که بیش از یک بار از من پرسیده شده این است: ” برای مدیریت کارایی بر گروه DBA شما، چه معیارها و مقیاس هایی هایی مفید است؟
پاسخ به این سوال چندان آسان نیست زیرا یک DBA خوب باید “همه فن حریف” باشد. منظور من این است که یک DBA باید در بسیاری از وظایف (یا حرفه ها) مختلف مؤثرترین کارآیی لازم داشته باشد. هر یک از این “حرفه ها” می توانند چندین معیار برای اندازه گیری موفقیت داشته باشند. برای مثال، معیاری توسط یک خواننده با عنوان تعداد عبارات SQL که با موفقیت پردازش میشوند. پیشنهاد شد. اما “با موفقیت” به چه معناست؟ آیا به این معنی است که عبارت به آسانی نتایج صحیح را برگردانده است یا نتایج صحیح را در یک زمان معقول برگردانده است؟
و زمان “معقول” چیست؟ دو ثانیه؟ یک دقیقه؟ نیم ساعت؟ اندازه گیری DBA در زمان پاسخ تا زمانی که قراردادهای سطح خدمات را ایجاد کنید، غیرمنصفانه است. DBAباید در ایجاد و مدیریت قراردادهای سطح خدمات معقول (از نظر هزینه و زمان پاسخگویی) مشارکت داشته باشد تا مبادا وظیفه ای به آنها واگذار شود که قابل دستیابی نباشد.
یکی دیگر از معیارهای پیشنهادی، اندازه گیری تعداد گزارش های حادثه بود. اگر فقط به مشکلات واقعی محدود شود که ممکن است تحت تأثیر DBA باشد، خوب است. DBA نباید در قبال باگهای موجود در (DBMS) که توسط فروشنده DBMS ایجاد میشود و همچنین برای عناصر طراحی که توسط یک برنامه زمانبندی نامعقول از سوی مدیریت یا یک تیم توسعه بیش از حد متعصب به او تحمیل شده است، پاسخگو باشد.
من ایده استفاده از معیار در دسترس بودن را دوست دارم، اما باید در برابر محیط و نیازهای سازمان شما تعدیل شود. به عبارت دیگر، در دسترس بودن مورد نیاز چیست؟ یک بار دیگر، به مثال توافقات سطح خدمات بازگردیم. اگر DBMS زیرساختهای فنی را برای دستیابی به سطح مطلوب در دسترس بودن ارائه نمیکند یا سازمان راهحلهای در دسترس بودن پایگاه داده را از یک فروشنده شخص ثالث خریداری نمیکند، نباید بهدلیل عدم دستیابی به ویژگی دسترس پذیری به شدت مورد قضاوت قرار گیرد. البته، اگر تصمیمی برای خرید DBMS در حال استفاده باشد، DBA میتواند پاسخگو باشد، اما معمولاً اینطور نیست. بسیاری از DBA ها پس از انتخاب DBMS وارد می شوند.
در مورد یک معیار مبتنی بر پاسخ به مشکلات چطور؟ این معیار لزوماً به این معنی نیست که مشکل حل شده است، اما DBA به نهاد “شکایت کننده” پاسخ می دهد و در حال کار بر روی یک راه حل است. چنین معیاری تمایل دارد که مدیریت پایگاه داده به عنوان یک سرویس دهنده یا میز خدمت رفتار کند. اما من فکر می کنم این یک معیار بسیار کوته بینانه برای اندازه گیری فعالیت DBA است و آنها کارهای خیلی بیشتر از پاسخگویی به مشکلات انجام می دهند.
هر معیار ارزیابی DBA باید با درک محیطی که DBA در آن کار می کند توسعه یابد. این نیاز به تجزیه و تحلیل عمیق موارد زیر نیازمند می باشد.
- تعداد برنامه هایی که باید پشتیبانی شوند.
- تعداد پایگاه های داده و اندازه آن پایگاه ها.
- پشتیبانی در محل در مقابل پایگاه داده ابری.
- استفاده از پایگاه های داده OLTP، OLAP، وب فعال، تجزیه و تحلیل، هوش مصنوعی، موقت، و غیره.
- تعداد DBMS ها و فروشندگان مختلف یعنی Oracle، Db2، SQL Server و غیره.
- تعداد پلتفرم های سیستم عاملی که باید پشتیبانی شوند مانند ویندوز، یونیکس، لینوکس، z/OS، و غیره.
- توجه ویژه به برنامه های ERP به دلیل استفاده غیر استاندارد از DBMS
- تعداد کاربران و تعداد کاربران همزمان.
- نوع قراردادهای سطح خدمات در حال اجرا یا برنامه ریزی شده.
- نیاز به مشارکت در یک محیط توسعه چابک DevOps
- در دسترس بودن مورد نیاز (۲۴/۷ یا چیزی کمتر).
- تأثیر خرابی پایگاه داده بر کسب و کار
- الزامات عملکرد لایه دوم یا بیشتر – به موضوع SLA برمی گردد
- نوع برنامه ها (ماموریت حیاتی در مقابل غیرماموریت حیاتی).
- فراوانی درخواست های تغییر.
این احتمالاً یک لیست ناقص است، اما به طور دقیق پیچیدگی و چالش هایی را که DBA ها روزانه با آن مواجه هستند را نشان می دهد.
البته بهترین راه برای اندازه گیری اثربخشی DBA ، قضاوت در مورد کیفیت تمام وظایفی است که DBA های شما انجام می دهند. اما بسیاری از جنبه های چنین اندازه گیری انتزاعی خواهد بود. به خاطر داشته باشید که یک DBA وظایف زیادی را انجام می دهد تا اطمینان حاصل کند که داده ها و پایگاه داده های سازمان مفید، قابل استفاده، در دسترس و صحیح هستند. این وظایف شامل مدل سازی داده ها، طراحی منطقی و فیزیکی پایگاه داده، نظارت و تنظیم عملکرد، اطمینان از در دسترس بودن، مجوز دادن امنیتی، پشتیبان گیری و بازیابی، اطمینان از یکپارچگی داده ها، و در واقع، هر چیزی که با پایگاه های داده شرکت ارتباط برقرار می کند. ایجاد یک معیار منسجم برای اندازه گیری این وظایف به روشی غیر انتزاعی چالش برانگیز است.
احتمالاً برای انجام درست کار باید فرمول پیچیدهای ارائه کنید که شامل همه موارد فوق – و بیشتر – باشد، احتمالاً به همین دلیل است که من هرگز یک برنامه اندازهگیری منصفانه، غیر موضوعی و مبتنی بر متریک را برای DBA ندیدهام.
اگر چنین برنامهای را اجرا میکنید، دوست دارم جزئیات و نحوه پذیرش آن توسط گروه DBA، مدیریت آنها و مشتریان/کاربران آنها را بدانم.
این مقاله نوشته کرگ مولینز است.
ترجمه: سجاد نوروزی