تحقیق در مورد مديريت پايگاه داده هوشمند

تحقیق در مورد مديريت پايگاه داده هوشمند

تحقیق در مورد مديريت پايگاه داده هوشمند

38 صفحه word |فونت tahoma سايز 14| قابل اجرا در آفيس 2007 و نسخه هاي جديدتر|قابل ويرايش و آماده چاپ
بخشي از تحقيق

پياده سازي، مديريت و پشتيباني از برنامه هاي پيچيده پايگاه داده كه در سراسر جهان گسترده شده اند وظيفه اي دشوار است. براي پشتيباني از برنامه هاي كاربردي مدرن نياز به زيرساخت هاي گسترده IT داريم تا تمام اجزاي فيزيكي لازم براي پشتيباني از برنامه ها را فراهم سازيم. براي اين كار لازم است بانك هاي اطلاعاتي، شبكه ها و سرورهاي شما به خوبي هر شبكه و سروري كه در بيرون از محيط شما قرار گرفته و براي تجارت الكترونيكي خود به آن متكي هستيد، كار كنند. اين اجزاء با هم كاري كنند و زير ساخت هاي IT شما را مي سازند. اين عناصر نامتجانس و غير همسان بايد به طور موثر با هم كار كنند تا برنامه هاي شما بتوانند خدمات خود را به كاربران ارائه دهند.

اما اين اجزاء ماهيتاً براي كار با همديگر ساخته نشده اند. بنابراين نه تنها محيط بسيار پيچيده است بلكه به طور داخلي هم اجزاي آن با هم در ارتباطند. اما آن (محيط) لزوماً براي ارتباط داخلي طراحي نشده است. وقتي عنصري را تغيير مي‌دهيد، روي بقيه چيزها اثر مي گذارد. اثرات اين وضعيت بر روي مديران بانك اطلاعاتي چيست؟

خب، براي شروع، DBA ها در طول زماني كار خود فقط براي پشتيباني از برنامه هاي جاري و ويژگي هاي ارتباطي كار مي كنند. اما RDBMS هاي جديدي توليد شده اند كه خيلي سريعتر و بهتر از نسخه هاي قديمي كار مي كنند. اما هنوز بسياري از سازمان ها نمي توانند به اندازه كافي سريع كار كنند تا خيلي جديد و به روز و خيلي ايمن و عملكردي باشند.

بنابراين، كار مديريت پايگاه داده به علت پيشرفت هاي سريع در تكنولوژي بانك هاي اطلاعاتي و افزوده شدن توابع جديد، انتخاب هاي زياد و قابليت هاي بسيار پيچيده به آن ها، بسيار دشوار است. اما DBA ها با وجود كار زياد، قدرداني كم و كمبود وقت براي به دست آوردن مهارت هاي ضروري، آخرين و جديدترين RDBMS ها را پشتيباني و مديريت مي كنند. ديگر چه مي شود كرد؟

اتوماتيك سازي هوشمند

يكي از راه هاي كاهش دادن اين مشكلات استفاده از اتوماتيك سازي (خودكارسازي) هوشمند است. در IT حرفه‌اي ما مي توانيم از سيستم هايي كه كارهاي مختلفي را به طور اتوماتيك انجام مي دهند در سازمان هايمان استفاده كنيم. اين برنامه هاي كامپيوتري كار يك فرد را به طور اتوماتيك انجام مي دهند تا كار او را آسان تر سازند. اما ما هنوز مي خواهيم كارهاي DBA مان را به طور هوشمند اتوماتيك سازي كنيم. با خودكار سازي كارهاي ملال آور روزانه مديران پايگاه داده، مي توانيم زماني را براي يادگيري ويژگي هاي جديد در RDBMS ها صرفه جويي كنيم و آن ها را به طور مناسب پياده سازي نماييم.

اما فقط اتوماتيك سازي كافي نيست. نرم افزار بايد بتواند به طور هوش مند نظارت و تحليل شود و برنامه هاي كاربردي كه داده هاي جمع آوري شده گذشته، حال و آينده را تحليل مي‌كنند به طور هوشمند عمل كنند. به عبارت ساده تر، نرم افزار بايد مثل يك مشاور كار كند و كاملاً نقش يك مشاور قابل اعتماد را ايفا نمايد.

يك مشاور نرم افزاري بايد داده هاي در مورد محيط IT را از سيستم ها (سيستم عامل، سيستم مديريت بانك اطلاعاتي و ...)، اشيا و برنامه ها جمع آوري كند. لازم است اين داده ها پيكربندي اوليه شوند تا هم براي كاربران مبتدي و هم براي كاربران ماهر قابل استفاده باشند. مشاور نرم افزاري بايد شرايط لازم براي عمل نگهداري را مشخص كند و سپس كاربري كه مشكلي برايش پيش آمده را راهنمايي كند و نهايتاً به طور مفيد و سودمند به صورت انتخابي و گزينه اي عمليات لازم براي تصحيح اشكالاتي كه تشخيص داده است را اجرا كند. امروزه ابزارهاي مديريتي زيادي در دسترس هستند كه اين تحليل ها و عمليات اجرايي كاربر را كنار مي گذارند. اما راه‌حل هاي اتوماتيك سازي هوشمند به اندازه كافي زيركانه و هوشمندانه است كه محيط IT شما را با كم ترين، و اغلب بدون، تراكنش DBA يا كاربر بهينه سازي و اجرا مي كند.

تنها از طريق اتوماتيك سازي هوشمند مي توانيم تعهدات و وعده هاي تكنولوژي را تحقق بخشيم. همان طور كه وظايف IT بسيار پيچيده شده اند و استخدام و باقي ماندن افراد حرفه اي IT مشكل تر شده است، وظايف بيشتري از IT بايد با استفاده از نرم افزارهاي مديريت هوشمند، اتوماتيك شوند. اين در مورد كارهاي پيچيده، من جمله مديريت بانك اطلاعاتي (DBA) نيز صادق است. استفاده از هوشمندساي خودكار مي تواند ميزان زمان، تلاش و خطاهاي انساني را با مديريت بانك هاي اطلاعاتي و برنامه هاي پيچيده كاهش دهد.

***

< پايگاه داده > يك سيستم مديريت پايگاه داده كه اعتبار سنجي داده ها را انجام مي دهد و توسط برنامه هاي كاربردي به طور سنتي پردازش مي‌شود. اغلب DBMS ها عمل اعتبارسنجي داده ها را انجام مي دهند به اين معنا كه داده هاي غلط يا داده هاي الفبايي كه در فيلدهاي مخصوص وارد كردن ميزان پول، وارد شده اند را حذف مي كنند، البته اغلب پردازش ها توسط برنامه هاي كاربردي انجام مي گيرد. هر چند محدوديتي براي ميزان پردازش هايي كه مي‌توان توسط يك پايگاه داده هوشمند تا زماني كه پردازش يك عمل استاندارد بر روي داده ها باشد، وجود ندارد. نمونه هايي از تكنولوژي هايي كه در پياده‌سازي پايگه داده هاي هوشمند به كار مي روند عبارتند از: تريگوها، محدوديت ها و روال هاي ذخيره شده.

انجام پردازش بر روي پايگاه داده، جامعيت داده ها را افزايش مي دهد زيرا دسترسي همه كاربران به داده هاي مربوطه را تضمين مي كند. بانك‌هاي اطلاعاتي Mainframe (كامپيوترهاي بزرگ) بسيار هوشمندند و بانك هاي اطلاعاتي كامپيوترهاي شخصي در عوض سريع تر هستند.

***

تعريف – يك بانك اطلاعاتي هوشمند يك پايگاه داده تمام متن است كه هوش مصنوعي (AT) را به خدمت گرفته است و با كاربران آن قدر تعامل مي‌كند (ارتباط برقرار مي كند) تا مطمئن شود كه آيتم هاي وارد شده بهترين و مناسب ترين اطلاعات ممكن هستند. اين در تضاد با بانك هاي اطلاعاتي سنتي است كه فقط با كلمات كليدي و عباراتي كه توسط عملگرهاي منطقي مثل AND ، OR و NOT به هم مرتبط شده اند قابل جستجو هستند.

زماني كه يك جستجو توسط يك بانك اطلاعاتي تمام متن سنتي انجام مي‌گيرد، صرفاً كلمات كليدي و عباراتي كه در يك فايل مرجع قرار دارند نمي‌توانند پيدا كردن مفاهيمي در آن فايل كه مرتبط با موضوع مورد جستجو است را تضمين كنند. يك بانك اطلاعاتي هوشمند گزينه هاي انتخابي گسترده و بسيار انعطاف پذيري را براي ساخت پرس و جوها فراهم مي كند. مثلاً، كاربر بايد يك پرسش را به صورت يك جمله كامل تايپ كند. سپس بانك اطلاعاتي ليستي از داده هاي بازيابي شده را بر اساس ميزان شباهت به جواب را فراهم مي كند. بنابراين داده خروجي، جواب مناسبي براي آن سوال خواهد بود. هوش مصنوعي مي تواند خطاهاي ناشي از بي توجهي كاربر مثل اِسپل (هجي) غلط كلمات را تصحيح كند. بعضي از بانك هاي اطلاعاتي هوشمند كلمات معادل (هم معني) و تضاد (داراي معناي مخالف) كلمات كليدي و عبارات را نمايش مي‌دهند.

براي بهره گيري بهتر از بانك اطلاعاتي هوشمند، كاربر بايد پرس و جوهاي خود را با عبارات دقيق تر بسازد (درست مثل زماني كه فردي مورد بازجويي قرار مي گيرد.) مثلاً كاربر بايد تايپ كند: «چه موقع كامپيوتر من قادر است قيمت سهام را پيشگويي كند؟» اگر اين سوال جواب هاي رضايت بخشي در برنداشت، كاربر مي تواند سوال جزئي تري بپرسد يا اينكه ماهيت پرس و جو را تغيير دهد. يك جستجو بايد بتواند به كامپيوتر مشخص، سرور يا شبكه يا كل اينترنت محدود شود. يك جستجو مي تواند به موضوعات مشخص مثل مقالات خاص، اخبار جهان، اخبار محلي، اخبار منطقه اي، اخبار تجاري، عكس، صفحات سفيد يا زمينه اي از فن آوري اطلاعات محدود گردد. پرس و جوها مي توانند به زبان هاي مشخص، مناطق جغرافيايي يا دوره هاي تاريخي محدود شوند. يك بانك اطلاعاتي هوشمند مي تواند تاريخچه جستجوهايي كه اخيراً كاربر انجام داده را براي او فراهم آورد، تا اگر لازم باشد بعداً جستجو را پالايش كند يا جستجوي ديگري با همان  عنوان انجام دهد، در اين حالت ها نيازي نيست كه كاربر كارهايي كه قبلاً كرده و سوالاتش را دوباره تكرار كند.


واسط بانك اطلاعاتي هوشمند: تركيب هوش مصنوعي و سيستم هاي پايگاه داده

خلاصه:

واسط بانك اطلاعاتي هوشمند (IDI) يك واسط مبتني بر حافظه پنهان (كش) است كه براي ايجاد سيستم هاي هوش مصنوعي با دستيابي موثر به يك يا چند پايگاه داده در يك يا چند سيستم مديريت بانك اطلاعاتي (DBMS) راه دور طراحي شده است. از آن به عنوان واسطه اي بين انواع مختلف DBMS كه از SQL براي ارتباط با DBMS هاي راه دور استفاده مي كنند و پياده‌سازي IDI كه قابليت حمل و نقل خوبي ايجاد مي كند، استفاده مي شود. زبان پرس و جوي IDI مجموعه محدودي از عبارات Horn است كه به زبان SQL ترجمه شده اند. خروجي هاي IDI هر بار در يك سطر (tuple) برگردانده مي شوند و IDI براي بالا بردن كارايي حافظه كش كه نتايج در آن نگهداري مي شود را مديريت مي كند. IDI يكي از عناصر كليدي سرور سيستم هوشمند (ISS) است كه جزء سيستم هاي جوابگو و ارائه دانش به شمار مي‌رود. IDI همچنين براي ايجاد سرويس هاي پايگاه داده براي برنامه هاي سيستمي زبان Unisys به كار مي رود.


مقدمه

واسط بانك اطلاعاتي هوشمند IDI يك واسط قابل حمل و مبتني بر حافظه كش است كه براي ايجاد سيستم هاي هوش مصنوعي در سيستم هاي عمومي و تخصصي كه نياز به دسترسي موثربه يك يا چند بانك اطلاعاتي در يك يا چند DBMS راه دور كه از SQL استفاده مي كنند، دارند به كار مي رود. زبان پرس و جوي IDI زبان واسط بانك اطلاعاتي هوشمند است كه بر اساس مجموعه اي از عبارات عملكرد آزاد Horn است كه هِدِر (سرآميز) هر عبارت ليست هدف (يعني ليستي از نتايج) را مشخص مي كند و بدنه هر عبارت اجتماع تعداد از علائم (ليترال) است كه رابطه هاي پايگاه داده يا عمليات روي رابطه‌ها و صفات آن ها (يعني منفي سازي، اجتماع و عمليات حسابي) را نشان مي‌دهد.

IDI يكي از عناصر كليدي سرور سيستم هوشمند (ISS) است كه بر اساس Protem ايجاد شده و تركيبي از سيستم هاي ارائه دانش منطق گرا و فريم‌گرا ايجاد مي كند و از استدلال زنجيره اي پيش رو، استدلال زنجيره اي پس رو و نگهداري منطقي پشتيباني مي كند. IDI به گونه اي طراحي شده كه با شماي ارائه دانش منطق گراي ISS سازگار باشد.

IDI همچنين براي پياده سازي يك سرور پرس و جو كه پايگاه داده سيستم اطلاعاتي مسافرت هوايي را پشتيباني مي كند و با سيستمي كه با زبان پرولوگ نوشته شده، قابل دستيباي است، به كار مي رود.

علاوه بر فراهم ساختن دستيابي موثر به DBMS هاي راه دور، IDI مزاياي ديگري هم دارد. از IDI مي توان به عنوان واسطه اي بين انواع مختلف DBMS كه از SQL براي ارتباط با DBMS هاي راه دور استفاده مي كنند، بهره برد. همچنين، اتصالات زيادي در DBMS هاي يكسان يا متفاوت به طور همزمان وجود دارند و بايد بتوانند در مقابل هر تعداد پرس و جو، فعال باقي بمانند زيرا اتصالات به DBMS هاي راه دور، اشياء انتزاعي هستند كه به عنوان منابع توسط IDI مديريت مي شوند. نهايتاً، اطلاعات شماي دستيابي به طور اتوماتيك توسط IDI اداره مي شود يعني براي نگهداري اطلاعات شما به صورت به روز، نياز به برنامه كاربري نداريم. اين ويژگي، به طور قابل توجهي ميزان خطاهاي ناشي از اشتباه در وارد كردن داده ها و اطلاعات قديمي را كاهش مي دهد. IDI را مي توان به صورت يك واسطه DBMS نشان داد كه پرس و جوهايي به شكل عبارت IDIL را مي پذيرد و نتايج را به صورت مجموعه اي از تاپل ها (سطرها) بر مي گرداند. (به كمك رشته ها در زبان Lisp) پرس و جوهاي IDIL به زبان SQL ترجمه مي شوند و براي اجرا به DBMS مناسب فرستاده مي شوند. سپس نتايج به دست آمده از DBMS به كمك IDI  به تاپل هايي از اشياء Lisp تبديل مي شوند. هر چند IDI براي استفاده مستقيم كاربر طراحي نشده است. آنچه در زير آمده است نحوه استفاده از IDI به عنوان يك سيستم مستقل را شرح مي دهد. ما به علت پيچيدگي بحث به جزئيات سيستم هاي هوش مصنوعي مثل ISS نمي پردازيم. طراحي IDI به شدت از تحقيقات گذشته در حوزه تلفيق بانك هاي اطلاعاتي و هوش مصنوعي اثر گرفته است. اين يكي از مهم ترين معيارهاي طراحي است كه باعث شده IDI  از پرس و جوهاي دشوار IDIL پشتيباني كند. اين اجازه مي دهد كه پرس و جوها در بيش از يك رابطه در بانك اطلاعاتي انجام گيرند. اين قابليت به سيستم هاي هوش مصنوعي اجازه مي دهد تا محاسباتي كه پردازش آن ها توسط DBMS بسيار كارآمدتر است، به جاي سيستم هوش مصنوعي توسط DBMS انجام گيرند. در بسياري از موارد، اين كار باعث كاهش اندازه مجموعه داده هايي كه توسط DBMS برگردانده مي شود، مي‌گردد.

شكل 1: با توجه به چهار راهكار موجود براي تلفيق AI (هوش مصنوعي) و DB (بانك اطلاعاتي)، واسط بانك اطلاعاتي هوشمند نمونه اي از واسط AI/DB پيشرفته است.

زماني كه IDI در يك سيستم كوچك به كار گرفته شود، قابليت حمل و نقل بالايي را ايجاد مي كند و اين به خاطر پياده سازي آن با Lisp ، برقراري ارتباط با DBMS هاي راه دور با استفاده از SQL و پايپ[1] هاي يونيكس و بيان پرس و جوهاي IDIL و نتايج آن ها به صورت اشياء Lisp است.

در بخش هاي بعد نگاه مختصري به حوزه تلفيق AI و DB كه قسمت عمده‌اي از IDI را تشكيل مي دهد داريم، سپس به سازماندهي و عناصر اصلي IDI مي پردازيم و در آخر با ارائه مثال به اينكه چگونه IDI در دو برنامه كاربردي استفاده مي شود خواهيم پرداخت.

تلفيق AI/DB (هوش مصنوعي و بانك اطلاعاتي)

تركيب AI (هوش مصنوعي و تكنولوژي هاي DBMS نقش مهمي در آينده كامپيوترها و محاسبات سازي مي كند. همان طور كه اشاره شد تلفيق AI/DB نه تنها بر نسخه هاي جديد كامپيوترها بلكه بر ادامه توسعه تكنولوژي DBMS اثر خواهد گذاشت و با استفاده از تكنولوژي هوش مصنوعي آن ها را كارآمدتر خواهد ساخت. زماني كه هر دو سيستم AI و DBMS ، به خصوص سيستم‌هاي خبره، تركيب شوند، تحقيق و توسعه در اين زمينه از تلفيق AI/DB امري نوين به شمار مي آيد. انگيزه هاي ما براي تلفيق اين دو تكنولوژي شامل الف) نياز به حجم زيادي از داده اشتراكي براي پردازش دانش ب) نياز به مديريت كارآمد داده ها به خوبي دانش ج) نياز به پردازش هوشمند داده ها است.

علاوه بر اين اهداف، ميل به نگهداري و حفظ سرمايه قابل توجه كه توسط پايگاه هاي داده موجود بيان مي شود، نيز يك عامل انگيزشي ديگر براي اين كار است.

براي رسيدن به اين هدف، يك معيار كليدي براي طراحي IDI به طوري كه استفاده از DBMS هاي موجود به عنوان عناصر مستقل سيستمي را پشتيباني كنند، لازم است همان طور كه در شكل 1 نشان داده شده و در زير شرح داده شده راهكارهاي زيادي براي تلفيق AI/DB كشف و گزارش داده شده است.