دیتابیس ها وانواع آنها(+مقایسه)

امیررضا یوسفوندموضوع: دیتابیس ها وانواع آنها(+مقایسه)مقدمهدر دنیایی زندگی میکنیم که اطلاعات با حجم بسیار در اینترنت جابجا میشوند.قرار گیری این داده ها و ذخیره انها را دیتابیس گویند. در صورت درست قرار نگرفتن اطلاعات کاربر با مشکلاتی رو به رو خواهد شد و به راحتی نمیتواند اطلاعات خود را پیدا کند و انها را در صورت نیاز تغییر دهد. دیتابیس با ایجاد نظم در اطلاعات دسترسی به انها را راحت تر میکند.دیتابیسدیتابیس (Database) (یا پایگاه داده)،گروهی از داده های خاص و از یک دسته می باشد به دیتابیس بانک اطلاعاتی هم میگویند و دلیل آن هم اطلاعات زیادی ست که روی آن پیاده میشود و از آن برای ذخبره ،مدیریت و بازاریابی اطلاعات مورد استفاده است.تعریف تخصصی دیتابیساگر بخواهیم دستابیس را به صورت تخصصی تر تعریف کنیم، می توانیم اینگونه بیان کنیم که پایگاه داده ،مجموعه ‌ای ازداده ‌های پایدار می باشد که به صورت مجتمع، فیزیکی، منطقی و مرتبط ذخیره شده اند.مراتب دیتابیسمراتب دیتابیس از کمترین و بیشترین به این صورت میباشد:1-بیت 2-بایت 3-کاراکتر 4-فیلد 5-رکورد 6-فایل 7-جدول 8-پایگاه اطلاعاتیاجزااجزای تشکیل دهنده دیتابیس را 1-سخت‌افزار 2-نرم‌افزار 3-کاربر 4-برنامه نویس ها 5-طراحان دیتابیس6- مدیر پایگاه داده7- و کاربران نهایی تشکیل می دهند.دسته بندی دیتابیس هااس کیو ال ها از انواع دیتابیس ها هستند ذخیره و دریافت اطلاعات در آنها به صورت سازمان یافته است.اس کیو ال ها به وسیله Schema تمام ساختارهای و ارتباطات را ذخیره می‌کند پایگاه مناسبی برای داده های ساختار یافته است اما برای داده های بزرگ بدون ساختار توصیه نمی‌شود . تعدادی از دیتابیس های SQL1. Oracle2. Microsoft SQL Server3. MySQL4. DB25. Microsoft Access6. PostgreSQLپایگاه های داده NoSQLاس کیو ال ها دارای نقص هایی نسبت به ذخیره سازی داده های بزرگ بدون ساختار اند که باعث به وجود آمدن دیتابیس جدید شده که به آن NoSQL می‌گویند کار این پایگاه داده ذخیره سازی و کار با داده های بدون ساختار و حجیم می باشد از XML و JSON استفاده میکند.نو اس کیو ال ها( NoSQL) دارای قابلیتی به نام Dynamic Schema میباشد که دارای قابلیت Schema میباشد و قابل تغییر است که می تواند انواع مختلف داده های بدون ساختار را ذخیره کند.این دیتابیس به دلیل اینکه نمی تواند باکو های پیچیده کار کند به سختی مورد انتخاب کاربران قرار می گیردنو اس کیو ال ها( NoSQL)دارای انواعی میباشد تعدادی از انها به شرح زیر اورده شده:1. کلید و مقدار2. اسناد3. چند ستونه4. گرافی5. متغیر یا چند مدله6. نواس کیو ال ها(NoSQL )جایگزین کامل SQL نیست!استفاده از NoSQL ها دارای مزایایی ست به شرح زیر:1. عدم طراحی الگو خاص برای داده ها2. قابلیت چند بخشی شدن خودکار و تشخیص هوشمند یکپارچگی3. افزایش سرعت در طراحی و اجرای پایگاه داده4. وجود Cache برای افزایش سرعت بازیابی اطلاعاتاز بین بردن محدودیت ‌های قالب های قدیمیانواع دیتابیسدیتابیس انواع مختلفی دارد که در این قسمت به معرفی بعضی از آن ها می پردازیم.اوراکل(Oracle)در سال 2020 Oracleبه عنوان محبوب ترین پایگاه داده در بین پایگاه داده های سال ۲۰۲۰ به حساب می آید به دلایلی همچون معروف بودن در میان توسعه‌ دهندگان، استفاده آسان، نوشته شدن اسناد به خوبی، شگفت انگیز بودن ویژگی های جدید Oracle و … باعث محبوبیت بیشتر این پایگاه داده شده اند. آخرین ورژن این پایگاه داده، اوراکل Oracle c12 می باشد.مای اس کیو ال (MySQL) دومین پایگاه محبوب مای اس کیو ال می باشد و می توان به وسیله سرورهای عمومی رایگان آن، شروع به کار کرد و با آن نسخه تجاری ایجاد کرد و آن را ارتقاء داد. این پایگاه داده از لینوکس، ویندوز، OSX ،FreeBSD و Solaris پشتیبانی می کند و روی آن ها اجرا می شود. پایگاه داده mysql دارای قابلیت رابط کاربری گرافیکی بصری است، به راحتی به وسیله آن می توانید جداول پایگاه داده را ایجاد نمایید. این پایگاه داده برای Xpath و ذخیره‌ سازی پروسیجر ها، trigger ها و view ها مورد استفاده قرار می گیرد.پشتیبانی رایگان چابکی و راندمان بالا اجرا روی پلتفرم های متن باز از مزایای استفاده ازMySql می باشد.Microsoft SQL Serverاین پایگاه داده فقط برای ویندوز است و در صورت استفاده از برنامه های مایکروسافت به کار می آید و برای DBMS مورد استفاده قرار میگیرد.Postgre SQLپایگاه داده ای شئ گرا و مقیاس پذیر است. پایگاه داده تنها بر روی لینوکس، ویندوز، OSX و چندین سیستم دیگر قابل اجرا می باشد. این پایگاه داده به راحتی می از tablespace ها، stored procedure ها، و … پشتیبانی نماید.Microsoft Accessمایکروسافت اکسس microsoft access در پایگاه داده‌ رابطه‌ ای استفاده می شود تنها از سیستم عامل های ویندوز پشتیبانی می کند. این پایگاه داده برای پروژه‌ های دارای مقیاس بزرگ ایده‌ آل نمی باشد و زبان های برنامه نویسی C ،#C ،++C ،Java ،VBA و Visual Rudimental.NET را به راحتی قدرتمند کند.Cassandraدیتابیس Cassandra از NoSQL به حساب می آید و دارای قابلیت دسترسی پذیری می باشد. در ذخیره ‌سازی مجموعه داده ‌های بسیار بزرگ با رابط کاربری سازنده کاربرد دارد. می توان از Cassandra در بانکداری، امور مالی، ثبت و … نیز استفاده کرد. علاوه بر قدرتمند کردن ویندوز، لینوکس، OSX و زبان ‌های متعدد، می توان از Hadoop، Map/reduce نیز استفاده کنید.Monogo DBمونگو دی بیMongoDB محبوب ترین پایگاه داده در دیتابیس NoSQL است که می تواند برخی از خواص SQL (کوئری و ایندکس) را حفظ کند. این DataBase باعث قدرتمند شدن زبان‌ های برنامه نویسی همچون Scala ،Groovy ،Clojure و Java می شود. MongoDBRedisبا قابلیت open-source به صورت شبکه‌ ای و in-recollection ذخیره می شود. نحوه ذخیره سازی اطلاعات به صورت مقدار است بر روی پلت‌فرم‌ های IaaS و PaaS همچون Amazon Web Accommodations، Rackspace یا Heroku قرار می گیرد.Elasticsearchعلاوه بر پایگاه داده یم موتور جست و جوopen source نیز هست. این دیتابیس به صورت دقیق قابل توزیع و قابل مقیاس است. این دیتابیس می تواند جستجو های بسیار سریع را انجام دهد.Neo4jمی توانیم یکی دیگر از انواع DataBase را Neo4j معرفی کنیم که بر پایه گراف (Graph) تولید شده است و برای ذخیره سازی ساختمان داده های مختلف شبکه ای و داده های ارتباطی بسیار مناسب و مورد استفاده قرار می گیرد. این نوع پایگاه داده جزء دسته NoSQL به حساب می آید.Aerospilkeدارای قابلیت Key-value می باشد به عنوان قدرتمند ترین پایگاه داده در زمینه کلاسترینگ به حساب می آید. این دیتابیس از نظر حجم پردازش داده و سرعت، بالاترین رتبه را در Benchmark دارد. ذخیره سازی اطلاعات به صورت ادغامی از Ram و SSD انجام میشود.مقایسه دیتابیس Oracle وMysql و Ms Sql Serverبانک های اطلاعاتی Oracleنام یک شرکت عظیم در زمینه نرم افزار می باشد. از مهمترین و اصلی ترین محصولات شرکت Oracle ، به نرم افزار بانک اطلاعاتی اشاره کنیم.پشتیبانی بانک اطلاعاتب اوراکل از زبان های برنامه نویسی:C,C++, Clojure, Erlang, Java,.....بانک های اطلاعاتی MySqlاگر به قابلیت Open Source نیاز دارید ، نرم افزار پایگاه داده MySQL پیشنهاد میشود. این نرم افزار پایگاه داده توسط شرکت اوراکل توسعه، توزیع، پشتیبانی و به طراحان معرفی شد. شما به راحتی و بدون پرداخت هزینه می توانید از این نرم افزار پایگاه داده استفاده نمایید. زبان هایی که این پایگاه داده پشتیبانی می کند به صورت زیر می باشند.ADA,C,C#,C++,D,.....................بانک های اطلاعاتی Ms Sql Serverاز محصولات شرکت مایکروسافت Sql Server می باشد. برای اولین بار نرم افزار access را به عنوان نرم افزار پایگاه داده معرفی کرد و بعد از آن نرم افMزار قوی تری را با نام Sql Server تولید و به طراحان معرفی نمود. نرم افزار access در مصارف کوچکتر مورد استفاده قرار می گیرد و از نظر هزینه به نسبت Sql Server هزینه کمتری را درد. این پایگاه داده تنها می تواند از ۶ زبان پشتیبانی نماید که در زیر به معرفی آن ها می پردازیم.1. Net2. Java3. PHP4. Python5. Ruby6. Visual BasicSمقایسه دیتابیس های MySql ،Sql Serverو اوراکل(این قسمت به صورت کپی استفاده شده)1. امکانات MS SQL Server به نسبت MySQL بیشتر است2. MySQL دارای رتبه ۲ در بین نرم افزار های پایگاه داده می باشد3. مجانی بودن MySQL4. استفاده از MySQL در مصارف دارای حجم متوسط5. دشوار بودن نصب و کار با اوراکل به نسبت SQL Server6. کار با SQL Server آسان می باشد7. در مصارف دارای حجم زیاد، Oracle مناسب می باشد8. سازماندهی سیستم های بزرگ توسط SQL Server به نسبت Oracle ضعیف است9. از نظر قیمت، اوراکل به صرفه تر می باشد10. از نظر مدیریت بانک اطلاعاتی، اوراکل قوی تر از MS SQL است11. وجود سیستم رمزدهی بسیار قدرتمند در Oracle12. اوراکل و MySql با زبان های برنامه نویسی C و ++C تولید شده اند13. Ms Sql Server تنها با زبان ++C نوشته شده استپایان