بکندباز

دیتابیس ( Database ) چیست؟ انواع آن کدامند؟

می خواهید بدانید پايگاه داده چیست؟ پایگاه داده يا Database که به اختصار DB نوشته مي شود، محیطی است که برای دسترسی آسان، مدیریت و به روز رسانی اطلاعات تنظیم شده است. با یک مثال ساده موضوع را روشن تر می کنیم. فرض کنید شما صاحب یک مغازه سوپرمارکت هستید و تمامی اجناس درون مغازه شما بهم ریخته و نامرتب است و هیچ قفسه ای وجود ندارد. مشتریان شما احتمالا برای پیدا کردن یک جنس ساده باید زمان زیادی را سپری کنند. حالا اگر قفسه های جدا از هم تنظیم کنید و اجناس مرتبط باهم را در یک قفسه قرار دهید، مکان هر جنس مشخص است و در نتیجه پیدا کردن اجناس در سوپرمارکت شما کار به مراتب ساده تری خواهد بود. تمامی قفسه های شما یک پایگاه داده را تشکیل می دهند!

اگر می‌خواهید درباره‌ی مفاهیم پایگاه داده اطلاعات علمی‌ بیشتر و دقیق‌تری را بدانید، پس ادامه‌ی این مقاله را از دست ندهید.

مفهوم پایگاه داده چیست؟

یک پایگاه داده‌ مجموعه ای از اطلاعات است که دارای یک ساختار منظم و سازمان یافته است. به عبارتی ساده تر، پایگاه داده مجموعه‌ای از داده ها (رکورد ها) است که طبق یک روش اصولی ذخیره شده است و می‌تواند به سوالات کاربر پاسخ دهد. در پایگاه‌های داده معمولا سوابق یا فایل‌هایی را ذخیره می کنیم که دارای اطلاعات با ارزشی برای ما هستند؛ اطلاعاتی مانند معاملات فروش، داده‌های مشتری، اطلاعات مالی و محصولات. برای بازیابی و استخراج اطلاعات و فایل های پایگاه داده، ابتدا باید پایگاه داده سازماندهی کنیم. پرس و جوها راه اصلی کاربران برای بازیابی اطلاعات پایگاه داده هستند.

ذخیره سازی یک داده در پایگاه داده باید دارای یک چارچوب مشخص و مفهومی باشد. به این معنی که اجازه نداریم هر نوع داده ای را در هر پایگاه داده ای ذخیره کنیم. به عنوان مثال اگر ما اطلاعات یک مشتری سوپر مارکت را در پایگاه داده مربوط به کارمندان یک شرکت ذخیره کنیم، علاوه بر اینکه دچار سردرگمی می شویم، باعث ایجاد بی نظمی بین داده ها نیز می شود.

برنامه ای که برای مدیریت و پرسش و پاسخ بین پایگاه‌های داده استفاده می‌شود را مدیر سیستم پایگاه داده یا به اختصار(DBMS) می‌نامیم.

مفاهیم اساسی در پایگاه داده چیست؟

در پایگاه چند مفهوم اصلی وجود دارد که برای ما اهمیت بسیار زیادی دارد چرا که روابط میان داده ها را تعیین می کنند. در ادامه به معرفی هر یک می پردازیم.

موجودیت (entity) : در مباحث مربوط به پایگاه داده یک موجودیت می تواند فرد، شیء، مکان يا مفهومی در سیستم ما باشد که می خواهیم آن را ذخیره کنیم و اطلاعاتی درباره آن داشته باشیم. برای مثال در سیستم ذخیره سازی اطلاعات یک فرد یک سازمان، هر فرد یک موجودیت مجزا است.

صفت خاصه (attribute) : هر ویژگی از یک موجودیت را یک صفت خاصه در نظر می گیریم. برای مثال در همان سیستم ذخیره سازی اطلاعات افراد یک سازمان ، نام، تلفن و آدرس هر فرد یک صفات خاصه محسوب میشوند.

کلید (key) : در یک پایگاه داده ممکن است تعداد زیادی موجودیت داشته باشیم. برای اینکه بتوانیم هر موجودیت را از موجودیت های دیگر جدا کنیم نیاز به کليد داریم. کلید برای هر موجودیت یکتا می باشد و با کلید موجودیت دیگر متفاوت است.

ارتباط و درجه ارتباط : موجودیت ها در یک پایگاه داده همواره با یکدیگر در ارتباط هستند. ارتباط، وابستگی بین چند موجودیت را نشان می دهد. تعداد موجودیت هایی که در یک ارتباط وجود دارند را درجه ارتباط می نامیم.

اجزای اصلی پایگاه داده کدام اند؟

تمامی پایگاه داده ها دارای 5 جزء مشترک هستند که پایگاه داده را تشکیل می دهد که در ادامه به معرفی هر یک می پردازیم.

  • نرم افزار:  این اصلی ترین جزء پایگاه داده است که توسط آن می توان بین کاربر و پایگاه داده ارتباط برقرار کرد و پایگاه داده را مدیریت کرد. به عبارتی ساده تر همه چیز به کمک نرم افزار قابل کنترل است.
  • سخت افزار:  پردازش درخاست های کاربر در پایگاه داده توسط سخت افزار انجام می شود سخت افزار ها بسته به حجم و نوع اطلاعاتی که نگهداری می کنند متفاوت خواهند بود.
  • داده ‌ها : همان اطلاعات خامی هستند که در پایگاه داده ذخیره می کنیم. داده های ما می توانند از هر جنس و نوعی باشند. به عنوان مثال می توانند دنباله ای از وقایع و پدیده ها، مشاهدات، تصاویر، اعداد، کاراکتر ها و … باشند.
  • روش ها : برای استفاده از یک سیتسم مدیریت پایگاه داده یا DBMS ، پایگاه داده دارای قواعد و قوانین است که باید آن هارا رعایت کنیم. این جزء شامل مراحلی است که مربوط به راه اندازی و نصب DBMS، ورود و خروج از نرم افزار DBMS، مدیریت پایگاه داده ها، پشتیبان گیری، تولید گزارش ها و … می باشد.
  • زبان دسترسی به پایگاه داده : زبان دسترسی به پایگاه داده یا Database Access Language یک زبان برای نوشتن دستورات در پایگاه داده به منظور ایجاد پرس و جو و ارتباط با آن است. به عنوان مثال SQL یکی از محبوب ترین زبان های دسترسی به پایگاه داده است. از این دستورات به منظور دسترسی، قرار دادن، به روز رسانی و حذف اطلاعات ذخیره شده در هر پایگاه داده استفاده می کنیم.

انواع پایگاه داده های کدام اند؟

فناوری پایگاه داده در طول سال ها تغییر کرده و تکامل یافته است. بر اساس نوع داده ها، انتخاب نوع پایگاه داده نیز تغییر می کند زیرا هر پایگاه داده به منظور ذخیره سازی انواع خاصی از داده ایجاد شده است. در اینجا به بررسی هر یک از انواع پایگاه داده، ویژگی‌ها و کاربردهای هر یک می پردازیم.
پایگاه داده رابطه‌ای (Relational) : پایگاه داده های رابطه ای از دهه 1970 بوجود آمده است. همانطور که از اسم این پایگاه داده مشخص است، در این پایگاه داده، داده ها در چندین جدول مرتبط ذخیره می شوند. در جداول، داده ها در سطر ها و ستون ها ذخیره می شوند که سطر ها نمونه های ما و ستون ها صفت های خاصه می باشند. زبان دسترسی به این نوع از پایگاه داده SQL است که در حال حاضر رایج ترین زبان می باشد. پایگاه داده های رابطه ای با استاندارد ACID (اتمی، سازگاری، جداسازی، دوام) سازگار هستند که نشان دهنده پایگاه داده های قابل اعتماد است. نمونه هایی از این پایگاه داده ها عبارتند از : Microsoft SQL Server, Oracle Database, MySQL, PostgreSQL, IBM Db2

پایگاه داده NoSQL : NoSQL مخفف عبارت Not Only SQL است. NoSQLیک نوع بسیار وسیع از پایگاه داده ها است که داده ها در آن به صورت توزیع شده ذخیره می شوند و داده‌های این پایگاه داده بدون ساختار یا نیمه ‌ساختار یافته هستند. در این پایگاه داده ها سطر و ستون معنایی ندارد. در مسائل مربوط به کلان داده ها که امکان مدیریت داده ها به صورت معمولی وجود ندارد از پایگاه های داده NoSQL استفاده می شوند. نمونه هایی از این پایگاه داده ها عبارتند از : Apache Cassandra, MongoDB, CouchDB, and CouchBase

پایگاه داده مبتنی بر فضای ابری(Cloud Database) : این پایگاه داده ها معمولا روی ابرها که به عنوان یک محیط مجازی نیز شناخته می شود داده هارا ذخیره می کنند. در حال حاضر بهترین پایگاه داده های ابری پایگاه داده Microsoft Azure SQL، سرویس پایگاه داده رابطه ای Amazon، پایگاه داده مستقل Oracle درنظر گرفته می شوند.

پایگاه داده های ستونی (Columnar Database) : پایگاه داده های ستونی، به جای ذخیره داده در ردیف ها، داده ها را در ستون ها ذخیره می کنند. این نوع پایگاه‌های داده در پرس و جوهای تحلیلی عالی عمل می کنند. هنگامی که در یک پایگاه داده ستونی پرس و جویی را اعمال می کنید، پایگاه داده تمام داده هایی را که در پرس و جو تاثیری ندارد، نادیده می گیرد؛ زیرا این قابلیت را دارند که اطلاعات را فقط از ستون های مورد نیز بازیابی کنند. از بهترین پایگاه داده های ستونی می توان به Google BigQuery, Cassandra, HBase, MariaDB, Azure SQL Data Warehouse اشاره کرد.

پایگاه داده های ستون گسترده (Wide column databases) : یک پایگاه داده با ستون گسترده نوعی پایگاه داده NoSQL است که ذخیره سازی داده ها را در ستون هایی با سایز های بزرگ سازماندهی می کند. پایگاه داده‌های ستونی قابلیت این را دارند که چندین پتابایت داده را مدیریت کنند، و برای پشتیبانی از برنامه‌های بی‌درنگ و داده‌های بزرگ مورد استفاده قرار می گیرند. از این مدل پایگاه داده ها میتوان BigTable, Apache Cassandra, Scylla را نام برد.

پایگاه های داده شی گرا(Object-oriented databases) : پایگاه داده شی گرا یک پایگاه داده براساس برنامه نویسی شی گرا است. در این نوع از پایگاه داده با داده ها و تمام ویژگی های آن مانند یک شیء برخورد می شود. این پایگاه داده با زبان های برنامه نویسی شی گرا مانند C++ و Java به خوبی کار می کنند. Wakanda, ObjectStore دو پایگاه داده ای هستند که در این زمینه کاربرد دارند.

پایگاه داده کلید-مقدار (key-value databases ) : یکی از ساده‌ترین انواع پایگاه‌های داده NoSQL، پایگاه‌های داده کلید-مقدار است که داده‌ها را به صورت گروهی از جفت کلید-مقدار که تشکیل شده از دو آیتم داده است، ذخیره می‌کنند. از این پایگاه داده ها برای فرآیندهایی مثل مدیریت جلسه آنلاین تحت وب، بازی‌های آنلاین چند نفره و سبد خرید آنلاین استفاده می‌کنند. از بهترین پایگاه داده ها در این زمینه میتوان به Amazon DynamoDB, Redis اشاره کرد.

پایگاه داده سلسه مراتبی(Hierarchical databases) : پایگاه داده های سلسله مراتبی که در ابتدا توسط IBM در اوایل دهه 1960 توسعه یافت، برای پشتیبانی از برنامه هایی که به طور مداوم مورد استفاده قرار می گیرند و نیاز است که همواره در دسترس باشند استفاده می شود. پایگاه های داده سلسله مراتبی از مدل والد-فرزند برای ذخیره داده ها استفاده می کنند. در این مدل پایگاه داده، داده های فرزند نمی توانند بیش از یک داده والد داشته باشند و از انواع آن ها میتوان به IBM Information Management System (IMS), Windows Registry اشاره کرد.

پایگاه های اسنادی(Document databases) : پایگاه‌های اطلاعاتی اسنادی، از اسنادی مانند JSON و اسنادیی شبیه به آن برای ذخیره سازی داده‌ها به جای ردیف‌ها و ستون‌ها استفاده می‌کنند. پایگاه داده اسنادی ساده برای برنامه های موبایلی که نیاز به پردازش سریع دارند کاربرد دارند. MongoDB, Amazon DocumentDB, Apache CouchDB نمونه هایی از این پایگاه داده ها هستند.

پایگاه داده متمرکز (Centralised database) : پایگاه داده های متمرکز داده را در یک مکان ذخیره می کنند. این نوع پایگاه داده دارای قابلیتی است که به کاربران اجازه می دهد حتی از یک مکان راه دور به داده ها دسترسی داشته باشند.

پایگاه داده توزیع شده (Distributed database) : برخلاف پایگاه داده های متمرکز، پایگاه داده توزیع شده تشکیل شده از چند پایگاه داده مشترک است و اطلاعات آن توسط رایانه های محلی گرفته می شود. به عنوان مثال در یک سازمان بزرگ همه داده ها در یک مکان نیستند و در سایت های مختلف یک سازمان و در مکان های مختلف ذخیره می شوند. این سایت ها به کمک یک لینک ارتباطی به یکدیگر متصل می شوند که به آنها کمک می کند تا به راحتی به داده های توزیع شده دسترسی پیدا کنند. تعدادی از این پایگاه داده ها عبارتند از : Apache Ignite, Apache Cassandra, Apache HBase, Couchbase Server, Amazon SimpleDB, Clusterpoint, and FoundationDB.

پایگاه داده های گرافی (Graph database) : پایگاه داده گرافی، نوعی از پایگاه داده NoSQL است که از تئوری گراف برای ذخیره و جستجو پرس و جوها استفاده می کند. به عنوان مثال، شرکت ها می توانند از این پایگاه داده برای استخراج داده های مشتریان از رسانه های اجتماعی استفاده کنند. Datastax Enterprise Graph, Neo4J نمونه هایی از این پایگاه داده ها هستنتد.

پایگاه داده سری زمانی(Time Series Database) : پایگاه داده سری زمانی، پایگاه داده ای است که برای داده هایی که دارای سری زمانی هستند طراحی شده است. یکی از مهم ترین استفاده های این پایگاه داده در اینترنت اشیاء است. زمانی که از اینترنت اشیاء استفاده میکنیم، داده هایی که از اشیاء به دست ما می رسد، جریان ثابتی از داده های سری زمانی را ایجاد می کنند که بهترین محل برای ذخیره اطلاعات دریافتی از اشیاء پایگاه داده های سری زمانی می باشد. از معروف ترین این پایگاه داده ها می توان به TimescaleDB, Druid, eXtremeDB, InfluxDB اشاره کرد.

جمع بندی

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

zohreh

مدیر وب سایت بکندباز

دیدگاه‌ها

*
*