یکشنبه, ۹ اردیبهشت, ۱۴۰۳ / 28 April, 2024
مجله ویستا

مهاجرت به MySQL


مهاجرت به MySQL
مهاجرت یک پروژه از یک محیط نرم‌افزاری به محیط مشابه دیگر، همواره بسیار دشوارتر از آغاز آن پروژه در یک محیط مشخص است. درواقع فرایند مهاجرت، از اولین مراحل آن (اتخاذ تصمیم صحیح)، تا بهره‌برداری از سکو یا نرم‌افزارجدید، به نوعی تفکر فنی و مدیریتی خاص نیازمند است. در این مقاله سعی می‌کنیم مزایا، مشکلات و راهکارهای مهاجرت سیستم‌های اطلاعاتی به‌ MySQL را بررسی نماییم.
● اهداف مهاجرت
انتشار نسخه‌های جدید ‌MySQL، به ویژه نسخه پنجم آن با قابلیت‌های فراوان و قیمت ارزان، باعث شده است برای بسیاری از شرکت‌هایی که همواره به ‌دلیل محدودیت مالی، با هزینه‌های خرید، نگهداری و ارتقای سیستم اطلاعاتی خود دست و پنجه نرم می‌کردند، جای شک و تردیدی نماند که راه نجات آن‌ها، روی‌آوردن به سمت نرم‌افزارهای سورس باز و به ویژه بانک اطلاعاتی ‌MySQL است. شاید قبلاً شرح کاهش چشمگیر هزینه‌های نگهداری سیستم در سایت آمازون براثر استفاده از ‌MySQL را شنیده باشید، اما اکنون مسئله از آن هم فراتر رفته‌ است.
زیرا آن نسخه ‌‌MySQL که آمازون و چندین سایت اینترنتی را از بحران مالی دور کرد و به سوی وضعیت بهتری رساند، با نسخه کنونی ‌‌MySQL بسیار متفاوت است. شاید در آن زمان حتی بسیاری از کارشناسان بی‌طرف سیستم‌ها و بانک اطلاعاتی، ‌MySQL را به دلایل ویژگی‌های آن زمان، یعنی عدم پشتیبانی از برخی امکانات و استانداردهای یک بانک‌اطلاعاتی چند‌منظوره مثل تریگر، روال ذخیره‌شده، ویو و امثال آن، فقط برای استفاده در چند کاربرد محدود مثل انبارکردن اطلاعات یا به اصطلاح ‌Data Warehousing مناسب می‌دانستند و در برخی کاربردهای تجاری پرمصرف دیگر مثل سیستم‌های مبتنی ‌بر فرایندهای محاسباتی (‌Transaction) استفاده از آن را توصیه نمی‌کردند.
به عنوان مثال، در آن روزگار ‌‌MySQL می‌توانست برای سایت‌هایی که صرفاً نقش اطلاع‌رسانی را بازی می‌کردند و چندان درگیر پردازش‌های سنگین نبودند (مانند سایت آمازون) انتخاب مناسبی قلمداد شود، اما در کاربردهای دیگری چون سیستم‌های اطلاعاتی و مدیریت منابع انسانی سازمان‌ها و موسسات تجاری‌ (سیستم‌های ‌MIS،‌‌ERP یا ...) به عنوان راه‌حل رده چندم هم به حساب نیاید.
با این‌حال اکنون وضع به گونه دیگری است. تغییراتی که در نسخه‌های جدید ‌‌MySQL داده شده، این موتور پایگاه داده‌ای را در معرض رقابت جدیدی با بانک‌های اطلاعاتی سرشناسی چون اوراکل و ‌‌SQLServer قرار داده است.
بنابراین برای بسیاری از شرکت‌هایی که قصد اختصاص هزینه‌های کمتری برای برخورداری از یک سیستم بانک‌اطلاعاتی را دارند، ‌MySQL یک آلترناتیو ایدهآل به حساب می‌آید. غیر از هزینه‌‌های مربوط به مالکیت (TCO) که پایین بودن آن یکی از نقاط‌قوت ‌MySQL قلمداد می‌شود، عامل مهم دیگری وجود دارد که همان خدمات پشتیبانی است. این عامل که همواره از عوامل بسیار با اهمیت در حوزه‌های مختلف ‌IT است، تا چند سال قبل با علامت سوال بزرگی درباره برخی محصولات اپن سورس مثل ‌MySQL همراه بود.
نامشخص بودن متولی رسمی در قالب یک شرکت مطرح و همچنین تعدد توزیع و نسخه‌های مختلف، همواره یکی از نقاط‌ضعف برخی نرم‌افزارهای سورس باز بوده است. اما در مورد ‌MySQL و به‌ویژه در سال‌های اخیر که پس از انجمن‌هایی چون ‌MySQL AB، شرکت‌های مطرحی مثل ‌‌SAP به توسعه و پشتیبانی نسخه‌هایی از نرم‌افزارهای مبتنی ‌بر ‌‌MySQL پرداختند، اوضاع بسیار قابل اعتمادتر از گذشته شده‌است. افزایش تعداد حامیان ‌MySQL در میان شرکت‌های معتبر و شکل‌گیری اجتماعاتی برای حمایت از توسعه‌دهندگان و استفاده‌کنندگان ‌‌MySQL با نام MySQL Community و MySQL NetWork، از عوامل پایدارتر شدن موضع ‌MySQL در برابر سایر رقبا است.
● هزینه‌یابی
همان‌طور که گفته‌شد، هزینه، همواره یکی از عوامل مورد توجه در انتخاب محصولات اپن سورس و به‌ویژه ‌MySQL بوده و هست. طبق آمار موسسه ‌MySQL، هزینه خرید و نگهداری مجوز استفاده از سایر بانک‌های اطلاعاتی معتبر در سال ۲۰۰۵ بالغ بر ده میلیون دلار برای بیش از دو هزار شرکت بزرگ برآورد شده است، اما بعضی از آن‌ها توانسته‌اند با مهاجرت از سایر بانک‌های اطلاعاتی به سمت‌ ‌MySQL بین هشتاد تا نود درصد هزینه‌های مذکور را کاهش دهند.
در حالی که علاوه بر مسائل مربوط به هزینه خرید و نگهداری مجوز استفاده، نکات قابل توجه دیگری نیز در این قبیل ملاحظات مالی مطرح است. یکی از این نکات، هزینه مربوط به ارتقای سخت‌افزار یا سیستم عامل در موارد ضروری است. براین اساس، افزایش تعداد سرورها در سایر بانک‌های اطلاعاتی دارای هزینه‌های جداگانه و خاص خود است.
در‌حالی‌که این مسئله در ‌MySQL با وجود سرویس‌های پشتیبانی خاصی که برای این‌گونه موارد درنظر گرفته شده‌است، مشتریان را نسبت به افزایش تعداد سرورها نگران نمی‌کند. در سایر موارد مربوط به ارتقا نیز کماکان استفاده از ‌MySQL بسیار مقرون‌به‌صرفه جلوه می‌نماید. وجود نسخه‌های ویژه انواع سکوهای سخت‌افزاری و نرم‌افزاری چون اینتل، اپل، یونیکس، ویندوز، لینوکس، انواع معماری‌های ۶۴ بیتی و امثال آن ازجمله دلایل این امر به حساب می‌آیند.
● ‌نگاهی به ‌‌mySQL AB
اصولاً مسئله مهاجرت از یک نرم‌افزار به نرم‌افزار دیگر، پیچیده و مستلزم دقت کافی در نکات فنی و مالی است. بدون‌شک هیچ مشتری عاقلی حاضر به خرید یک محصول نرم‌افزاری که نام یک شرکت پشتیبانی‌کننده را به همراه نداشته باشد، نیست. حال هرچه این شرکت سرشناس‌تر و محصولش در بازار دارای استفاده کننده بیشتری باشد، اطمینان مشتریان بعدی نیز بالاتر می‌رود و ناخودآگاه محصول فوق را به عنوان یک انتخاب قوی برای آن‌ها درمی‌آورد.
در حال حاضر‌ MySQL NetWork از این ویژگی برخوردار است. این اتحادیه تا سال ۲۰۰۵ در بیش از ۲۲ کشور دنیا، بالغ بر هشت میلیون نسخه ‌‌MySQL AB را نصب و پشتیبانی کرده‌است و به گفته مسئولان آن، روزانه تقریباً چهل هزار نفر اقدام به دانلود تمام یا قسمتی از محصولات ‌‌MySQL AB می‌نمایند.
اما شرکت‌های بزرگی که خواستار ارائه پشتیبانی از محصولات باشند نیز می‌توانند امتیاز پشتیبانی موسوم به‌MySQL NetWork را خریداری کنند و از مزایای آن بهره‌مند شوند. هم‌اکنون شرکت‌های معتبری چون HP، ناول، دل و دیگران نیز از عاملا‌ن فروش امتیاز پشتیبانی ‌‌MySQL Network هستند و بسیاری از شرکت‌ها یا سازمان‌های بزرگ نظیر یاهو، گوگل، ناسا، سایت آمازون و ... نیز از مشتریان این امتیاز پشتیبانی به شمار می‌آیند.
به گفته دان آگرونو، مدیر فنی سایت هواشناسی ‌Weather.com (یکی از ده سایت اینترنتی بزرگ جهان)، استفاده از یک سیستم عامل لینوکس، پردازنده اینتل و بانک ‌MySQL به جای سرور سولاریسی در این سایت باعث کاهش یک سوم هزینه‌های نگهداری و افزایش سی‌درصدی کارایی و حجم پردازش شده است.
● هزینه برحسب کارایی
‌صحبت از کارایی یا سرعت پردازش ذخیره، بازیابی یا پردازش اطلاعات به میان آمد. بد نیست عامل هزینه را به همراه مسئله کارایی سیستم به‌طورهمزمان بررسی نماییم. کاملاً واضح است که هیچ کارفرمایی حاضر نیست سرعت، کارایی و ظرفیت سیستم خود را کاملاً فدای هزینه پایین نماید. بنابراین به دنبال راه‌حل میانه و بهینه‌ای می‌گردد که تا حدودی هر دو خواسته را برآورده کند. امروزه ‌MySQL با توانایی‌ها و قابلیت‌های جدیدی که در نسخه پنجم به بعد خود به همراه دارد، قادر است این مهم را به انجام برساند.
بنابراین مشتری در زمان استفاده از ‌‌MySQL نباید نگران هزینه احتمالی برای ارتقای سخت‌افزار خود یا افزایش تعداد سرورها، پردازنده‌ها، یا هاردیسک‌ها باشد. چراکه‌ MySQL می‌تواند تا حدود قابل توجهی این نیاز را جبران نماید. وجود انواع موتورهای ذخیره‌سازی ‌(‌Store Engin در ‌MySQL) که شیوه ذخیره‌سازی اطلاعات را برای کاربردهای گوناگون تعریف می‌نمایند، از جمله ابزارهای مهم در مقبول بودن سرعت سیستم به حساب میآیند. دو موتور ذخیره‌سازی مشهور به نام ‌‌InnODB برای کاربردهای OLTP و موتور ISAM برای کاربردهای OLAp به علاوه چندین موتور ذخیره‌سازی دیگر برای سایر کاربردها دستیابی به این هدف را آسان‌تر نموده‌اند. ابزارهای دیگری چون سیستم ایندکس‌گذاری روی متون ‌(Text Indexing)، سیستم تنظیم‌کننده و پیکربندی حافظه‌ ‌Cache مورداستفاده موتور MySQL، و برنامه‌های بهینه‌ساز کارایی سیستم ‌(‌Optimizer) نیز از جمله ابزارهای موجود در این بانک اطلاعاتی هستند.
حتی بسیاری از کارشناسان بر این باورند که در هنگام الزام به استفاده از تعداد سرورهای بیشتر نیز ‌‌MySQL دارای مزیت بزرگ است؛ زیرا هم از افزایش تعداد سرورهای بانک اطلاعات در هر دو شکل آن یعنی هم به صورت اشتراک داده و هم به صورت خوشه‌بندی به خوبی پشتیبانی می‌کند و هم خرید مجوز آن برای افزایش و استفاده روی سرورهای جدید بسیار مقرون به صرفه‌تر از سایر بانک‌های اطلاعاتی موجود چون اوراکل یا ‌SQLServer است. جدول ۱ نسبت هزینه به کارایی‌‌(علا‌مت $‌US به معنای واحد هزینه به دلار و ‌TOPS یعنی تعداد عملیات قابل اجرا در واحد ثانیه است) را برای چند پایگاه داده مختلف نشان می‌دهد. در این جدول عدد کمتر نشان‌دهنده هزینه کمتر و کارایی بیشتر است.
منبع : دبیرخانه شورای عالی فناوری اطلاعات کشور


همچنین مشاهده کنید