مقدمتا بگویم که خیلی متاسفم که فضای اینجا اینقدر به تمایلات ضد مایکروسافتی گرایش دارد. این نوع فضاها در دنیای برنامه نویسی خیلی مخرب است.
قبل از ورود به بحث لازمه اشاره کنم که : اولا من معتقد نیستم انتقاد از محصولات یا فناوری های مخلوق مایکروسافت ، ضدیت با مایکروسافت باشه ، دوما" حتی با پذیرش این فرض ، تصور نمیکنم چنین پدیده ای "مخرب" باشه .

اگر کسی ORACLE را قبول دارد خیلی عجیب است SQL Server را قبول نداشته باشد. پس شما به چی نگاه میکنید؟ به نام محصول یا به معماری؟
مقایسه ات ، قیاسی مع الفارق است ! تشابه بین زبان رابط بین موتور بانک اطلاعاتی و کاربر بانک و تبعیت از قواعدی یکسان ، نمیتونه ابزاری مناسب برای مقیسه اوراکل و اسکوئل سرور مایکروسافت باشه . ذیلا" به معایب اسکوئل سرور در مقابل مای اسکوئل و اوراکل اشاره خواهم کرد .

در محیط دات نت به عنوان یکی از مدرنترین سکوهای نرم‌افزاری دارای پشتیبانی کامل است
اگر مایکروسافت به عنوان توسعه گر مشترک دات نت و اسکوئل سرور ، حمایت خوبی از این بانک اطلاعاتی در محیط دات نت ارائه نمیکرد ، پس باید چیکار میکرد ؟ آیا این یک مزیت به حساب میاد ؟ آیا تمایل داری لیستی از بزرگترین مجموعه های مرتبط با فناوری اطلاعات که از مشتریان MySQL AB هستند رو برات لیست کنم ؟ اما تعجب من وقتی بیشتر میشه که یکی مثل بهروز ، مای اسکوئل رو مناسب پروژه های "کوچک" میبینه ، با اینکه مطمئن هستم بارها سناریوی های موفق پیاده سازی بانک های اطلاعاتی سازمان مقیاس با MySQL رو مطالعه کرد ه، چرا راه دور برم ، در حوزهء BI که مورد علاقه و توجهش هست ، از SAP گرفته ( با مشتریانی مثل اینتل ) تا برخی از راه حلهای سان برای توسعه دولت الکترونیکی ( به عنوان مثال : دولت الکترونیکی سنگاپور ) همگی از کاربران MySQL هستند و ...


برتری های MySQL در مقابل M$ SQL Server :

- قابلیت اجرا روی کلیه بسترهای متداول ، از PC های فسقلی مورد علاقه مایکروسافت تا ماشین های غول پیکر HP مجهز به HP-UX

- دسترسی به سورس ( کسانیکه تجربه کار روی پروژه های نظامی ، بانکی و امثالهم رو دارن حساسیت های این بازار رو درک میکنن ، حتی در بسیاری از کشورهای دنیا ، از فرانسه گرفته ( مرجع : ماهنامه شبکه ، با عضویت آقای نوعی پور در هیئت تحریریه ) تا کشورهائی مثل کره ، تا زمانی که راه حلی سورس آزاد برای پاسخگوئی به یک نیاز موجود است قانونا اجازه استفاده از محصولات Closed Source رو نمیدن و ...- در کابردهای دولتی- )

- سرعت اجرا و پاسخگوئی بالا ( در این زمینه "فقط" اوراکل با MySQL رقابت میکنه )

- قیمت ( تا زمانی که چیزی بنام کپی رایت تو ایران وجود نداره ، میشه با خیال راحت و بدون توجه به این فاکتور به مقایسه هر چیزی با معادل مایکروسافتی اش پرداخت ! اما میرسد زمانی که کپی رایت وارد دژ ایران خواهد شد ، اون موقع باید دید توی مقایسه ها چقدر عامل "واقع گرائی" وجود داره )

- ...

شاید در مقابل ، دوستداران $M ویژگیهائی مثل حمایت از پردازه های نگهداری شده سمت سرور و ... مطرح کنند و "نتیجه" (؟) بگیرن ، MySQL ناتوان تر از نسخهء مایکروسافتیش هست ، این نوع نتیجه گیری همه چیز داره الا "واقع بینی" ! یادمه قبلا" تو بحث دلفی و سی خدمت یکی از دوستان عرض کردم که فی المثل وجود مجموعه های بیتی در سی و عدم حمایت اون توسط دلفی ( یا دلائلی از این دست ) باعث برتری یا فروتری یک محصول نسبت به محصول دیگه نمیشه . توی همین بحث هم عرض کردم اگر هدف تولید یک بانک در مقیاس Hello World باشه بین این بانکهای اطلاعاتی تفاوت فاحشی موجود نیست . وقتی نگرش صنعتی-اقتصادی بر روند طراحی و توسعه نرم افزار حاکم باشه ( که خارج از وطن شریف ما این چنین هست ) ، هر چیزی از منظر میزان هزینه فراهم آوری ، نرخ تاخیر ، بهره وری و نهایتا" سود خالص ارزیابی میشه . دلیل گسترش سریع و چشمگیر فناوری های GNU محور همین مساله هست . حالا در کنار اینها دو عامل فوق العاده مهم بازرگانی یعنی TCO ( یا هزینهء نهائی مالکیت ) و TTM ( یا Time-to-Market یا زمانی شروع یک روند تا آمادگی برای فروش و کاربری در کاربردهای صنعتی ) رو اضافه کنید ، خواهید دید برای چنین ابزارهائی در جبهه مایکروسافت ( بانک اطلاعاتی ، اکسچنج ، مدیر ارتباط با مشتریات و ... ) امید چندانی برای تصاحب "بازار پر سود و طلائی کاربردهای بزرگ و سازمان مقیاس" باقی نمیمونه ! قیمت محصولات مایکروسافت مضاف بر خدمات جانبی بسیار بسیار زیاده ! بر خلاف ادعای بهروز ، MySQL یک بانک اطلاعاتی "رابطه ای" واقعی ست که در کنار نقاط قوت و ضعفش ، فوق العاده ارزان قیمت هست ، کاربرانش خیلی زیاد هستند ، کتابخانه های ثالث برای توسعه آن اغلب رایگان هستند و ...

از دیدگاه فنی ، یکی از پر فشارترین نرم افزارهای مدیر بانک اطلاعاتی همین M$ SQL Server هست ، بر خلاف تصور عامه ، در تجربه های شخصی من ، حتی نسخه سازمانی اوراکل در کنار یک دو جین ابزار مدیریتی همگی در حال اجرا هم Load ای معادل اسکوئل سرور مایکروسافت روی پردازنده ایجاد نمیکنه ! مای اسکوئل بجای خود ... ( همونطوری که توی بحث دلفی هم عرض کردم ، فی المثل در تقابل بین زبانهای برنامه نویسی ، اولین و مهمترین عامل میزان Productivity است !! نه وجود فلان قابلیت در گرامر زبان یا وجود دو کیلوبایت کمتر کد باینری خروجی و ... حالا اینجا هم دو مبحث "قیمت" و "پاسخگوئی" دارای اهمیت بیشتری هستن تا بالفرض عدم وجود حمایت از تریگر در این یکی و وجود استورد پراسیجر در اون یکی و ...! )

در حال حاضر MySQL توسعه گسترده ای پیدا کرده و از پروژه های فوق العاده بزرگی مثل دولت الکترونیکی تا پشتیبانی از نرم افزارهای مبتنی بر وب بارها و بارها از اون استفاده کردن که این به عنوان یک پروژه سورس آزاد ، یه موفقیت بی نظیره ! بین اهالی دنیای سورس آزاد هم مای اسکوئل یک محصول برتره و سال 2004 به عنوان موفق ترین پروژه سورس آزاد شناخته شده ، از یاهو به عنوان بزرگترین پورتال وب گرفته تا نرم افزارهای کسب و کار الکترونیکی مانند برخی از محصولات SAP ، بسیاری از اهالی صنایع مخابرات و ... ( رجوع به سایت مای اسکوئل ) همگی دوران حیات موفقی رو با استفاده از مای اسکوئل میگذرونن بدون اینکه درگیر پرداخت هزینه های سرسام آور محصول مایکروسافت بشن یا هر از چند گاهی چشمشون به جمال یک RPC-awar Worm روشن بشه که بهشون گوشزد میکنه ، ورشکست شدن ، میتونه محصول یه اتفاق خیلی ساده باشه ( ر-ک Slammer )

M$ SQL Server واقعا" کارائی بالائی نداره ، بخشی از این حقیقت رو مدیون ویندوز هست و بخشی رو مدیون معماری نه چندان بهینه اش . در تقابل با مای اسکوئل که واقعا" سرعت و پاسخگوئی قابل قبولی داره و زیر فشارهای فوق العاده بالا ، تا زمانی که سیستم عامل پاسخگو هست ، به حیات خودش ادامه میده . اوراکل و DB2 راه حلهائی برای محیطهای گسترده هستند . یک نمونه غلط و احمقانه کاربرد اوراکل رو میتونید تو نرم افزار اورژانس تهران ببینید ( ویژوال سی + اوراکل ) ، در حالیکه سرور و کاربران همگی کوچک مقیاس هستند . امثال اوراکل و DB2 ( که برای سالها نسخهء Mainframe ای اش برای اهالی IT شناخته شده بود ) به عقیده من گزینه های چندان جالبی برای قیاس نیستند . در کنار مای اسکوئل محصولاتی مثل PostgreSQL هم مدتیه دارن خودشون رو برای زور آزمائی آماده میکنن و حداقل من آینده چندان روشنی برای مایکروسافت تو بازار بانک اطلاعاتی نمیبینم .

یک نکته دیگر هم محض یادآوری بگویم : سایت eweek‌ در دنیا به Linux Fan بودن مشهور است
اجازه بده منم در خاتمه یه نکته رو محض یادآوری بگم : به شخصه معتقدم سواد عمومی و توانائی توسعه گران و اهالی دنیای سورس آزاد به مراتب بالاتر از سینه زنان هیئت مایکروسافت مقیم مرکز است ! بیلیو می اور نات ، توسعهء یک بانک اطلاعاتی چیزی فراتر از بازکردن EntMan و طراحی ویژوال یک بانک هست ، همونطوری که مدیریت یک شبکه چیزی فراتر از وصل کرد کابل به هاب و تنظیم چند آدرس آی پی است و اغلب اهالی دنیای سورس آزاد که عادت کردن ، نرم افزارهاشون رو از سورس بسازن ، با تنظیمات کرنل مطابق کنن ، کامنتها رو بخونن و احیانا" خطوطی به کد منبع اضافه کنن ، پردازه ها رو بصورت دستی بین پردازنده ها تقسیم کنن و ... و ... در پیاده سازی پروژه های گسترده موفق تر و در راهبری سیستمهای هدف توانا تر هستند .

لازمه ذکر کنم من همونطوری که بارها عرض شده به برتری مطلق هیچ محصولی بر محصول دیگر معتقد نیستم و بر این باورم که برتری "اغلب" در بستر "نوع کاربرد" معنی پیدا میکنه . عرایضی از این دست که بعضا در تقابل تکنولوژی های مختلف مینویسم صرفا محصول قیاس بین همان فاکتورهای محدودی است که در همون نوشته بهشون پرداختم و نه بیشتر .

موفق باشید :)

Inprise , Excellence Endures