این مقاله انگلیسی در نشریه اسپرینگر در 22 صفحه در سال 2015 منتشر شده و ترجمه آن 29 صفحه بوده و آماده دانلود رایگان می باشد.
دانلود رایگان مقاله انگلیسی (pdf) و ترجمه فارسی (pdf + word) |
عنوان فارسی مقاله: |
الگوهای پایگاه داده توزیع شده
|
عنوان انگلیسی مقاله: |
Distributed Database Patterns
|
دانلود رایگان مقاله انگلیسی |
|
دانلود رایگان ترجمه با فرمت pdf |
|
دانلود رایگان ترجمه با فرمت ورد |
|
مشخصات مقاله انگلیسی و ترجمه فارسی |
فرمت مقاله انگلیسی |
pdf |
سال انتشار |
2015 |
تعداد صفحات مقاله انگلیسی |
22 صفحه با فرمت pdf |
نوع نگارش |
|
رشته های مرتبط با این مقاله |
مهندسی کامپیوتر |
گرایش های مرتبط با این مقاله |
معماری سیستم های کامپیوتری – علوم داده – طراحی صفحات وب |
چاپ شده در مجله (ژورنال)/کنفرانس |
پایگاه داده های نسل بعدی |
کلمات کلیدی |
جستجوی محدوده – گره اصلی – گره مجازی – سیستم فایل توزیع شده Hadoop – سیستم فایل توزیع |
کلمات کلیدی انگلیسی |
Range Query – Master Node – Virtual Node – Hadoop Distribute File System – Distribute File System |
ارائه شده از دانشگاه |
ویکتوریا، استرالیا |
شناسه دیجیتال – doi |
https://doi.org/10.1007/978-1-4842-1329-2_8 |
لینک سایت مرجع |
https://link.springer.com/chapter/10.1007/978-1-4842-1329-2_8 |
رفرنس |
ندارد ☓ |
نشریه |
اسپرینگر – Springer |
تعداد صفحات ترجمه تایپ شده با فرمت ورد با قابلیت ویرایش |
29 صفحه با فونت 14 B Nazanin |
فرمت ترجمه مقاله |
pdf و ورد تایپ شده با قابلیت ویرایش |
وضعیت ترجمه |
انجام شده و آماده دانلود رایگان |
کیفیت ترجمه |
مبتدی (مناسب برای درک مفهوم کلی مطلب)
|
کد محصول |
F2305 |
بخشی از ترجمه |
تکرار، برای توزیع حجمکار انبار دادهها محدودیت دارد. حجمکار OLTP معمولا شامل تعداد زیادی درخواست کوتاه مدت است. بااینحال، در یک محیط انبار دادهها، حجمکار معمولا تعداد کوچکتری از اطلاعات فشرده شده است. در سرورهای پایگاهداده، پرسش عظیم توسط فرایندهای متعدد یا موضوعات انجام میگیرد، که هر کدام میتواند هسته پردازنده جداگانهای را با کانالهای ورودی و خروجی متعدد استفاده کند.
موازیسازی یک پرسوجو در چندین سرور پایگاه داده مختلف، نیاز به یک رویکرد جدید دارد. فروشندگان انبار داده یک راهحل برای این مشکل با اجرای یک پایگاهداده مشترک ارائه کردهاند. همانند مفاهیم بسیاری در جهان رابطه، ایده به اشتراک گذاشتن هیچ چیزی مهمترین آنها بود که در سال 1980 توسط Michael Stonebraker برنامهریزی شد. سرور پایگاهداده ممکن است بهصورت زیر طبقهبندی شود:
• به اشتراک گذاشتن هر چیزی: در این مورد، هر فرایند پایگاهداده، حافظه، CPU، و منابع دیسک یکسانی را به اشتراک میگذارد. به اشتراکگذاری حافظه نشان میدهد که هر فرایند در سرور یکسانی است و از این رو معماری پایگاهداده تک گره است.
• دیسک به اشتراک گذاشته شده: در این مورد، فرآیندهای پایگاهداده ممکن است بر روی گرههای جداگانه در خوشه وجود داشته باشند و به پردازنده و حافظه سرور که بر روی آنها قرار دارند دسترسی یابند. بااینحال، هر فرآیند دارای دسترسی برابری به دستگاههای دیسک است، که در سراسر گرههای خوشه به اشتراک گذاشته شدهاند.
• به اشتراک گذاشتتن هیچ چیزی: در این مورد، هر گره در خوشه نه تنها به حافظه خود و CPU دسترسی دارد بلکه به دستگاههای دیسک اختصاص داده شده و زیر مجموعه پایگاهداده خود نیز دسترسی دارد. ما چند نمونه از معماری اشتراک هیچ چیزی را در کتاب حاضر بیان کردهایم، از جمله طراحی MySQL اشتراکی در فصل 3 و طرح پارتیشنبندی VoltDB در فصل 7.
مدل اشتراک هیچ چیزی، پایه و اساس سیستمهای چند پایگاهدادهای خوشهای، مانند Teradata است. که یک مدل جذاب برای وظایف سنگین انبار دادهها فراهم میکند که میتواند به راحتی در گرههای متعدد براساس دسترسی به دادههای آنها موازیسازی شود. برای یک سیستم که آرزوی به حداکثر رساندن حجمکار براساس خواندن را دارد، پیادهسازی آن بهطور قابل توجهی آسان است. پیادهسازی پایگاهدادهها با مدل اشتراک هر چیزی، اغلب خود را بهعنوان پردازندههای موازی پایگاهداده (MPP) معرفی میکنند. شکل 8-3 مدل اشتراک هیچ چیزی را نشان میدهد.
معماری مشترک هیچ چیزی، تمایل به شکستن در حالات کاربردی دارد، چرا که نیاز به هماهنگسازی تراکنشها دارد که ممکن است دادهها بر روی گرههای متعدد را ملاقات کند. از آنجا که تراکنشهای ACID، “همه یا هیچ چیز،” هستند، بنابراین هماهنگسازی برای تمام گرهها در اجرای تراکنش ضروری است. این هماهنگی، که بهعنوان commit دو فازی شناخته شده است، برای پیادهسازی مشکل است و ممکن است نتایج “in doubt” در تراکنشها ایجاد کند و موجب تضعیف عملکرد تراکنشها گردد.
اشکال دیگر معماری اشتراک هر چیزی این است که بدون پارتیشنبندی دقیق، حجمکار خوشه نامتعادل میشود. حفظ پارتیشنبندی درست یک فعالیت عملیاتی است. زمانی که گرهی از خوشه اضافه یا حذف میشود، ایجاد توازن مورد نیاز است.
معماری به اشتراکگذاری دیسک، از لحاظ نظری مقیاسپذیری بیشتری را منجر میشود و حذف آن نیاز به انجام عملیات توازن دارد. این سرویس همچنین یک راهحل در دسترس مقرون به صرفهتر ارائه میکند، زیرا هیچ گرهی مسئولیت منحصر به فردی برای مجموعهای خاص از دادهها ندارد. در اشتراک هیچ چیزی، نتایج خرابی گره در بخشی از پایگاهداده در دسترس نیست، درحالیکه در اشتراک دیسک، گره باقیمانده قادر به از سرگیری مسئولیت گره شکست خورده است.
چالش معماری اشتراک دیسک، ضرورت در هماهنگی دادههای cache شده در سراسر گره است. بدون کش در حافظه، عملکرد تمام عملیات بنا به سرعت دیسک کاهش مییابد. اما برای حفظ تداوم دادهها در تمام گرهها، هر گره نیاز به حفظ کش سازگار دارد. نگهداری از این کَش یک فشار بر روی شبکه و بین گرهها قرار میدهد که پیادهسازی موفق آن را دچار مشکل میکند.
تا به امروز، تنها بازمانده تجاری و موفق RDBMS اشتراک دیسک در پایگاهدادهی خوشهای نرمافزار اوراکل (RAC) است. RAC پایه و اساس پایگاهداده اوراکل است. شکل 8-4 مدل اشتراک دیسک را نشان میدهد.
پایگاهدادهی توزیع شدهی غیررابطهای
حفظ تمامیت تراکنش ACID در سراسر گرههای متعدد در یک پایگاهدادهی رابطهای توزیع شده، چالش قابل توجهی دارد. بااینحال، در سیستمهای پایگاهدادهی غیررابطهای، از ACID پشتیبانی نمیکنند. برای پایگاهدادهی توزیع شده غیررابطهای، ملاحظات زیر قابلتوجه است:
• در دسترس بودن ثبات و پایداری: همانطور که در فصل 3 دیدیم، قضیه CAP استدلال میکند که یک هدف پایگاهداده توزیع شده فراتر از یک مقیاس محلی در شبکه است که باید بین دسترس بودن و ثبات در شبکه یکی را انتخاب کند. یک پایگاهداده ACID سازگار موظف است ثبات را بر روی دیگر عوامل برقرار کند. با این حال، یک پایگاهداده غیررابطهای بدون انطباق با محدودیت ACID میتواند تعادل متفاوتی ایجاد کند.
• اقتصاد سختافزار: زمانی که یک سیستم به هزاران و یا صدها هزار گره متصل میشود تفاوتهای کوچک در هزینه سرورهای شخصی به سرعت افزایش مییابد. بنابراین، یک معماری پایگاهداده با استفاده از بهترین نسبت قیمت / عملکرد موجود مقرون به صرفه خواهد بود. علاوهبراین، ممکن است لازم باشد تا با اختلافات بین تنظیمات سرور کنار بیاییم، بهطوریکه سخت افزار جدید را میتوان به خوشه پایگاهداده بدون نیاز به تمام گرههای موجود برای آخرین مشخصات سختافزاری به روز شده اضافه کنیم.
• انعطافپذیری: در یک خوشه عظیم پایگاهداده، گرهها از زمانی به زمان دیگر دچار شکست میشوند. به هنگام شکست، میتوان از دست دادن دادهها، وقفه دردسترسی، یا شاید حتی شکست در سطح تراکنش را تحمل کرد.
سه گروه معماری پایگاهداده توزیع شده توسط نسل بعدی پایگاهدادهها وجود دارد. سه مدل عبارتند از:
• تغییرات در معماری اشتراکی سنتی، که در آن دادهها در سراسر گره براساس ارزش “کلید اشتراکی” تقسیمبندی میشوند.
• تنوع در مدل هادوپ HDFS / HBase، که در آن یک “استاد دانای مطلق” تعیین میکند که دادهها باید براساس بار و عوامل دیگر در خوشه قرار گیرند.
• مدل هش سازگار آمازون Dynamo، که در آن دادهها در سراسر گرههای خوشه براساس هش ریاضی قابل پیشبینی در یک مقدار کلید توزیع میشوند.
تکرار ممکن است در درون هر یک از این معماریها بهمنظور اطمیناندر مورد از دست ندادن داده در صورت بروز شکست در سرور بهصورت ذاتی وجود دارد، اگرچه استراتژی تکثیر متفاوت باشد. به نمونههایی از این روشها در باقی فصل نگاهی میاندازیم. در این مقاله از MongoDB بهعنوان مثالی از یک معماری اشتراکی، HBase بهعنوان نمونهای از یک استاد دانای مطلق و Cassandra بهعنوان مثالی از Dynamo استفاده میکنیم.
MongoDB shardingو تکرار
MongoDB از اشتراکگذاری برای ارائه قابلیت مقیاسپذیری و تکرار برای دسترسی بالا پشتیبانی میکند. با اينكه میتوانند بهطور مستقل از دیگر اجرا شوند، ما هر دو آنها یک سناریو تولید میکنند.
sharding
نمایشی سطح بالا از معماری MongoDB اشتراکی در شکل 8-5 نشان داده شده است. هر قسمت توسط یک پایگاهداده MongoDB متمایز اجرا میشود، که در بسیاری از جهات گستردهتر از سرور است (1). پایگاهدادهی MongoDB جداگانه-سرور پیکربندی (2)، شامل اَبَرداده است که میتواند برای تعیین چگونگی توزیع دادهها در سراسر ذرات استفاده شود. روند روتر (3) مسئول مسیریابی درخواستها به سرور مناسب است.
ممکن است در MongoDB، مجموعهای برای ذخیره اسناد JSON استفاده شود که معمولا برخی از ویژگیهای مشترک را دارند. برای اجتماع یک مجموعه، یک کلید shard انتخاب میشود که یک یا چند ویژگی نمایه برای تعیین توزیع اسناد در سراسر ذرات استفاده شده است. ساختار درختی شاخص MongoDB شامل اطلاعات لازم برای توزیع کلید بهطورمساوی در سراسر ذرات است.
مکانیزم sharding
توزیع دادهها در سراسر ذرات میتواند براساس محدوده و یا براساس هش باشد. در پارتیشنبندی مبتنی بر محدوده، هر shard به یک محدوده خاص از مقادیر کلیدی shard اختصاص داده میشود. MongoDB درباره توزیع مقادیر کلیدی در شاخص برای اطمینان از هر shard اختصاص داده شده به همان تعداد کلید مشورت میگیرد. در sharding مبتنی بر هش، کلیدها براساس یک تابع هش به کلید shard توزیع شده اعمال میشوند.
|