360 likes | 640 Views
معماريهاي مختلف پايگاه داده ها مهدي سرمدي اشکان ناصري. اهداف پایگاه داده موازی چگونه و چرا؟ پایگاه داده مشتری-خدمتگذار چیست؟ سیستم های توزیع شده چرا بوجود آمد؟ مزایای سیستم توزیع شده چیست؟ معایب سیستم های توزیع شده چیست؟. سيستم هاي موازي. پايگاه داده موازي. مزاياي پايگاه داده موازي.
E N D
معماريهاي مختلف پايگاه داده ها مهدي سرمدي اشکان ناصري
اهداف • پایگاه داده موازی چگونه و چرا؟ • پایگاه داده مشتری-خدمتگذار چیست؟ • سیستم های توزیع شده چرا بوجود آمد؟ • مزایای سیستم توزیع شده چیست؟ • معایب سیستم های توزیع شده چیست؟
پايگاه داده موازي مزاياي پايگاه داده موازي بهبود زمان پاسخگويي پردازش موازي در سطح جستجو ها مي توانيم تراکنشهاي مختلف را به صورت موازي پردازش کنيم. بهبود بهره وري پردازش موازي در داخل جستجو مي توانيم بخش هاي مختلف يک جستجو را به صورت موازي پردازش کنيم.
پايگاه داده موازي بررسي افزايش سرعت 2000/Sec 1600/Sec افزايش واقعي 1000/Sec 5 CPUs 16 CPUs 10 CPUs افزايش خطي – ايده آل تعداد تراکنش ها در هر ثانيه تعداد پردازنده ها
معماري موازي 1000/Sec 900/Sec افزايش واقعي 10 CPUs 2 GB Database 5 CPUs 1 GB Database بررسي افزايش پردازنده ها افزايش خطي- ايده آل تعداد تراکنش ها در هر ثانيه تعداد پردازنده ها و اندازه پايگاه داده
CPU CPU X CPU CPU X CPU CPU X معماري موازي با به اشتراک گذاشتن حافظه MEMORY X
CPU M CPU M X CPU M M CPU X M CPU M CPU X معماري موازي با يه اشتراک گذاشتن ديسک
M CPU M CPU M CPU M CPU M CPU معماري موازي بدون اشتراک
DUMB DUMB DUMB پايانه ها کامپيوتر اصلي شبکه منطق نمايش داده ها منطق پردازش داده ها منطق نگهداري داده ها
معماري مشتري- خدمتگذار Client/Server
معماري مشتري- خدمتگذار • مديريت واسط کاربر • دريافت داده هاي کاربر • پردازش بخشي از کاربري هاي کل سيستم • توليد درخواست هاي مخصوص پايگاه داده • ارسال درخواست ها به پايگاه داده • دريافت نتايج از پايگاه داده • نمايش نتايج به کاربر CLIENT PROCESS
معماري مشتري- خدمتگذار • دریافت درخواست • پردازش داده ها • بررسی قواعد جامعیت • کنترل همزمانی • بهبود بخشی جستجو ها • کنترل امنیت • اجرای روتین ها حفاظتی • ارسال نتایج به مشتری SERVER PROCESS
CLIENT#1 CLIENT#2 D/BASE NETWORK CLIENT#3 معماري مشتري- خدمتگذار SERVER DBMS منطق داده ها منطق نمايش داده ها منطق پردازش داده ها (FAT CLIENT)
CLIENT#1 CLIENT#2 NETWORK CLIENT#3 Data Request Data Response معماري مشتري - خدمتگذار SERVER D/BASE PL/SQL DBMS منطق پردازش داده ها منطق نگهداري داده ها منطق نمايش داده ها (THIN CLIENT)
پايگاه داده توزيع شده پايگاه داده توزيع شده چيست؟ • يک پايگاه داده توزيع شده مجموعه اي از پايگاه داده هاي منطقا به هم مرتبط است که با هم به صورت Transparent در ارتباطند. • Transparent بودن به معني اينست که کاربر بتواند به تمامي داده ها در تمامي پايگاه ها به نوعي که از ديد او يک پايگاه داده داريم دسترسي داشته باشد. • طراحي بايد به صورت مستقل از مکان فيزيکي داده ها به گونه اي باشد که جابجايي در مکان داده ها به کاربر ضرر نرساند.
معماري پايگاه داده توزيع شده CLIENT CLIENT CLIENT CLIENT CLIENT CLIENT LAN DBMS DBMS CLIENT CLIENT CLIENT WAN Shiraz Tehran CLIENT CLIENT CLIENT CLIENT CLIENT LAN DBMS DBMS CLIENT CLIENT CLIENT CLIENT Mashhad Kish
اجزاي يک DBMS توزيع شده Site 1 DDBMS DC LDBMS GSC DB Computer Network GSC DDBMS LDBMS =Local DBMS DC = Data Communications GSC = Global Systems Catalog DDBMS = Distributed DBMS DC Site 2
Client Client Client Client Workflow Controller Transaction Manager Resource Manager Resource Manager Resource Manager Cars Hotels Flights Distributed Travel Reservation System
پايگاه داده هاي توزيع شده مزايا • کاهش هزينه ارتباطات • اکثر دسترسي ها به داده هاي محلي است و هزينه ها کمتر است • قدرت پردازش بيشتر • در اين معماري به جاي اينکه يک سرور مسئوليت کل پايگاه داده ها را بر عهده داشته باشد، چند سرور همان مسئوليت را بعهده دارند. • از بين بردن اتکا به يک دستگاه(سرور) • اگر يکي از سرورها از کار بيفتد، به جاي اينکه کل سيستم از کار بيفتد تنها بخشي از داده ها را که روي آن سرور بوده از دست ميدهيم و بقيه داده ها در دسترس خواهند بود • قابليت توسعه • با افزايش حجم کل پايگاه داده ها تطبيق براحتي قابل انجام است.
پايگاه داده هاي توزيع شده موضوعات مهم • تخصيص داده ها (Data Allocation) • قطعه بندي داده ها(Data Fragmentation) • مديريت کاتالوگ توزيع شده • تراکنشهاي توزيع شده • پرس و جوهاي توزيع شده
پايگاه داده هاي توزيع شده تخصيص داده ها معيارهاي • محلي بودن مراجعات آيا داده به محلهايي که به آن نياز دارند نزديک است؟ • قابل اطمينان بودن و در دسترس بودن آيا اين راه حل fault toleranceو در دسترس بودن داده ها را افزايش مي دهد؟ • کارايي آيا راه حل به کم کردن گلوگاهها و افزايش بازده سيستم کمک مي کند؟ • هزينه هاي ذخيره داده ها(storage costs) • هزينه ارتباطات راه حل انتخابي چه تاثيري بر ترافيک شبکه دارد؟
پايگاه داده هاي توزيع شده چرا داده ها را قطعه بندي کنيم؟ • نوع استفاده • برنامه ها معمولا به جاي کل رابطه از viewها استفاده مي کنند • بازدهي • اگر داده به محلي که مورد استفاده قرار مي گيرد نزديک باشد بازدهي بيشتر است • امنيت • داده هايي که در برنامه هاي محلي استفاده اي ندارد در سرور آن محل نگهداري نميشوند
پايگاه داده هاي توزيع شده قطعه بندي افقي داده ها BALANCE ACCOUNT CUSTOMER BRANCH 200 JONES TEHRAN 1000.00 324 GRAY SHIRAZ 200.00 345 SMITH TEHRAN 23.17 350 GREEN SHIRAZ 340.14 400 ONO SHIRAZ 500.00 456 KHAN TEHRAN 333.00 Horizontal Fragmentation: Consists of a Restriction on a Relation. e.g.,(branch = ‘TEHRAN’ Account)
پايگاه داده هاي توزيع شده قطعه بندي افقي داده ها BRANCH ACCT NO. CUSTOMER BALANCE 200 JONES TEHRAN 1000.00 345 SMITH TEHRAN 23.17 456 KHAN TEHRAN 333.00 BRANCH ACCT NO. CUSTOMER BALANCE 324 GRAY SHIRAZ 200.00 350 GREEN SHIRAZ 340.14 400 ONO SHIRAZ 500.00 TEHRAN BRANCH SHIRAZ BRANCH
پايگاه داده هاي توزيع شده قطعه بندي عمودي داده ها S# NAME SITE PHONE NO LOGIN PASSWORD 200 JONES TEHRAN 0208-500-9000 JON200T XXYY22 324 GRAY SHIRAZ 0208-545-7528 GRA324S ZZEE56 456 KHAN TEHRAN 0208-500-5821 KHA456T KJTR78 Vertical Fragmentation: Consists of a Projection on a Relation. e.g.,(S#, NAME, SITE, PHONE NO Student)
پايگاه داده هاي توزيع شده قطعه بندي عمودي داده ها SITE S# NAME PHONE NO. 200 JONES TEHRAN 0208-500-9000 324 GRAY SHIRAZ 0208-545-7528 456 KHAN TEHRAN 0208-500-5821 STUDENT ADMINISTRATION NETWORK ADMINISTRATION PASSWORD S# LOGIN-ID 200 JON200T XXYY22 324 GRA324S ZZEE56 456 KHA456T KJTR78
پايگاه داده هاي توزيع شده مديريت کاتالوگ توزيع شده • کاتالوگ جامع متمرکز (Centralized Global Catalog) • يک سايت کاتالوگ کامل را نگهداري مي کند و تمام در کاتالوگ محلي هر سايت بايد در سايتي که کاتالوگ جامع نگهداري مي شود ذخيره شود. • کارايي بد • Single Point of Failure • اصل خودگرداني سايتها را نقض مي کتد • کاتالوگ پراکنده (Dispersed Catalog) • کاتالوگ جامع فيزيکي نداريم و هر سايت براي يافتن اطلاعات مورد نظر کاتالوگ سايتهاي ديگر را جستجو مي کند. • سربار زياد
پايگاه داده هاي توزيع شده مديريت کاتالوگ توزيع شده • کاتالوگ جامع تکرار شده (Replicated Global Catalog) • هر سايت يک کاتالوگ جامع از کل DB را نگهداري مي کند. سرعت بيشتر مي شود ولي نگهداري و بروز رساني اين کاتالوگها هزينه زيادي دارد. • کاتالوگLocal-Master • هر سايت هم کاتالوگ محلي خود و هم کاتالوگي از تمام داده هاي خود را که در سايتهاي ديگر تکرار(Replicate) شده اند را نگهداري مي کند. • بازده نسبتا خوب • اصل خودگرداني سايتها را نقض نمي کند • در سيستم single point of failure نداريم
پايگاه داده هاي توزيع شده ATOMIC DISTRIBUTED TRANSACTION تراکنشهاي توزيع شده TEHRAN Client (a) TEHRAN DBMS TEHRAN Client TEHRAN DB X TEHRAN Client (b) SHIRAZ DBMS SHIRAZ DB Global Transaction (a) Debit TEHRAN A/C $500 (b) Credit SHIRAZ A/C $350 (c) Credit Kish A/C $150 (c) Kish DBMS Kish DB
پايگاه داده هاي توزيع شده معايب پايگاه داده هاي توزيع شده • پيچيدگي معماري • هزينه • امنيت • کنترل جامعيت پيچيده تر است • کمبود استانداردها • طراحي DB پيچيده تر است