انواع معماری پایگاه داده و سطوح آنها
معماری پایگاه داده چیست؟
هر پایگاه دادهای برای مدیریت سیستم خود از یک معماری تبعیت میکند. هدف از معماری پایگاه داده به وجود آوردن یک راه ساده است که کاربران با هر سطحی بتوانند با یک زبان با سیستم تعامل داشته باشند.
انواع معماری پايگاه داده
۱) سیستم های متمرکز
۲) سیستم های مشتری / خدمتگزار
۳) سیستم های موازی
۴) سیستم های توزیع شده
در ادامه به شرح این سیستمها میپردازیم :
سیستمهای متمرکز:
در سیستمهای متمرکز کلیهی دادهها در یک پایگاه داده ذخیره و بازیابی میشوند. از این رو کاربران برای دسترسی به اطلاعات باید از دستگاهی که پایگاه داده در آن ذخیره شده است استفاده کنند. در این معماری یک حافظه مشترک بین پایگاه داده و سیستم عمل و چندین پردازنده وجود دارد.
مزایای معماری سیستمهای متمرکز:
• سادگی در طراحی
• سادگی در استفاده
• عدم نیاز به امکانات سخت افزاری یا نرم افزاری خاص
همچنین از معایب آن می توان به موارد زیر اشاره کرد :
• تک کاربره بودن
• مشکل بودن استفاده در سازمانهای بزرگ
امروزه با توجه به افزایش استفاده از پایگاه دادهها و حجم اطلاعات و تعداد کاربران این سیستم کمتر مورد استفاده قرار می-گیرد و سیستمهایی با قابلیتهای بیشتر جایگزین سیستمهای متمرکز شدهاند.
سیستم های مشتری / خدمتگزار:
این معماری بعد از معماری متمرکز و در جهت کارایی بیشتر طراحی شد. در این معماری یک رایانه به عنوان سرور عمل میکند و هر کاربر با رایانه خود به سرور و در نتیجه به پایگاه داده متصل میشوند.
مزایای سیستم های مشتری / خدمتگزار:
• افزایش راندمان سیستم و صرفهی اقتصادی
• سادگی بیشتر در گسترش و توزیع منابع
• تولید واسط های کاربر بهتر
• راحتی در نگهداری سیستم
در این نوع معماری، سرورها از لحاظ عملکردی به دو بخش مجزا تقسیم می شود:
سرورهای دادهای: این سرورها اغلب در سیستمهای شیگرا مانند شبکههای lan استفاده میشوند. روش کار در سرورهای دادهای به این صورت است که دادهها بعد از پردازش به سرور منتقل میشوند تا ذخیره شوند.
سرورهای تراکنشی: این سرورها اغلب در سیستمهای رابطهای مورد استفاده هستند. در این حالت درخواستهای کابران به صورت دستورات SQL و RPC به سیستم ارسال میشود و سیستم پاسخ میدهد. برای این ارتباط دو طرفه به نرمافزاهای خاصی مانند ODBC و JDBC نیاز است.
مقاله پییشنهادی : تراکنش در پایگاه داده چیست؟
سیستمهای موازی:
در معماری موازی با انجام کارها به صورت موازی تلاش بر این است که راندمان سیستم افزایش پیدا کند. عملیاتهایی که به صورت موازی پردازش میشوند میتواند خواندن دادهها و پردازش درخواستها باشد.
سیستم های توزیع شده:
در این نوع معماری پایگاه داده، دادهها در محلهای مختلفی نگهداری میشود. ویژگی مهم این نوع معماری مستقل بودن داده-های توزیع داده است به این معنا که کاربران بدون نیاز به دانستن محل دادهها میتوانند درخواستهایشان را به پایگاه داده ارسال کنند.
معماری سه سطحی ANSI/SPARC
برای سیستمهای مختلف، طراحی معماریهای گوناگونی وجود دارد. یکی از این معماریها، معماری سه سطحی ANSI/SPARC است. این معماری به عنوان استانداردی برای طراحی سیستمهای پایگاهای داده به کار میرود.
ANSI/SPARC مخفف American National Standards Institute, Standards Planning And Requirements Committee است. اين استاندارد اولين بار در سال ۱۹۷۵ برای طراحی سیستم های مدیریت پایگاه داده پیشنهاد شد.
همان طور که از نامش مشخص است معماری سه سطحی ANSI/SPARC دارای سه سطح برای توصيف داده در يک پايگاه داده است:
• سطح خارجی (external level)
• سطح ادراکی (conceptual level)
• سطح داخلی (internal level)
سطح خارجی:
منظور از سطح خارجی، آن بخشی از پایگاه داده است که کاربر با آن کار میکند و دیدگاهی که نسبت به آن دارد : user view
هر کاربر میتواند دیدگاه منحصر به فرد خود را از یک پایگاه داده داشته باشد. به همین دلیل دیدگاه هر کابر باید به صورت واضح تعریف شود، به این تعریف شمای خارجی یا external schema گفته میشود.
برای تعريف شمای خارجی از یک مدل داده استفاده می شود که به صورت رایج همان مدل مورد استفاده در سطح ادراکی است که توضیح داده خواهد شد.
سطح ادراکی:
سطح ادراکی در یک پایگاه داده وظیفه دارد تمام دادههای ذخیره شده و ارتباط بین آنها را توصیف کند. در واقع سطح ادراکی همان دیدگاه طراح پایگاه داده از دادههای ذخیره شده است.
طراح پایگاه داده برای تعریف دادهها از یک مدل یا ساختار استفاده میکند، این مدل که شمای ادراکی یا conceptual schema نامیده میشود وظیفه دارد دادهها و ارتباطشان با هم را توصیف کند.
در واقع شمای خارجی از شمای ادراکی گرفته میشود البته در حالتهایی ممکن است ساختار و مدل شمای خارجی و ادراکی متفاوت باشد در این صورت سیستم پایگاه داده دوساختاری است.
سطح داخلی:
سطح داخلی وظیفه دارد دادههایی را که شمای ادراکی شرح داده است را به صورت فیزیکی روی سیستم کامپیوتری نمایش دهد، در واقع سطح داخلی دیدگاه طراح پایگاه داده از محیط فیزیکی و فایلهای ذخیره شده در آن است که به عنوان شمای داخلی یا internal schema معرفی میشود.
انواع مختلف رکوردها، فيلدهای داده، فایل ها، نحوه نمایش رکوردها در فایل، استراتژی دستیابی، شاخص ها و چگونگی ترتیب رکوردها در فایل توسط شمای داخلی توصیف می شوند.
فاصله بین سطح داخلی و خارجی باعث میشود که کاربر بدون نیاز به دانستن اطلاعات فیزیکی دادهها فعالبت داشته باشد. به عبارت دیگر مجزا بودن سطوح در این معماری اجازه میدهد بدون تاثیر روی دیدگاه کاربران بتوان ساختار ذخیره سازی پایگاه داده را تغییر داد در واقع معماری سه سطحی تلاش میکند امکاناتی را فراهم کند تا تمام کاربران بتوانند با دیدگاه شخصی خود به دادههای مشترک دست پیدا کنند و تغییرات در یک سطح تاثیری روی بقیه سطوح نداشته باشد.
مقاله پییشنهادی : آشنایی با پایگاه داده کاساندرا
تبديلات بين سطوح:
در معماری سه سطحی دو روش برای تبديل سطوح به يکديگر وجود دارد، در ادامه این روشها را بررسی خواهیم کرد :
• تبديل ادراکی – داخلی:
این تبدیل ارتباط ديد داخلی و ادراکی را شرح میدهد و چگونگی نمایش رکوردها و فيلدهای سطح ادراکی در سطح داخلی را مشخص میکند. هر تغییری در سطح داخلی باعث تغییر تبدیل ادراکی – داخلی میشود بنابراین برای جلوگیری از این اتفاق و ثابت ماندن استقلال فیزیکی، شمای ادراکی باید ثابت بماند.
• تبديل خارجی – ادراکی :
این تبدیل نیز ارتباط ديد ادراکی و يک ديد خاص خارجی ( وابسته به دیدگاه یک کاربر به خصوص ) را برقرار می کند. به عنوان مثال ممکن است یک ویژگی خاص خارجی از دید یک کاربر به صورت ترکیبی از چند آیتم در سطح ادراکی باشد و هر تغییری در تعریف ادراکی آن باعث تغییر تبدیل خارجی – ادراکی خواهد شد بنابراین برای حفظ استقلال داده شمای خارجی باید ثابت بماند.
استقلال داده
سیستمهای قدیمی معماری پایگاه داده وابست به داده بودند، در این سیستمهای قدیمی هر تغییری در ساختار ذخیره سازی باعث تغییر در برنامه میشد.
در سیستمهای معماری که امروزه مورد استفاده قرار میگیرند داده دارای استقلال است. این استقلال به این معناست که در صورت تغییرات ساختار ذخیره سازی، تغییری در برنامه به وجود نخواهد آمد. همچنین ساختار ذخیره سازی میتواند بدون اینکه تاثیری روی دیدگاه کاربران بگذارد تغییر کند.
استقلال داده دو نوع است:
• استقلال فیزیکی داده: نشان میدهد که تغییرات شمای داخلی تاثیری روی برنامههای کاربردی ندارد.
• استقلال منطقی داده: نشان میدهد که تغییرات شمای ادراکی تاثیری روی برنامه کاربردی ندارد.