۱۳۸۹ شهریور ۲۵, پنجشنبه

بررسي اجمالي Application Architecture ( معماري نرم افزار )


http://blogs.oracle.com/reynolds/gems/SOASuiteArchitecture.PNG

دو راه معمول براي معماري پايگاه داده وجود دارد :
Client / server و معماري چند لايه
معماري client /server
براي مجموعه اي از كارهاي مرتبط سيستم چند پردازشي بيشتر از سيستم تك پردازشي مورد استفاده قرار مي گيرد .
از نگاه كلي، برنامه نويسي توزيع شده به مجموعه اي از كامپوننت‌هاي فيزيكي مجزّا اشاره دارد كه مجموعا به‌عنوان يك سيستم واحد عمل مي‌كنند. در اينجا منظور از «كامپوننت‌هاي فيزيكي مجزّا»، چندين پردازنده (CPU)، يا حتي چندين كامپيوتر در شبكه است. بنابراين عملكرد و توانايي كلي سيستم افزايش مي يابد .
يك پايگاه داده ي اوراكل با استفاده از معماري client/server نسبت به پردازش توزيعي برتري مي يابد. در اين معماري , پايگاه داده به دو بخش client يا front-end و server يا back-end تقسيم مي شود .
Client :
يك نرم افزار پايگاه داده است كه درخواست خود را براي اجرا شدن به سرور پايگاه داده مي دهد كه اين درخواستها بوسيله ي سرور پردازش و مديريت مي شود . ايستگاه كاري client مي تواند بهبود يابد . براي مثال ممكن است به فضاي ديسك زيادي نياز نداشته باشد ولي ممكن است به توانايي گرافيكي زيادتري نياز داشته باشد.
Server :
سرور نرم افزار اوراكل را اجرا مي كند و توابعي كه براي دسترسي موازي نياز است را پشتيباني مي كند . سرور جملات sql و pl/sql را از نرم افزار كاربر دريافت و پردازش مي كند . كامپيوتري كه سرور را مديريت مي كند مي تواند  بهبود يابد . براي مثال فضاي ديسك زياد و پردازنده ي سريع داشته باشد .
معماري چندلايه :
معماري چندلايه شامل مولفه هاي زير است :
•    Client يا وارد كننده ي دستورات پردازشي
•    يك يا چند سرور كه بخشي از پردازش را انجام مي دهد .   همچنين سرور دسترسي به داده ها را براي client فراهم مي كند و بسياري از درخواستها را انجام مي دهد .
•    يك سروري كه داده هايي را كه در پردازش استفاده مي شود را ذخيره مي كند .
اين معماري كارهاي زير را براي يك سرور قادر مي سازد :
•     client را از لحاظ معتبر بودن چك مي كند .
•    به سرور اوراكل متصل مي كند.
•    درخواستي را كه از طرف client دريافت شده را اجرا مي كند .

بررسي اجمالي ساختار فيزيكي اوراكل
لايه فيزيکي بانک اطلاعاتي ORACLE از سه نوع فايل تشکيل شده است:
 Data File:
 هر بانك اطلاعاتي اوراكل شامل يك يا چند Data File  فيزيكي مي باشد. Data File تنها واحد ذخيره سازي داده ها در بانک اطلاعاتي مي باشد. از طريق اين فايل ها امکان نگهداري اشياء  Schema مانند جداول، Viewها، Index ها و.... در بانک اطلاعاتي وجود دارد. در بانک اطلاعاتي ORACLE برحسب نياز مي توان از يک تا صدها Data File را ايجاد و مورد استفاده قرار داد.
اين فايل ها يک بانک اطلاعاتي را به واحدهاي کوچکتر براي مديريت تقسيم مي کنند. در واقع بانک اطلاعاتي       ORACLE  از طريق اين فايل ها به واحدهاي کوچکتر که امکان توزيع آنها بر روي ديسکهاي مختلف فراهم مي شود، تقسيم مي شود. توزيع اطلاعات بين چند Data File ، اثر قابل توجهي بر کارآيي سيستم خواهد گذاشت. ازطريق اين فايل ها اطلاعات مربوط به يک جدول را مي توان در بيش از يک Data File توزيع نمود. همچنين امکان ذخيره سازي اطلاعات مشترک مربوط به چند جدول در يک  Data File، ممکن مي باشد. Data Fileها در بانک اطلاعاتيORACLE  مستقيماً مورد دستيابي قرار نمي گيرند، بلکه از طريق يک لايه منطقي به نام  Tablespace مديريت مي شوند. هر Data  File تنها مي تواند به يک Tablespace تعلق داشته باشد. امکان توسعه فضاهايData File ها بعد از ايجاد آنها در بانک اطلاعاتي وجود دارد.

در واقع Data File
• تقسيمات فيزيکي بانک اطلاعاتي اراکل است.
• تنها واحد ذخيره سازي داده ها در بانک اطلاعاتي است.
• هر Data File مي تواند با يک نام مشخص در يک مسير مشخص بر روي ديسک ايجاد شود.
• هر Data File در زمان ايجاد با يک فضاي اوليه مشخص ايجاد مي شود. اين فضاي فيزيکي اوليه که در اختيار       Data File  قرار مي گيرد از ديد سيستم عامل يک فضاي مصرفي و از ديد بانک اطلاعاتي اراکل يک فضاي رزرو شده اوليه براي ذخيره داده ها مي باشد که مي تواند در صورت نياز رشد يابد.
• هر Data File براي بانک اطلاعاتي اراکل همانند يک پارتيشن براي سيستم عامل مي باشد.
• هر Data File يک فضاي فيزيکي بهم پيوسته بر روي يک پارتيشن سيستم عامل مي باشد. بنابراين نمي توان Data File اي ايجاد نمود که بخشي از فضاي خود را از يک پارتيشن و بخشي از پارتيشن ديگر سيستم عامل دريافت کرده باشد.

: Control File
هر بانك اطلاعاتي شامل يك يا چند  Control Fileمي باشد.
Control Fileها حاوي  Data Fileها و Redo Log File ها هستند که براي Start شدن يک بانک اطلاعاتي بکار مي روند. اين اطلاعات، براي ايجاد يک Instance مورد نياز مي باشند. اگر اين فايل ها خراب شده و يا از بين رفته باشند، امکان Start شدن بانک اطلاعاتي به هيچ وجه ممکن نمي باشد. به علت اهميتي که اين فايل ها دارند، مدير بانک اطلاعاتي بايد حفاظت هاي لازم را بعمل آورد. در ORACLE مکانيزمي پيش بيني شده است که اين فايل ها را مي توان در چند نسخه بصورت Mirror ايجاد نمود، در آن صورت در زمان Start شدن بانک اطلاعاتي تمامي اين فايل ها در اختيار بانک قرار گرفته و بطور همزمان محتويات درون آنها تغيير مي يابد، بنابراين اگر يکي از Control File ها از بين رفته باشد، امکان Start نمودن بانک از سايرفايل هاي موجود، ممکن مي شود.
Control File شامل اطلاعاتي مربوط به :
• نام بانک اطلاعاتي
• تاريخ و زمان ايجاد بانک
• محل فيزيکي Data File ها
• محل فيزيکي Redo Log File ها

Redo Log File:
 هر بانك اطلاعاتي شامل دو يا چند Redo Log File مي باشد.  اين نوع از فايلها اطلاعاتي را نگهداري مي کنند كه هنگام خرابي سيستم، امکان Recovery نمودن  بانك اطلاعاتي را ممکن مي سازند. اين فايل ها تمامي تغييرات اعمال شده در بانک اطلاعاتي را نگهداري مي کنند. به کمک اين فايل ها مي توان به اعمال مجدد تغييراتي پرداخت که کاربر پس از اعمال آن تغييرات، به علت خراب شدن سيستم فرصت نوشتن آنها را در Data Fileها نداشته است.

هیچ نظری موجود نیست:

ارسال یک نظر