مقایسه سیستم بانک اطلاعاتی با مدیریت فایل برای ذخیره سازی اطلاعات

یک سیستم مدیریت بانک اطلاعاتی (DBMS=Database Management System) ترکیبی از نرم‌افزار کامپیوتر، سخت‌افزار و اطلاعاتی است که برای نگهداری الکترونیکی داده‌ها توسط کامپیوتر طراحی شده است. دو حالت سیستم مدیریت بانک اطلاعاتی DBMS‌ها و FMS‌ها هستند. به زبان ساده یک سیستم مدیریت فایل (FMS=File Management System) می‌تواند یک سیستم مدیریت بانک اطلاعاتی هم باشد که اجازه‌ی دسترسی به فقط یک فایل یا جدول منفرد را در یک لحظه به ما می‌دهد. سیستم‌های مدیریت فایل از پرونده هایی استفاده می‌کنند که هیچ رابطه ای با یکدیگر ندارند و در واقع اجداد همین سیستم‌های بانک اطلاعاتی هستند که دسترسی هم زمان به چند پرونده یا جدول را ممکن می‌نمایند. (شکل زیر)

سیستم مدیریت فایل

مزایا

  • آسان بودن استفاده
  • قیمت ارزان
  • نیاز‌های اغلب کاربران خانگی یا تجاری کوچک را برآورده می‌کند
  • FMSها معمولا همراه سیستم عامل کامپیوتر‌های شخصی ارایه می‌شوند.
  • مناسب برای نرم‌افزار‌های بانک اطلاعاتی دستگاه‌های کوچک

معایب

  • به طور معمول امکان استفاده ی هم زمان چند کاربری را ندارد
  • برای بانک‌های اطلاعاتی کوچکتر مناسب است
  • امکانات محدود (مثلا امکان تراکنش‌های پیچیده یا بازیابی و … را ندارد)
  • داده‌های غیر متمرکز
  • مشکلات تکرار یا عدم جامعیت (Integrity) داده ها

اهداف اصلی سیستم مدیریت فایل به طور خلاصه

  • مدیریت داده ها: یک FMS باید سرویس مدیریت داده‌ها را به برنامه ی کاربردی بدهد.
  • کلیت با توجه به ابزار ذخیره سازی: تجرید داده و متد‌های دسترسی در یک FMS باید مستقل از ابزار هایی که برای ذخیره سازی داده‌ها استفاده می‌شوند، عمل کند.
  • اعتبار: یک FMS باید در هر زمان تضمین کند که داده‌های ذخیره شده در ارتباط (بازتاب) مستقیم با عملیاتی هستند که روی آن‌ها انجام می‌شود.
  • حفاظت: عملیات غیر مجاز یا به طور بالقوه خطرناک روی داده‌ها باید توسط FMS کنترل شود.
  • هم زمانی: در سیستم‌های چند برنامه ای (چند وظیفه ایMultiprogramming System=) باید دسترسی هم زمان به داده‌ها با حداقل دستکاری در برنامه‌ها امکان پذیر باشد.
  • کارآیی: سازگاری سرعت دسترسی به داده‌ها و نرخ انتقال داده‌ها با کارکرد سیستم

الزامات سیستم مدیرت فایل برای کاربر نهایی یا برنامه ی کاربردی

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

سیستم‌های مدیریت بانک اطلاعاتی

مزایا

  • انعطاف بیشتر
  • مناسب برای بانک‌های اطلاعاتی بزرگتر
  • قدرت پردازش بالاتر
  • نیاز‌های اغلب سازمان‌های متوسط یا کوچک را پوشش می‌دهد
  • امکان ذخیره سازی همه ی داده‌های مربوط
  • امکان مشاهده ی کارهای انجام شده ی سیستم توسط کاربر
  • اطمینان از صحت و جامعیت داده‌ها از طریق مدیریت تراکنش ها
  • (ACID test = atomicity, consistency, isolation, durability)
  • امکان دسترسی هم زمان توسط چند کاربر
  • الزام به رعایت دقیق شرایط و ضوابط طراحی برای فورمت داده‌ها و ساختار آن ها
  • امکانات پشتیبان گیری و بازسازی و ترمیم مستقل از سیستم عامل
  • امنیت پیشرفته‌تر

معایب

  • سختی یادگیری
  • پکیج مجزا از سیستم عامل (مانند اوراکل، میکروسافت اکسس، لوتوس آی بی ام، بورلند پارادوکس، کلاریس فایل میکر پرو، SQL Server)
  • سرعت پردازش پایین تر
  • به مدیر سیستم‌های با تجربه نیاز دارد
  • قیمت بالا

خلاصه اهداف سیستم مدیریت بانک اطلاعاتی

  • ذخیره سازی، بازیابی (استخراج) و به روز رسانی داده‌ها بدون توجه به جزئیات پیاده سازی فیزیکی پیاده سازی
  • کاتالوگ داده‌های قابل دسترس برای کاربر
  • پشتیبانی از تراکنش
  • کنترل هم زمانی (امکان تغییر هم زمان توسط چند کاربر)
  • سرویس‌های بازسازی (بانک اطلاعاتی خراب باید به یک حالت پایدار برسد
  • سرویس شناسایی کاربر (امنیت)
  • سرویس تضمین درستی داده‌های مرتبط (مانند شرط ها)
  • استقلال داده‌ها از برنامه ی کاربردی
  • سرویس‌های جانبی مورد نیاز (مانند ورود داده از سیستم‌های دیگر، نظارت و کنترل، تست کارآیی سیستم، حذف رکورد‌ها و …)

بخش هایی که امکانات فوق را در دسترس ما قرار می‌دهند، عبارت‌اند از:

  • پردازشگر کوئری
  • پردازشگر زبان مدیریت داده‌ها (DML=Data Manipulation Language)
  • مدیر بانک اطلاعاتی شامل اجزای نرم‌افزاری برای کنترل شناسایی کاربر، پردازشگر فرمان، تست جامعیت و صحت داد ها، بهینه ساز کوئری، مدیر تراکنش، مدیر زمان بندی، مدیر بازسازی و مدیر حافظه ی میانی (بافر)
  • کامپایلر زبان تعریف داده‌ها (DDL=Data Definition Language)
  • مدیر پرونده
  • مدیر کاتالوگ

نسل دوم و سوم بانک‌های اطلاعاتی

نسل دوم DBMS‌ها در دهه ی ۱۹۷۰ توسط یک ریاضیدان به نام دکتر ای.اف کد (E.F Codd) ایجاد شد. وی مدل رابطه ای را ارایه کرد که جایگزین مدل‌های سلسله مراتبی و شبکه ای شد.
یک سیستم مدیریت بانک اطلاعاتی رابطه ای (RDBMS= Relational DBMS) بانک اطلاعاتی را به صورت چند جدول ساده در می‌آورد که توسط فیلد‌های مشترک با یکدیگر مرتبط شده اند. نسل سوم بانک‌های اطلاعاتی به صورت شیء گرا (OODBMS= Object Oriented DBMS) و شیء گرای رابطه ای (ORDBMS=Object-Relational DBMS) معرفی شدند.
OODBMS بانک اطلاعاتی را یک گام جلوتر می‌برد. داده‌ها هوشمند می‌شوند بدین ترتیب که صرفا با اطلاعات مربوط به فورمت داده‌ها مرتبط نیستند بلکه با دستورالعمل هایی که آن‌ها را مدیریت می‌کنند، نیز مرتبط می‌شوند (Kerig, 1999).
ORDBMS ترکیبی از RDBMS و شیء گرایی است که سیستم مدیریت بانک اطلاعاتی رابطه ای را گسترش می‌دهد و امکاناتی چون سیستم نوع داده ی توسعه داده شده توسط کاربر، پنهان سازی داده ها، ارث بری، چند شکلی زمان اجرا، اتصال دینامیک متد ها، اشیاء ترکیبی، شناسه ی اشیاء و … را به آن می‌افزاید (Connelly, Begg, and Strachan, 1999, pg. 811). اوراکل و اینفورمیکس از این جمله اند.

نتیجه گیری

سیستم مدیریت بانک اطلاعاتی همان توسعه یافته ی سیستم مدیرت پرونده ای است. بخشی از این تکامل همان نیاز به بانک‌های اطلاعاتی پیچیده تری است که سیستم مدیریت پرونده ای امکان آن را ندارد (مانند ارتباطات داخلی بین جداول). با این وجود هنوز برای بانک‌های اطلاعاتی تک پرونده ای (تک جدولی) نیاز به سیستم مدیریت پرونده ای به عنوان یک ابزار کاربردی داریم. انتخاب یک DBMS برای توسعه ی بانک‌های اطلاعاتی رابطه ای می‌تواند هزینه بر باشد. DBMS‌ها دارند به سمت نسل جدیدی از سیستم‌ها شیء گرا پیش می‌روند. سیستم‌های مدیریت بانک اطلاعاتی شیء گرا از نرخ رشد سالانه ی ۵۰% برخوردارند
کمپانی‌های ارایه دهنده ی ORDBMS مانند اوراکل، آی بی ام و اینفورمیکس به سمت تصاحب یک و نیم برابری بازار نسبت به ارایه دهنده گان RDBMS پیش می‌روند. با این روند شاهد خواهیم بود که سیستم‌های مدیریت بانک اطلاعاتی همچنان به عنوان پایه ی اصلی سیستم‌های اطلاعاتی مطرح خواهند بود.

مقایسه بلاکچین و بانک اطلاعاتی

معمولاً یک بانک اطلاعاتی یک ساختار داده است که برای ذخیره اطلاعات استفاده می شود. این یک مجموعه یا داده های سازمان یافته است که قادر به ذخیره اطلاعات جدید یا دسترسی به داده های موجود است. داده های ذخیره شده در یک پایگاه داده می توانند با استفاده از یک سیستم مدیریت پایگاه داده سازماندهی شوند. ادمین بانک اطلاعات می تواند داده های ذخیره شده در پایگاه داده را تغییر دهد. بانک اطلاعاتی با استفاده از معماری شبکه مشتری-سرور پیاده سازی می شود.

یک بلاکچین لیست در حال رشدی از سوابق به نام بلوک است که با استفاده از رمزنگاری مرتبط می شوند. هر بلوک حاوی یک هش رمزنگاری از بلوک قبلی، یک نشانگر زمانی و داده‌های معامله است. طراحی به گونه‌ای است که اصلاح داده‌ها ممکن نباشد. ساختار بلاکچین، امکان کنترل غیر متمرکز را فراهم می‌کند و خطرات اصلاح داده‌ها توسط طرف‌های دیگر را -که دسترسی کافی به سیستم دارند- از بین می‌برد.