MySQL یک سیستم مدیریت پایگاه داده رابطه ای (RDBMS) است که امکان ذخیره سازی، جستجو، مرتب کردن و بازیابی داده ها را فراهم می کند.
سرور MySQL به چندین کاربر اجازه استفاده همزمان از داده ها را می دهد و دسترسی افراد معتبر به داده ها را تسریع می کند. بنابراین MySQL یک سرور چند کاربره و چند ریسمانه است. اگرچه تاریخچه پیدایش MySQL به سال ۱۹۷۹ بر می گردد اما عرضه عمومی آن از سال ۱۹۹۶ آغاز شده است.
این سیستم مدیریتی پایگاه داده، رایج ترین پایگاه داده کد باز (open Source) محسوب می شود.
هدف از ایجاد MySQL :
نسخه های اولیه MySQL را به هیچ عنوان نمی توان با نسخه های جدید آن مقایسه نمود. نسخه های قدیمی به دلیل ماهیت عمومی سیستم عاملی که برای آن درنظر گرفته شده بودند (یعنی یونیکس و لینوکس های اولیه) دارای واسط کاربر چندان جالبی نبودند و تمام فرامین مربوط به طراحی و مدیریت بانک اطلاعاتی در آن ها از طریق دستورات خط فرمان انجام می گرفت. اما به تدریج و با پیدایش محیط های گرافیکی توانمند و زیبا برای لینوکس، MySQL نیز همانند سایر نرم افزار های اپن سورس تحت لینوکس مراحل تکامل و بهینه شدن هسته و ابزارهای جانبی خود را پیمود تا به جایی رسید که اکنون به عنوان یکی از سریع ترین، کاراترین و مقرون به صرفه ترین برنامه های بانک اطلاعاتی جهان شناخته می شود.
غیر از توانمندی های مربوط به واسط کاربر و امکانات جانبی، در نسخه های جدید MySQL سعی شده است نقاط ضعف همیشگی این موتور بانک اطلاعاتی، یعنی نبود سه عنصر مهمِ دید (View)، روال های ذخیره شده و تریگرها، تا حدود زیادی رفع شود و اکنون دیگر MySQL به دلیل نداشتن این سه عنصر مهم، در رقابت با سایر بانک های اطلاعاتی مورد سرزنش و بی مهری برنامه نویسان و مدیران بانک های اطلاعاتی قرار نمی گیرد.
به طورکلی وقتی به تاریخچه و مراحل تکامل MySQL می نگریم، سه ویژگی آن، یعنی قابلیت اطمینان، کارایی مناسب و آسانی استفاده را از نکات مورد توجه سازندگان آن در تولید این اثر می یابیم. قابلیت اطمینان، از این جهت که یک بانک اطلاعاتی اپن سورس و با حمایت یک شبکه توانمند و در همه جا حاضری به نام MySQL Network در هرلحظه آماده ارائه خدمت به استفاده کنندگان آن و پشتیبانی از آن ها است و به راحتی می تواند دربسیاری از کاربردهای تجاری جایگزینی مناسب برای همتایان گرانقیمت خود باشد.
کارایی مناسب، از این لحاظ که با ارائه نسخه های متعدد تحت سیستم عامل های مختلف و تحت معماری های سخت افزاری گوناگون قادر است تا هم در کاربردهای مبتنی برتعداد فرایندهای فراوان (OLTP) و هم در کاربردهای دارای پردازشها و محاسبات سنگین (OLAP) مورد استفاده قرار گیرد. آسانیِ استفاده هم از این جهت است که کلیه مراحل استفاده از آن، از دستیابی به فایلهای مخصوص نصب که به طور رایگان قابل دریافت است و هم از این بابت که مراحل نصب و پیکربندی که حداکثر در ده دقیقه در سیستم عامل های مختلف صورت می گیرد. همچنین در زمان بهره برداری به شیوه ای بسیار آسان و گویا، ابزارهای خود را در اختیار توسعه دهندگان و مدیران سیستم قرار می دهد.
[برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید]
معماری MySQL :
ویژگی اپن سورس بودن MySQL باعث شده است معماری داخلی آن، به صورت گویا و واضح و در قالب ماجول های اساسی یا جانبی آن برای کاربرانش شناخته شده باشد.
مدیریت اتصال :
کنترل و ایجاد محدودیت درتعداد اتصالات قابل انجام بین کلاینت ها و سرور بانک اطلاعاتی یکی از ماجول ها و وظایف اصلی MySQL است. درواقع موتور بانک اطلاعاتی با مدیریت خودکار و ایجاد اشتراک بین کلاینت ها در استفاده بهینه از اتصالات موجود نقش مهمی را ایفا می کند. درواقع این ماجول سعی می کند با ایجاد فضای مشترک، از به وجود آمدن تعداد زیادی اتصالات بی کار و بلااستفاده به بانک اطلاعاتی جلوگیری کند و در استفاده کمتر از فضای حافظه و پردازش پردازنده موثر واقع شود.
دستورات و عناصر اصلی :
وظایف ماجول های مستقر در این قسمت، ایجاد امکان ساخت جداول بانک اطلاعاتی ایندکس ها، دیدها، روال های ذخیره شده، توابع، تریگرها، و پشتیبانی از دستورات SQL ویژه ساخت این عناصر یا خواندن، درج، حذف و تغییر داده ها در آنان است.
مدیریت حافظه :
یکی از مهم ترین کارهایی که یک موتور پایگاه داده ای باید انجام دهد، تخصیص و مدیریت حافظه مورد استفاده بانک اطلاعاتی و پردازش های مربوط به آن ها و همچنین فضای موردنیاز جهت عملیات بافرینگ ورودی و خروجی به علاوه عملیات caching برای افزایش سرعت خواندن اطلاعات است. این کار به خوبی در MySQL انجام می گیرد. ضمن این که در زمان ایجاد و نگهداری یک بانک اطلاعاتی نیز پارامترهای مختلفی در این زمینه توسط مدیرسیستم و استفاده از ابزارهای مختص MySQL قابل تنظیم است.
موتور ذخیره سازی اطلاعات :
MySQL دارای ابزارهای متعددی برای ذخیره سازی اطلاعات به شیوه های گوناگون است. براین اساس و درزمان ایجاد یک پایگاه داده، MySQL پرسش های خاصی درمورد انتخاب نوع کاربرد بانک اطلاعاتی و انتخاب موتور ذخیره سازی مطرح می گردد.
در پرسش اول که اختصاص به نوع کاربرد دارد، مدیرسیستم می تواند از بین دو نوع پیش فرض یعنی یک پایگاه داده با تعداد زیادی فرایندهای همزمان (OLTP) یا یک پایگاه داده با تعداد زیادی دستورات ویژه خواندن و آنالیز اطلاعات (OLAP) یکی را انتخاب کند یا اقدام به تنظیم دستی نماید.
با این کار و طبق انتخاب وی، سیستم، تعداد اتصالات همزمان پایگاه داده ای را که در بحث *به آن اشاره کردیم تنظیم می کند. براین اساس اولویت به کاربرد OLPA داده می شود چون اصولاً کاربرد OLTP نیاز به استفاده زمانی کمتری از یک اتصال دارد و بدین سبب می تواند تعداد اتصال همزمان بیشتری را مدیریت نماید.
اما درمورد سؤال دوم همانطور که گفتیم، MySQL امکان انتخاب نوع ابزار و موتور ذخیره سازی را به مدیرسیستم می دهد. به عنوان مثال موتور InnoDB به طور پیش فرض برای کاربردهای OLTP و موتوری به نام MyISAM برای کاربردهای OLAP و نگهداری انبوه اطلاعات پرحجم مثل Data Warhousing یا وب سایت ها مورد استفاده MySQL قرار می گیرد. در ضمن همانطور که در شکل ۱ نیز مشاهده می کنید، MySQL نیز همانند سایر بانک های اطلاعاتی مشهور، علاوه بر دو موتور مختص به خودش که برشمردیم، راه حل هایی برای ذخیره سازی اطلاعات به صورت آرشیو (Archive)، تجمعی (Federated Servers)، توزیع شده یا خوشه ای (Cluster) یا حتی بانک های اطلاعاتی سریع حافظه ای (In Memory) و چند نوع دیگر را دارد.
ویژگی های برتر :
در MySQL معمولاً اکثر روش های ساخت و بهره برداری از یک بانک اطلاعاتی به دو کاربرد OLTP و OLAP ختم می شود که موتور بانک اطلاعاتی برای پشتیبانی و کارایی بهینه از هردو کاربرد مذکور، به خوبی ساخته و پرداخته شده است. به عنوان نمونه، در کاربردهای OLTP، وجود سازوکارها و استانداردهای یک بانک اطلاعاتی برای تضمین صحت اطلاعات مثل پشتیبانی کامل از انواع فرایند ها (Transaction) و حتی فرایندهای توزیع شده، روابط اطلاعاتی (کلید اولیه، کلیدهای خارجی) و وجود ایندکس های منحصر به فرد (UNIQE INDEX) را می توان گواهی براین مسئله دانست. ضمن این که موتور ذخیره سازی InnODB نیز به نوبه خود با مدیریت فضا و صفحات حاوی اطلاعات (Pages)درحال ایجاد نظم و ترتیب در اطلاعات و حذف فضاهای خالی برای افزایش سرعت جستجو است.
این موتور ذخیره سازی همچنین قادر است با یک تصویر حایل از اطلاعات چندین جدول یک بانک اطلاعاتی، از تداخل عملیات خواندن با فرایندها (تغییر، درج، حذف) و بروز مشکلات مربوط به قفل شدن رکوردها (Blocking) جلوگیری نماید. اما درمورد کاربردهای OLAP، موتور MyISAM با فراهم نمودن یک فضای اطلاعاتی ترابایتی، محیط بسیار وسیعی را برای انباشت اطلاعات و دسترسی سریع به آن ها در مواقع موردنظر را پدید آ ورده است
تجربه نشان داده است که بسیاری از شرکت های معتبر و سایت های اینترنتی مشهور که با مشکل ذخیره سازی و آنالیز انبوه اطلاعات مواجه بوده اند و سعی داشتند با استفاده از روش های توسعه طولی (Scale UP) مثل استفاده از سرورهایی با حافظه و هارددیسک های پرظرفیت تر و سریع تر یا پردازنده های قدرتمندتر، ظرفیت سیستم خود را بالا ببرند، موفق شدند با روی آوردن به MySQL و استفاده از موتور ذخیره سازی MyISAM به نوعی دست به توسعه عرضی (Scale Out) بسیار مقرون به صرفه ای بزنند و تا هشتاددرصد هزینه های مربوط به توسعه طولی یا همان ارتقای سخت افزاری را کاهش دهند.
- در ادامه کتابی را جهت آموزش استفاده از پایگاه داده MySQL برای بارگیری (دانلود) شما عزیزان تدارک دیده ایم :
[برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید]
فهرست مطالب مندرج در این کتاب :
بخش اول: مروری بر پایگاه داده MySQL
بخش دوم: نصب پایگاه داده MySQL
بخش سوم: استفاده از برنامه های MySQL
بخش چهارم: مدیریت پایگاه داده
بخش پنجم: ساختار زبان
بخش ششم: پشتیبانی از مجموع نویسه
بخش هفتم: انواع ستون
بخش هشتم: توابع و عملگرها
بخش نهم: ترکیب عبارات MySQL
بخش دهم: عبارات تعریف داده
دانلود کتاب : [برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید]
علاقه مندي ها (Bookmarks)