در اکثر دستگاهها و مجموعههای کامپیوتری برای پیادهسازی برنامهها به پایگاه دادهای نیاز است که اطلاعات موجود در برنامه در آنجا ذخیره و قابل بازیابی باشد. اگر برای شما سؤال است که Database چیست ؟ و یا چه کاربردی دارد؟ ما در این مقاله به این سؤالات پاسخ میدهیم و به معرفی انواع دیتابیس و چند نمونه از پایگاه دادهها تحت عنوان MySQL و MariaDB میپردازیم.
- Database چیست ؟
- SQL چیست؟
- انواع بانکهای اطلاعاتی
- معرفی MySQL
- معرفی MariaDB
Database چیست ؟
Database چیست ؟ بانک اطلاعاتی یا پایگاه داده مجموعهای است از دادههای یک سیستم کامپیوتری که بهصورت الکترونیکی ذخیره میشود و قابلدسترسی است. واژهی Database اساساً به مجموعه دادههایی که به هم مرتبط هستند و نحوهی سازماندهی آنها اطلاق میشود.
دسترسی به این دادهها معمولاً توسط سیستم مدیریت بانک اطلاعاتی (DBMS: Database Management System) که درواقع مجموعهی یکپارچهای از نرمافزارهای کامپیوتری است انجام میشود. این سیستم به کاربران امکان تعامل با یک یا چند بانک اطلاعاتی را میدهد و دسترسی به همهی دادههای موجود در بانک اطلاعاتی را فراهم میکند(البته ممکن است محدودیتهایی وجود داشته باشد که دسترسی به دادههای خاصی را محدود میکند). DBMS توابع مختلفی را ارائه میدهد که این توابع امکان ورود، ذخیره و بازیابی مقادیر زیادی از اطلاعات را فراهم میکنند و روشهایی را برای مدیریت نحوهی سازماندهی آن اطلاعات در اختیار کاربر قرار میدهد.
به دلیل ارتباط نزدیکی که بین دو مفهوم وجود دارد اصطلاح Database اغلب برای اشاره به هر دوی این مفاهیم یعنی هم خود بانک اطلاعاتی و هم سیستم مدیریت بانک اطلاعاتی مورد استفاده قرار میگیرد.
سیستمهای مدیریت بانک اطلاعاتی موجود عملکردهای مختلفی را ارائه میدهند که میتوان آنها را در چهار گروه اصلی دستهبندی نمود:
- تعریف دادهها: ایجاد، اصلاح و حذف تعاریفی که سازماندهی دادهها را تعریف میکند.
- بهروزرسانی: درج، اصلاح و حذف دادههای حقیقی.
- بازیابی: تهیهی اطلاعات به شکلی که مستقیم یا برای پردازش بیشتر، توسط سایر برنامهها قابلاستفاده باشند. دادههای بازیابی شده ممکن است بهگونهای مشابه دادههای موجود در بانک اطلاعاتی یا به شکل جدیدی که با تغییر یا ترکیب دادههای موجود از پایگاه داده ذخیره میشود، در دسترس قرار بگیرند.
- مدیریت دادهها: ثبت و نظارت بر کاربران، اجرای امنیت دادهها، نظارت بر عملکرد، حفظ یکپارچگی دادهها، کنترل همزمان و بازیابی اطلاعاتی که در اثر برخی از وقایع مانند خرابی غیرمنتظرهی سیستم آسیبدیدهاند.
ازنظر فیزیکی، سرورهای پایگاه داده، رایانههایی اختصاصی هستند که پایگاه دادههای واقعی را در خود جای داده و فقط DBMS و نرمافزارهای مرتبط را اجرا میکنند. سرورهای Database معمولاً رایانههای چندپردازنده هستند و از حافظههای ذخیرهسازی بسیار بزرگ برای ذخیرهی پایدار دادهها استفاده میشود.
دانشمندان رشتهی کامپیوتر ممکن است سیستمهای مدیریت پایگاه داده را طبق مدلهای پایگاه دادهای که پشتیبانی میکنند طبقهبندی کنند. بانک اطلاعاتی رابطهای در دهه ۱۹۸۰ حاکم شد. این مدل از Databaseها، اطلاعات و دیتا را بهصورت سطری و ستونی در یک سری جدول ذخیره میکردند. در اکثر آنها از SQL برای ثبت و جستجوی دادهها استفاده میشد. در دههی ۲۰۰۰ بانکهای اطلاعاتی غیر رابطهای رایج شدند و از آنها بهعنوان NoSQL یاد میشود زیرا از زبانهای مختلف گزارشگیری استفاده میکنند.
ازآنجاکه DBMSها بخش قابلتوجهی از بازار را به خود اختصاص دادهاند، فروشندگان رایانه و ابزار ذخیرهسازی معمولاً در برنامههای خود، الزامات DBMS را در نظر میگیرند.
Database SQL چیست ؟
SQL یک زبان استاندارد برای کار با پایگاه دادههاست. SQL را میتوان برای درج، جستجو، بهروزرسانی و حذف سوابق پایگاه داده استفاده کرد. SQL میتواند بسیاری از کارهای دیگر، ازجمله بهینهسازی و نگهداری از پایگاههای داده را انجام دهد. SQL مخفف Structured Query Language است که بهعنوان “S-Q-L” تلفظ میشود. از انواع پایگاه دادههای رابطهای میتوان به MySQL، Oracle، Microsoft SQL Server، ، MariaDB و … اشاره کرد که از زبان SQL استفاده میکنند.
انواع Database چیست ؟
بسته به نوع استفاده، انواع پایگاه دادههای زیر در بازار موجود هستند:
-
پایگاه دادهی متمرکز:
دادهها در یک محل متمرکز ذخیره میشوند و کاربران از مناطق مختلف میتوانند به این دادهها دسترسی پیدا کنند. این نوع بانک اطلاعاتی شامل رویههای کاربردی است که به کاربران کمک میکند حتی از راه دور به دادهها دسترسی پیدا کنند.
-
پایگاه دادهی توزیعشده:
درست برخلاف مفهوم پایگاه دادهی متمرکز، در بانک اطلاعاتی توزیعشده دادهها در یک محل نیستند و در سایتهای مختلف یک سازمان توزیع میشوند. این سایتها به کمک پیوندهای ارتباطی یا شبکه به یکدیگر متصل میشوند که به آنها کمک میکند تا بهراحتی به دادههای توزیعشده دسترسی پیدا کنند.
-
پایگاه دادهی شخصی:
دادهها در رایانههای شخصی کوچک جمعآوری و ذخیره میشوند که بهراحتی قابلکنترل هستند. این دادهها بهطورکلی توسط همان بخش یک سازمان استفاده میشود و توسط گروه کوچکی از افراد قابلدسترسی است.
-
پایگاه دادهی کاربر نهایی:
کاربر نهایی معمولاً نگران تراکنشها یا عملیات انجامشده در سطوح مختلف نیست و فقط از نتیجهای نهایی که نرمافزار یا برنامهی کاربردی دیگری تولید میکند آگاه است. بنابراین، این یک پایگاه داده مشترک است که دقیقاً مانند مدیران سطوح مختلف برای کاربر نهایی طراحیشده است. خلاصهی اطلاعات کلی در این پایگاه داده جمعآوریشده است.
-
پایگاه دادهی تجاری:
این پایگاه دادهها نسخههای پولی از پایگاه دادههای عظیمی هستند که بهطور اختصاصی برای کاربرانی طراحیشدهاند که میخواهند به اطلاعاتی کمکی دسترسی داشته باشند. اینها پایگاهی برای دادههای موضوعی خاص هستند و شخص عادی قادر به نگهداری چنین اطلاعات عظیمی نیست. دسترسی به چنین بانکهای اطلاعاتی از طریق پیوندهای تجاری فراهم میشود.
-
پایگاه دادهی NoSQL:
این پایگاه دادهها برای مجموعههای بزرگی از دادههای توزیعشده استفاده میشوند. در کارایی دادههای بزرگی که بهطور مؤثر توسط بانکهای اطلاعاتی رابطهای اداره میشوند مشکلاتی وجود دارند. چنین موضوعاتی توسط بانکهای اطلاعاتی NoSQL بهراحتی مدیریت میشوند. در تجزیهوتحلیل دادههای بزرگ ساختار نیافته کاراییهایی وجود دارد که ممکن است در سرورهای مجازی چندگانهای از فضای ابری ذخیره شوند.
-
پایگاه دادهی عملیاتی:
اطلاعات مربوط به عملیات یک شرکت در این پایگاه داده ذخیره میشود. خطوط عملکردی مانند بازاریابی، روابط کارکنان، خدمات ارائهشده به مشتریان و … به چنین بانکهای اطلاعاتی نیاز دارند.
-
پایگاه دادهی رابطهای:
این پایگاه دادهها توسط مجموعهای از جداول طبقهبندی میشوند که در آن، دادهها در طبقهبندی از پیش تعریفشدهای قرار میگیرند. جدول شامل سطرها و ستونهایی است که هر ستون نشاندهندهی یک ورودی برای دادههای یک گروه خاص است و ردیفها حاوی نمونهای از دادههای تعریفشده بر اساس آن طبقهبندی هستند. همانطور که گفته شد SQL یک رابط استاندارد کاربر و برنامهای برای یک Database رابطهای است.
-
پایگاه داده شیءگرا:
یک پایگاه دادهی شیءگرا بهجای تراکنشها بر اساس اشیا، و بهجای رابطهی منطقی بر اساس دادهها سازمان مییابد.
-
پایگاه دادهی نموداری:
مجموعهای از گرهها و خطوط است که در آن هر گره برای نشان دادن یک موجودیت استفاده میشود و هر خط رابطهی بین دیتا ها را توصیف میکند.
-
پایگاه دادهی ابری:
امروزه دادهها بهطور خاص در ابرهایی که بهعنوان یک محیط مجازی نیز شناخته میشوند، ذخیره میشوند.
معرفی MySQL
MySQL یک سرویس مدیریت Database متنباز است و ازجمله سیستمهایی است که تحت لیسانس GNU است. شما این امکان را دارید که سرویس MySQL را بهآسانی دانلود کرده و مطابق نیاز خود کانفیگ نمایید. در حال حاضر مالکیت MySQL به شرکت Oracle تعلق دارد. از ویژگیهای اصلی MySQL میتوان به موارد زیر اشاره کرد:
- کار آیی بالا
- هزینه پایین راهاندازی و نگهداری
- سهولت در تنظیم و یادگیری
- پشتیبانی بسیار قوی
- کاربرد بالا در وب
- رابطه بسیار مناسب با زبان برنامهنویسی PHP
- قابلیت حمل
- در دسترس بودن کد اصلی
معرفی MariaDB
در سال ۱۹۹۴ اولین نسخه از MySQL توسط شخصی به نام “ویدنیوس” منتشر شد و با اقبال خوبی همراه شد. در سال ۲۰۰۸ امتیاز MySQL به شرکت اوراکل واگذار شد و به دلیل اختلاف پیشآمده بین ویدنیوس و اوراکل همکاری آنها پایان یافت.
آقای ویدنیوس به فکر این افتاد که با تأسیس یک شرکت جدید با نام MariaDB Corporation نسخه قدرتمندتر و بهینهتری نسبت به MySQL عرضه کند و در این کار هم موفق شد.
به دلیل اینکه مغز متفکر ساخت دیتابیس MySQL آقای ویدنیوس بود دیری نپایید که بعد از جدا شدنش، رشد MariaDB در بین کاربران و شرکتها بسیار چشمگیر شد و افول MySQL نیز بسیار قابلتأمل شد.
به دلیل اینکه کشور ایران در لیست تحریم MySQL قرار دارد سرویس هاست لینوکس هاستیدا با استفاده از این دیتابیس ارائه میگردد. لازم به ذکر است MariaDB تمامی امکانات MySQL را در اختیار کاربران خدمات میزبانی وب قرار خواهد داد و هیچ تفاوتی در نوع کارکرد با MySQL ندارد.
جمعبندی
Database چیست ؟ برای ذخیرهسازی و گزارشگیری از دادههای کامپیوتری سیستمهای مدیریت پایگاه دادهای وجود دارند که قابلیت درج، ویرایش، حذف، بازیابی، گزارشگیری و… را ارائه میدهند. SQL زبان رایج برای کار با پایگاه دادههاست و نرمافزارهایی چون MySQL و MariaDB از محبوبترین نرمافزارهای مدیریت پایگاه داده هستند. اگر در ابتدای مقاله با سوال های دیتابیس چیست و چه کاربردی دارد؟ شروع به خواندن این متن کرده باشید احتمالا به جواب سوال خود رسیده اید. در این مقاله به توضیح ویژگیهای این نرم افزار ها پرداختیم و بهطور کامل عملکرد و اصطلاحات فنی آنها را شرح دادیم.