240 likes | 459 Views
پردازش توزیعی پرس و جو. حمید خلیلی فاطمه امیری دانشکده برق و کامپیوتر دانشگاه تهران اسفند 85. رئوس مطالب. معماری پایه پردازش پرس و جو پردازش پرس و جو برای سیستم های خدمتگذار و مشتری پردازش پرس و جو برای سیستم های پایگاه داده ای نامتجانس موقعیت دهی داده
E N D
پردازش توزیعی پرس و جو حمید خلیلی فاطمه امیری دانشکده برق و کامپیوتر دانشگاه تهران اسفند 85
رئوس مطالب • معماری پایه پردازش پرس و جو • پردازش پرس و جو برای سیستم های خدمتگذار و مشتری • پردازش پرس و جو برای سیستم های پایگاه داده ای نامتجانس • موقعیت دهی داده • معماری های جديد برای پردازش توزیعی پرس و جو
معرفی • توجه به سیستمهای توزیعی از دهه 1970 • اگرچه این نیاز احساس میشد و ایدههای بسیار خوبی موجود بود اما هرگز تلاشهای اولیه برای ساخت سیستمهای پایگاه داده توزیعی بطور تجاری موفقیتآمیز نبود • اما امروزه سیستمهای توزیعی هم مورد نیاز و هم امکانپذیر میباشند. پردازش دادههای توزیعی نیز بخاطر پیشرفتهای اخیر تکنولوژی میسر میباشد
رئوس مطالب • معماری پایه پردازش پرس و جو • پردازش پرس و جو برای سیستم های خدمتگذار و مشتری • پردازش پرس و جو برای سیستم های پایگاه داده ای نامتجانس • موقعیت دهی داده • معماری های جديد برای پردازش توزیعی پرس و جو
تکنیکهای بهینهسازی و اجرای پرسوجو • تکنیک بهینهسازی پرس و جو • تولید طرح با استفاده از برنامهنویسی پویا • تکنیکهای اجرای پرسوجو • Row Blocking • Optimization of Multicasts • Multithreaded Query Execution • Joins with Horizontally Partitioned Data • Semijoins • Double-Pipelined Hash Joins • Pointer-Based Joins and Distributed Object Assembly • Top N and Bottom N Queries
رئوس مطالب • معماری پایه پردازش پرس و جو • پردازش پرس و جو برای سیستم های خدمتگذار و مشتری • پردازش پرس و جو برای سیستم های پایگاه داده ای نامتجانس • موقعیت دهی داده • معماری های جديد برای پردازش توزیعی پرس و جو
سیستمهای پایگاه دادهای خدمتگذار و مشتری • انواع مختلف معماریهای پایگاه داده • Peer-to-Peer • client-server • Middleware, multitier
استفاده از منابع مشتری • آیا پرسوجو در ماشین مشتری که آن را ایجاد نموده است اجرا شودو یا در ماشین خدمتگذاری که دادههای مربوط به آن را ذخیره نموده است؟ • انتقال پرسوجو • انتقال داده • انتقال ترکیبی
انتقال پرس و جو انتقال داده انتقال ترکیبی استفاده از منابع مشتری(ادامه)
رئوس مطالب • معماری پایه پردازش پرس و جو • پردازش پرس و جو برای سیستم های خدمتگذار و مشتری • پردازش پرس و جو برای سیستم های پایگاه داده ای نامتجانس • موقعیت دهی داده • معماری های جديد برای پردازش توزیعی پرس و جو
معماری Wrapper برای پایگاههای داده نامتجانس
تکنیکهای اجرای پرسوجو • Bindings • واسطه از D1 براي اجراي پرسوجوی زير درخواست ميكند Select * from A • wrapper مربوط به D1، چندتاییهای A را يكي يكي به واسطه بر ميگرداند. براي هر چندتایی از جدول A، واسطه از wrapper مربوط به D2 تقاضا ميكند كه پرسوجوی زير را براي يافتن چندتاییهای مناسب در B اجرا نمايد select * from B where B.y = ? • Cursor Caching • دستور JDBC’s prepareStatement
رئوس مطالب • معماری پایه پردازش پرس و جو • پردازش پرس و جو برای سیستم های خدمتگذار و مشتری • پردازش پرس و جو برای سیستم های پایگاه داده ای نامتجانس • موقعیت دهی داده • معماری های موجود دیگر برای پردازش توزیعی پرس و جو
موقعیتدهی پویای داده • Replication • Dynamic Replication Algorithms • Caching • Cache Investment • تفاوت دو روش بالا
الگوریتمهای پویای Replication • شمایreplication يك شي - جدول يا ايندكس يا پارتيشني از انها- • بايد يك زير گراف متصل باشد به منظور اينكه هزينه ارتباطات در يك شبكه درختي كاهش یابد. • expansion Test • در صورتي همسايه اي را به schemaاضافه مي كند كه در خواستهاي read از client هاي ان همسايه يا clientهاي متصل به سروري از زير درخت متصل به ان همسايه بيشتر از update هاي ايجاد شده در client هاي ديگر باشد • Contraction Test • در صورتي كپي شي حذف مي شود كه update هاي منتشر شده به آن كپي بيشتر از آن است كه كپي خوانده شود
Cache Investment • تحليل what-if • براي اينكه تصميم بگيرد كه ايا قسمتي از جدول يا ايندكس را كه قرار است كش كند با ارزش مي باشد؟ • توسعه دادن بهينه ساز • براي اينكه بهينه ساز تصميم بگيرد در صورتي كه query نياز به داده هايي دارد كه در كش client وجود دارد query را در client انجام دهد.
رئوس مطالب • معماری پایه پردازش پرس و جو • پردازش پرس و جو برای سیستم های خدمتگذار و مشتری • پردازش پرس و جو برای سیستم های پایگاه داده ای نامتجانس • موقعیت دهی داده • معماری های جديد برای پردازش توزیعی پرس و جو
معماری های جديد برای پردازش توزیعی پرس و جو • مدلهاي اقتصادي براي پردازش پرس و جو • هر سروري كه يك سرويس ارائه ميدهد سعي ميكند سود خود را با فروختن سرويسش به client هاافزايش دهد. • سيستم هاي اطلاعاتي مبتني بر انتشار • server فعال هستند و سرورها داده را به clientقبل از اینکهclientتقاضای داده کند منتشر میکنند • قابلیت scale اين سيستم ها بهتر از سیستمهای معمول request-base میباشد
کارهاي آينده: پردازش پرس وجوي انطباقي • Eddy • مرتب نمودن عملگر ها بطور پيوسته در يک طرح پرس و جو • SteMs ماجولهاي حالت • به طور غير رسمي يک SteMs يک نيمه join مي باشد • SWAPپردازش پرس و جوي انطباقي و قابل scale • استفاده از Eddy و SteMs براي مرتب نمودن عملياتهاي يک طرح پرس و جو در زمان اجرا
Reference • Swarup Acharya, Michael Franklin, Stanley Zdonik, Balancing Pushand Pull for DataBroadcast • PHILIP A. BERNSTEIN and NATHAN GOODMAN,EUGENE WONG, CHRISTOPHER L. REEVE,JAMES B. ROTHNIE, Jr.Query Processing in a System for Distributed Databases (SDD-1) • Donald Kossmann, The State of the Art in Distributed Query Processing, ACM Computing Surveys, Vol. 32, No. 4, December 2000, pp. 422–469. • BRAUMANDL, R., CLAUSSEN, J., KEMPER, A., AND KOSSMANN,D. 2000. Functional join processing. The VLDB Journal. 8, 3–4 (Feb.), 156–177
با تشکر از توجه شما سوال؟