اگر پایگاه داده منبع باز شما اکنون کار می کند، چرا به آن دست بزنید؟ زیرا نگهداری از نرم افزارهایی که عمر آنها به سررسیده سخت تر است و امکان دارد ویژگی های جدید ارزشمند را از دست بدهید
پایگاه های داده پایه و اساس برنامه ها و نرم افزارها هستند. آنها همچنین تا حدودی نامرئی هستند. همانطور که زبان فرانک نرم افزار می گوید، آنها پشتیبان هستند، مفهوم آن این است که آنها در پشت یا زیر هر چیز دیگری قرار دارند.
این بدان معناست که وقتی نوبت به ارتقاء میرسد، به راحتی میتوان در یکی از این دو تله افتاد: یا فراموش کردن اینکه آنها آنجا هستند یا احساس اضطراب شدید از اینکه با چیزی که نباید آن را لمس کنید، به هم میخورید.
این نکته ای است که توسط دیوید استوکس، مبشر فناوری در Percona، سازمانی که پشتیبانی و خدماتی را برای پایگاه های داده منبع باز ارائه می دهد، بیان کرده است.
او به The New Stack گفت: «بخشی از آن این است که اگر کار میکند، و [تیمها] مطمئن نیستند که پایگاه داده واقعا چه کار میکند یا چگونه کار میکند، نمیخواهند آن را لمس کنند.
به طور مشابه، او افزود: «چه کسی چیزی را از تولید خارج می کند تا آن را ارتقا دهد؟ اگر به موقع برنگردد، چه عواقبی دارد؟»
او پیشنهاد کرد که نگرش معمولاً این است: «الان کار میکند… چرا آن را لمس کنیم؟ صبر کنید تا خراب شود.»
مسئله ارتقاء پایگاههای اطلاعاتی بهویژه در زمینه نسخههای خاصی از پایگاههای داده منبع باز که به پایان عمر خود میرسند (EOL) مهم است.
به عنوان مثال، در سال 2023، پایان MySQL 5.7، یک نسخه بسیار محبوب که تقریباً یک دهه بود (که در سال 2015 منتشر شد)، PostgreSQL 11، Apache Cassandra 3 و MongoDB 6.3 به پایان رسید. البته، زمانی که نرمافزاری «بازنشسته» میشود (برای داشتن یک اصطلاح بهتر)، معمولاً نسخههای جدیدی وجود دارد که یک فروشنده یا جامعه تصمیم گرفته است انرژی خود را پشت سر بگذارد – MongoDB 7.0 در آگوست 2023 منتشر شد، PostgreSQL 16 در سپتامبر 2023 منتشر شد. و آپاچی کاساندرا 5 در نوامبر 2023.
لبه صخره پایان راه است
برای بسیاری از تیم ها، EOL یک لبه صخره را نشان می دهد. این بدان معنی است که نرم افزار دیگر وصله و به روز نمی شود و خطرات امنیتی بیشتری را ایجاد می کند و احتمالاً مشکلات مربوط به عملکرد را نیز افزایش می دهد.
البته اسناد و مدارک حفظ نخواهد شد و هر گونه پشتیبانی (اگر در وهله اول چیزی وجود داشته باشد) به طور کامل ناپدید خواهد شد. در برخی موارد ممکن است یک مشکل انطباق باشد – برای مثال، در دنیای پرداختها، سازمانهایی که دارای گواهینامه PCI-DSS هستند – سازمانهایی که باید از استانداردهای امنیت داده صنعت کارت پرداخت پیروی کنند – باید هر وصله مهمی را حداکثر تا یک ماه اجرا کنند. پس از آزادی آنها
Jan Wieremjewicz، مدیر ارشد محصول در Percona، نقض امنیتی Log4J را به یاد می آورد. او به The New Stack گفت: «تصور کنید که روی نرمافزار پایان عمری اجرا میشوید که برای حذف سوءاستفادههای احتمالی Zero Day وصله نمیشود. “لحظه ای که به آن فکر می کنم، غاز دارم!”
خطرات عدم ارتقاء پایگاه داده ها قابل توجه است. در اصل، آنچه که باید پایههای قوی سیستمهای گستردهتر شما باشد، یک بدهی است، یک بمب ساعتی که میتواند هر لحظه عملکرد و پایداری را از مسیر خارج کند.
اما شایان ذکر است که انتشار نسخه های جدید – به ویژه نسخه های اصلی – می تواند فرصت هایی را برای تیم های مهندسی نشان دهد. ویژگیهای جدید و تجربه بهبود یافتهای را که در هنگام راهاندازی هر نرمافزاری مرسوم است، در نظر بگیرید. در حالی که برخی از این موارد را می توان به عنوان تبلیغات تبلیغاتی نادیده گرفت، با این وجود مهم است که بدانیم عدم ارتقاء ممکن است به این معنی باشد که شما راه بهتری برای انجام کارها را از دست می دهید.
چرا ارتقا نمی دهیم؟
با توجه به این خطرات اساسی، ارزش دارد که در حس اجتناب (اگر نه کاملاً ترس) که مشخصه سازمانهای خاص است، عمیقتر بگردیم. یکی از دلایلی که Wieremjewicz بر آن تاکید کرد تغییر ترکیب تیم های مهندسی نرم افزار است.
او گفت که معماران پایگاه داده “نژاد در حال مرگ هستند” و مهندسان قابلیت اطمینان سایت ازدحام می کنند. DBA های کمتر و کمتر و SRE های بیشتری وجود دارد که اغلب در مشکلات پایگاه داده به اندازه DBA ها متخصص نیستند.
او پیشنهاد کرد که این تا حدی نشانه ای از ظهور پایگاه داده مبتنی بر ابر به عنوان یک سرویس (DBaaS) است. اگرچه، از یک طرف، بسیاری از جنبه های پیکربندی و مدیریت پایگاه داده را ساده کرده است، به نوبه خود، به پیچیدگی اجازه داده است در جاهای دیگر رخنه کند، در حالی که مهارت ها و ساختارهای سازمانی به گونه ای تکامل می یابند که لزوماً برای رسیدگی به این پیچیدگی مجهز نیستند.
استوکس میگوید: «ما سالها پیش از داشتن شاید تعداد انگشت شماری پایگاهداده به هزاران پایگاه داده، اگر نه بیشتر، رسیدهایم. «هنوز به کسی نیاز دارید که جستجوها را بررسی کند و کارهای بهداشتی اولیه را انجام دهد، مطمئن شوید که حسابها درست هستند، رمزهای عبور، نرمافزار بهروز است، به درستی تکرار میشود، از چیزها پشتیبانگیری میشود. “
این با سوال ارتقاء پایگاه داده مماس نیست: این موضوع اصلی مشکل را برجسته می کند. در زمانی که پایگاههای اطلاعاتی بهجای لنگرهای سنگین و به ظاهر غیرقابل حرکت بهعنوان بلوکهای ساختمانی سبکوزن تلقی میشوند، درست لحظهای که به ما یادآوری میشود که پایگاههای داده چیزهای پیچیدهای هستند که نیاز به توجه و مراقبت مداوم دارند، میخواهیم وانمود کنیم که به سادگی نمیتوان آنها را لمس کرد، یا اینکه آنها مشکل فردا هستند.
عدم وجود جذابیت
می توان این بحث را مطرح کرد که ارتقاء پایگاه داده جذابیتی (یا به طور خاص تر، ارزش تجاری آشکار) که پروژه های دیگر دارند را ندارد.
او آن را به گونهای دیگر توضیح داد: «شما یک معاون ارشد دارید که وارد میشود و میگوید: «هی، من این ایده عالی را برای این کار جدیدی که قرار است انجام دهیم، دارم. این پروژه حیوان خانگی من است. من از شما می خواهم که مراقب آن باشید. شما می گویید “بله، اما سیستم قدیمی که فرآیند موجودی را مدیریت می کند نیاز به ارتقاء دارد.”
استوکس استدلال کرد که این تنها یک راه دارد – و این به نفع ارتقاء نیست.
او گفت: «ارتقای پایگاه داده همیشه مشکل است، زیرا این تغییرات جزئی هستند، حتی در بهترین زمان. باید یادداشتهای انتشار را مرور کنیم، و امیدوارم یک یا دو آزمایش انجام دهیم تا مطمئن شویم که همه چیز به خوبی کار میکند.»
چالش های منحصر به فرد پایگاه های داده منبع باز
پایگاه داده های منبع باز به ویژه در مورد به روز رسانی چالش برانگیز هستند. شما تقریباً تنها هستید، احتمالاً برای اسناد مرتبط و حتی پشتیبانی به جامعه مشارکت کننده وابسته هستید.
در این شرایط، انعطافپذیری که یک پایگاه داده منبع باز میتواند به تیمهای مهندسی ارائه دهد، تبدیل به یک بار سنگین میشود. تیمها با چیزی که به راحتی نمیتوانند به تنهایی مدیریت کنند، مختل میشوند – حتی فعالترین پروژههای منبع باز تنها زمانی میتوانند کارهای زیادی انجام دهند که به تیمها با پیادهسازی خاص خود کمک کنند.
این جایی است که Percona وارد میشود. مدتی پیش زندگی خود را آغاز کرد، با Wieremjewicz داستان اینکه چگونه بنیانگذار Peter Zaitsev پس از کار در آنجا به عنوان یک توسعهدهنده با هدف ارائه پشتیبانی بیشتر برای کاربران، MySQL را ترک کرد.
اگرچه MySQL بخشی اساسی از داستان اصلی این شرکت است، دامنه آن به طور گستردهتری پایگاههای داده منبع باز را پوشش میدهد. این تیم به اندازه MySQL به احتمال زیاد از شرکت هایی که از PostgreSQL یا MongoDB استفاده می کنند پشتیبانی می کند.
این پلتفرم یا اگنوستیک ابزار می تواند به دلایل متعددی سودمند باشد.
Wieremjewicz گفت: “ما می توانیم در مورد راه حل ها مشاوره دهیم – حتی در مورد انتقال از یک پایگاه داده به پایگاه داده دیگر، با ظرفیتی بسیار واقعی و صادقانه، زیرا ما پولی نداریم و برخی از نرم افزارهایی را که ایجاد می کنیم، به دست نمی آوریم.” “این به معنای واقعی کلمه به نفع کاربر است.”
در زمینه خاص ارتقاء پایگاههای داده، ادمگرایی فروشنده احتمالاً میتواند به سازمانها این امکان را بدهد که در نحوه برخورد با یک مشکل پایگاهداده ذهن بازتر یا حتی خلاقتر باشند. مطمئناً، ارتقاء از MongoDB به MongoDB ممکن است منطقی باشد، اما اگر کاوش یک پایگاه داده جدید برای زمینه فنی خاص شما مرتبط تر باشد، چه؟
تصمیم گیری به تنهایی، حتی با آگاه ترین و بازترین تیم، بسیار سخت است – مشاوره خارجی و آگنوستیک می تواند در ارائه پشتیبانی لازم و انگیزه برای تغییر بسیار ارزشمند باشد.
کلید ارتقاء: پیش بینی و آماده سازی
هیچ دوری از این واقعیت وجود ندارد که ارتقاء پایگاه داده می تواند چالش برانگیز باشد. آنچه مهم است برنامه ریزی و یک قدم جلوتر ماندن است.
Wieremjewicz گفت: “شما باید از قبل برنامه ریزی کنید، نمی توانید منتظر بمانید تا پایان زندگی اتفاق بیفتد، باید خیلی زودتر پیش بینی کنید.”
عدم انجام این کار می تواند مشکلات فنی – و شاید تجاری – قابل توجهی داشته باشد که اصلاح آنها بسیار دشوارتر است.
استوکس معتقد نیست که یک راه درست برای ارتقا پایگاه داده وجود دارد. نحوه برخورد در نهایت به بلوغ و اعتماد سازمانی که واقعاً آن را انجام می دهد بستگی دارد.
او گفت: «این یکی از آن چیزهایی است که ما دوست داریم دوچرخهسواری را یاد بگیریم. “چند نفر می پرند و این کار را خودشان انجام می دهند – افراد دیگر به کسی نیاز دارند که روی صندلی بنشیند و ثابت کند، در حالی که شما یاد می گیرید که چگونه پاها را بالا و پایین فشار دهید و چگونه هدایت کنید.”
او متقاعد شده است که تا زمانی که افرادی وجود داشته باشند که نیاز به یادگیری در مورد پایگاههای اطلاعاتی داشته باشند، Percona برای این مشتریان ارزشمند باقی میماند: «ما به اندازه کافی در اطراف بودهایم تا بدانیم کجا باید در اطراف چالهها هدایت شود و از بالا رفتن از تپهها اجتناب کنیم.»