اشاره :
مهاجرت يك پروژه از يك محيط نرم‌افزاري به محيط مشابه ديگر، همواره بسيار دشوارتر از آغاز آن پروژه در يك محيط مشخص است. درواقع فرايند مهاجرت، از اولين مراحل آن (اتخاذ تصميم صحيح)، تا بهره‌برداري از سكو يا نرم‌افزارجديد، به نوعي تفكر فني و مديريتي خاص نيازمند است. در اين مقاله سعي مي‌كنيم مزايا، مشكلات و راهكارهاي مهاجرت سيستم‌هاي اطلاعاتي به‌ 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، هزينه خريد و نگهداري مجوز استفاده از ساير بانك‌هاي اطلاعاتي معتبر در سال 2005 بالغ بر ده ميليون دلار براي بيش از دو هزار شركت بزرگ برآورد شده است، اما بعضي از آن‌ها توانسته‌اند با مهاجرت از ساير بانك‌هاي اطلاعاتي به سمت‌ ‌MySQL بين هشتاد تا نود درصد هزينه‌هاي مذكور را كاهش دهند.

در حالي كه علاوه بر مسائل مربوط به هزينه خريد و نگهداري مجوز استفاده، نكات قابل توجه ديگري نيز در اين قبيل ملاحظات مالي مطرح است. يكي از اين نكات، هزينه مربوط به ارتقاي سخت‌افزار يا سيستم عامل در موارد ضروري است. براين اساس، افزايش تعداد سرورها در ساير بانك‌هاي اطلاعاتي داراي هزينه‌هاي جداگانه و خاص خود است. در‌حالي‌كه اين مسئله در ‌MySQL با وجود سرويس‌هاي پشتيباني خاصي كه براي اين‌گونه موارد درنظر گرفته شده‌است، مشتريان را نسبت به افزايش تعداد سرورها نگران نمي‌كند. در ساير موارد مربوط به ارتقا نيز كماكان استفاده از ‌MySQL بسيار مقرون‌به‌صرفه جلوه مي‌نمايد. وجود نسخه‌هاي ويژه انواع سكوهاي سخت‌افزاري و نرم‌افزاري چون اينتل، اپل، يونيكس، ويندوز، لينوكس، انواع معماري‌هاي 64 بيتي و امثال آن ازجمله دلايل اين امر به حساب مي‌آيند.

‌نگاهي به ‌‌mySQL AB
اصولاً مسئله مهاجرت از يك نرم‌افزار به نرم‌افزار ديگر، پيچيده و مستلزم دقت كافي در نكات فني و مالي است. بدون‌شك هيچ مشتري عاقلي حاضر به خريد يك محصول نرم‌افزاري كه نام يك شركت پشتيباني‌كننده را به همراه نداشته باشد، نيست. حال هرچه اين شركت سرشناس‌تر و محصولش در بازار داراي استفاده كننده بيشتري باشد، اطمينان مشتريان بعدي نيز بالاتر مي‌رود و ناخودآگاه محصول فوق را به عنوان يك انتخاب قوي براي آن‌ها درمي‌آورد. در حال حاضر‌ MySQL NetWork از اين ويژگي برخوردار است. اين اتحاديه تا سال 2005 در بيش از 22 كشور دنيا، بالغ بر هشت ميليون نسخه ‌‌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) نيز از جمله ابزارهاي موجود در اين بانك اطلاعاتي هستند.


جدول 1


حتي بسياري از كارشناسان بر اين باورند كه در هنگام الزام به استفاده از تعداد سرورهاي بيشتر نيز ‌‌MySQL داراي مزيت بزرگ است؛ زيرا هم از افزايش تعداد سرورهاي بانك اطلاعات در هر دو شكل آن يعني هم به صورت اشتراك داده و هم به صورت خوشه‌بندي به خوبي پشتيباني مي‌كند و هم خريد مجوز آن براي افزايش و استفاده روي سرورهاي جديد بسيار مقرون به صرفه‌تر از ساير بانك‌هاي اطلاعاتي موجود چون اوراكل يا ‌SQLServer است. جدول 1 نسبت هزينه به كارايي‌‌(علا‌مت $‌US به معناي واحد هزينه به دلار و ‌TOPS يعني تعداد عمليات قابل اجرا در واحد ثانيه است) را براي چند پايگاه داده مختلف نشان مي‌دهد. در اين جدول عدد كمتر نشان‌دهنده هزينه كمتر و كارايي بيشتر است.

-- ماهنامه شبکه