پایگاه داده توزیع شده چیست؟ – به زبان ساده
در این نوشته به این پرسش پاسخ داده شده است که «Distributed Database» یا همان پایگاه داده توزیع شده چیست و همچنین شرح دادهایم که چرا باید دیتابیس یا همان پایگاه داده یا بانک اطلاعاتی خود را توزیع کنیم و برخی از سایر مباحث مرتبط در حوزه پایگاه داده های توزیع شده را نیز بسط دادهایم.
پایگاه داده توزیع شده چیست ؟
«توزیع» (Distribution) یا ادغام قابلیتهای پردازشی چندین ماشین برای استفاده از کارایی آنها به گونهای که گویی همگی یک موجودیت واحد هستند، در دنیای امروزی محاسبات، بسیار رایج و مرسوم است. به احتمال زیاد، بسیاری از افراد تاکنون بدون اینکه مطلع باشند، با یک سیستم توزیع شده تعامل داشتهاند.
برای مثال، اپلیکیشنهای شبکههای اجتماعی به کاربران خود تجربهای رفتاری را ارائه میدهند که بر قابلیت و عملکرد کامپیوتری قدرتمند، اما واحد دلالت دارد، در حالی که در فناوری زیربنایی آن اصلاً این چنین نیست. پلتفرمهایی مثل توئیتر و فیسبوک در مقیاس مناسب اجرا میشوند و بر بستر ابزارهایی ساخته شدهاند که در میان تعداد زیادی از عناصر محاسباتی، اغلب در مکانهای متفاوت بهاشتراکگذاری (پراکنده) شده و در قالب برنامههای نرم افزاری منظم و مرتب و به راحتی قابل استفادهاند و به خوبی در هم ادغام شدهاند. کاربران اغلب هیچ اطلاعی راجع به معماری زیربنایی محصولات نرمافزاری مورد استفاده خود ندارند.
پایگاه دادهها در حوزه ساخت و توسعه اپلیکیشن نقش بسیار برجسته و مهمی دارند و همچنین به میزان قابل توجهی از قابلیت «توزیع» بهره میبرند. پایگاه دادههای توزیع شده، بر خلاف دیتابیسهایی که در یک ماشین واحد تعبیه شدهاند، قابل افزایش مقیاس هستند، کارایی زیادی دارند و شفافیت دادهها نیز در آنها ملموس است.
استفاده از پایگاه داده توزیع شده به گونهای موثر نیاز به اینکه دقیقاً بدانیم در پشت صحنه چه اتفاقی در حال رخ دادن است را به میزان زیادی از بین میبرد. علاوه بر این، اپلیکیشنهایی که به پایگاه داده های توزیع شده متصل هستند، تجربه کاربری بهتری را هم فراهم میسازند.
سیستم پایگاه داده توزیع شده چیست ؟
پایگاه دادههای توزیع شده اساساً سیستمهای توزیع شدهای به حساب میآیند که در آنها دستگاههای محاسباتی یا عنصرهای پردازشی (Processing Elements | PE) از طریق یک شبکه (مثل اینترنت) با هم ارتباط برقرار میکنند و با هم هماهنگ و همگام میشوند تا قابلیتهای عملکردی بسیاری از اجزا را به عنوان عملکردی واحد و یکتا به کاربر ارائه دهند.
دیتابیسها به طور کلی به منظور خدمت به عنوان مخازنی برای دادهها ایجاد شدهاند. وقتی پایگاه داده توزیع شده باشد، دادههایی که ذخیره میکند به همراه اجزایی که ذخیره و بازیابی اطلاعات را امکانپذیر میسازند، در میان تعداد زیادی از کامپیوترها یا «جایگاههای» (سایتهای) مختلف تکثیر میشوند. میتوان پایگاه داده های توزیع شده را به عنوان مجموعههایی از دادهها و مصنوعاتی منطقاً مرتبط واقع شده در دستگاههای محاسباتی سیستمهای توزیع شده در نظر گرفت.
برای نمونه، وقتی کاربری سعی در بازیابی دادهها از پایگاه دادهای توزیع شده به وسیله یک پُرسمان داشته باشد، نتیجه، مجموعه دادهای مرتبط با پرسمان انجام شده است که نمایی یکپارچه را از مخزن دادهها ارائه میدهد، در حالی که به لحاظ معماری، با سیستمی مرکب طرف هستیم.
پایگاه دادههای توزیع شده حتی بدون تمام خط مشیهای فاخر مربوط به تکثیر و جداسازیها، باز هم پایگاه داده به حساب میآیند. انواع پایگاه داده مبتنی بر زبان SQL به طور خودکار تعداد زیادی از شاخصها و تراکنشها را توزیع میکنند و همچنین دادهها از طریق پرسمان قابل بازیابی هستند. در اینجا منظور از «شاخصها» (Index) و «تراکنشها» (Transaction) مصنوعاتی است که محکم به بدنه SQL دوخته شده و با آن درآمیختهاند.
شاخصها یا همان Indexها در پایگاه داده مصنوعاتی هستند که به طور کلی عملکرد خوانایی پرسمانهای پایگاه داده را ارتقا و بهبود میدهند. آنها از آنچه بهره میبرند که به عنوان «جدولهای هش» (Hash Table) شناخته میشوند و ساختارهای دادهای کلید-مقداری هستند که امکان دسترسی به دادهها را به طور مدام فراهم میکنند تا سرعت و بهینگی خوانشهای دیتابیس را افزایش دهند. تاثیر عملکردی ایندکسها که اغلب در پشت صحنه فراخوانی میشوند، خصوصاً در وضعیتی که نیاز به دسترسی موازی کاربران داشته باشیم، میتواند بسیار قابل ملاحظه باشد.
از طرف دیگر، تراکنشها، واحدهای کاری (معمولاً دنبالههایی از پرسمانها) به حساب میآیند. این واحدهای کاری به گونهای اجرا میشوند که تمام عملیات اجرا شده به وسیله یک کاربر واحد یا در واقع هر عملیاتی در دنباله، دارای اثری آبشاری برای تمام کاربران است. تراکنشها به گونهای پردازش میشوند که در آنها هر عملیاتی به تمام کاربران پایگاه داده انتقال داده میشود. به این صورت که بهروزرسانیای به وسیله کاربری به همراه نام کاربری او طی یک بهروزرسانی برای همه افرادی قابل مشاهده شده است که با پروفایل آن کاربر در تعامل هستند.
به خاطر پایگاه داده توزیع شده است که کاربران فیسبوک میتوانند هر وقت دوست داشته باشند پست ارسال کنند یا پستهای دیگران را بپسندند و به اشتراک بگذارند. دیتابیس فیسبوک و اکثر سرویسهای این چنینی نیز در تعداد زیادی از نقاط جغرافیایی مختلف پراکنده شدهاند تا به کاربران تجربه دسترسی یگانه و مرکزی ارائه دهند.
پیش از ادامه کار، خوب است اشاره شود که کاربران به طور مستقیمتری با سیستمهای مدیریت پایگاه داده یا همان DBMSها تعامل میکنند. DBMS زیربنای توزیع شده پایگاه داده را به کاربران انتقال میدهد.
پایگاه داده توزیع شده همگن چیست ؟
«پایگاه داده توزیع شده همگن» (Homogenous Distributed Database) شبکهای از پایگاه های داده همسان است که در سایتهای (جایگاههای) مختلفی ذخیرهسازی شدهاند. این سایتها دارای سیستم عامل، DDBMS و ساختار داده یکسانی هستند که باعث میشود مدیریت آنها بسیار ساده شود.
با استفاده از روش پایگاه های داده توزیع شده همگن کاربران امکان خواهند داشت به دادههای هر یک از دیتابیسها به گونهای یکپارچه دسترسی داشته باشند.
پایگاه داده توزیع شده ناهمگن چیست ؟
در پایگاه داده توزیع شده «ناهمگن» «Heterogeneous» از «طرحوارهها» (اسکیماها)، سیستم عاملها، DDBMSها و مدلهای داده مختلفی استفاده میشود. در پایگاه های داده توزیع شده ناهمگن، یک سایت خاص ممکن است از وجود سایر سایتها باخبر نباشد که وجود محدودیت در همکاری برای پردازش درخواستهای کاربران میشود.
به دلیل همین محدودیتها است که نیاز به ترجمه برای برقراری ارتباط میان سایتها در پایگاه های داده توزیع شده ناهمگن وجود دارد. در نمودار و تصویر زیر مثالی از پایگاه داده ناهمگن ارائه شده است.
علت نیاز به استفاده از دیتابیس توزیع شده چیست ؟
سیستمهای مُدرن «تکگرهای» (Single Node) امروزی با مخازن داده متمرکز به منظور غلبه بر وابستگی دادهها به پایگاههای داده و اپلیکیشنها در گذشته طراحی شدهاند و بنابراین، دادهها از محدودیتهای منطقی و فیزیکی محل ذخیرهسازی خود رهایی یافتهاند.
اگرچه، حالا مشکل دیگری در خصوص این سیستمهای تکگرهای به وجود آمده است؛ متمرکزسازی در چنین تشکیلاتی محصول ترکیب اجزای گرههای متعدد نیست، بلکه در عوض به طور خالص حاصل عملکرد قابلیتهای پردازشی ماشین میزبان است. بر این اساس، تمام قابلیتها، عملکردها، حجم دادهها و مقیاسبندی افزوده به وسیله ظرفیتهای محاسباتی در محدودیت قرار میگیرند که به زوال سریع، پاسخ رویداد-به-بینش و افزایش هزینههای عملیاتی منجر میشود.
اگرچه، در تشکیلات تکگرهای، دسترسی چندگانه و مقیاسبندی عمودی صعودی به لحاظ فنی امکانپذیر است، اما بدون توزیع، کمبود تحمل خطا نسبت به داشتن یک نقطه شکست زوالپذیرِ واحد (سیستمی یگانه) و محدودیتهای پردازشی حالت تکگرهای با در نظر گرفتن مقیاس بسیار بالای ذخیرهسازی دادهها در دنیای امروزی میتواند بسیار محدود کننده باشد.
پایگاه های داده توزیع شده بر محدودیتهای عملکردی سیستمهای تکگرهای به وسیله فراهم کردن متمرکزسازی دادهها از طریق ادغام بسیاری از عناصر داده توزیع شده در محلهای مختلف غلبه کردهاند. بنابراین، مقیاس و عملکرد به احتمال زیاد واضحترین مزایای سیستمهای توزیع شده به حساب میآیند و علاوه بر این، ارزش قابل ملاحظهای نیز در خصوص پایایی و شفافیت دادهها در پایگاه داده های توزیع شده وجود دارد.
کارایی بالای پایگاه داده توزیع شده به چه علت است؟
کارایی بهبودیافته پایگاه داده های توزیع شده دارای ۲ بُعد است، یکی «Fragmentation» یعنی قطعه قطعه بودن یا تجزیه شدن و دیگری «Parallelism» به معنای «موازی بودن» است. در ادامه به شرح هر یک از این دو بُعد مرتبط با به پرفورمنس یا کارایی دیتابیس توزیع شده پرداخته میشود.
بُعد Fragmentation یا قطعه قطعه بودن در پایگاه داده توزیع شده چیست ؟
پایگاه داده های توزیع شده به عنوان قطعاتی از دادهها به حساب میآیند که در جای جای یک شبکه در پایگاههایی نزدیک به نقطه استفادهشان ذخیرهسازی شدهاند. بنابراین، مثلاً یک فروشگاه زنجیرهای که شعبههایی در چندین محل دارد، دادههای خاص مربوط به هر شعبه را در بخشی از شبکه ذخیرهسازی خواهد کرد که نزدیکترین فاصله را با محل استفاده دارند. محلی بودن دادهها یعنی همجواری دادهها با محل استفاده، تاخیر را در تشکیلات توزیع شده کاهش میدهد و اغلب منتج به امکان انجام پرسمانهای سریعتر میشود.
بُعد Parallelism یا موازی بودن در پایگاه داده توزیع شده چیست ؟
موازی بودن، مدلی محاسباتی است که در عملکرد پایگاه داده های توزیع شده تعبیه شده است. اجرای پردازشها به صورت موازی اغلب یعنی آنها را با هم و تقریباً به طور دقیق در یک لحظه و همزمان (معمولاً در دنبالههایی جایگذاری شده) اجرا کنیم. هدف از موازیسازی، افزایش نرخی است که طی آن دادههای منتج از پردازشها تولید میشوند.
مثلاً وقتی ویدیویی را در فیسبوک پخش میکنیم و در همان لحظه به طور فعالانه داریم با دوست خود به وسیله پنجرهی بازِ گفتگو، تبادل نظر میکنیم، در واقع به طور موثر در حال لذت بردن از تجربه حاصل شده از نوعی موازیسازی هستیم. در سطح دانهای، پایگاه های داده توزیع شده پرسمانها را برای تولید مجموعه دادههای مرتبط با آن پرسمان و ارائه دسترسی داده به کاربران به میزان بسیار سریعتر به صورت موازی اجرا میکنند.
مزیت قابلیت مقیاس پذیری در پایگاه داده توزیع شده چیست ؟
«تنظیم مقیاس» (Scaling) یا به بیان دقیقتر، «Scaling-Out» اغلب با کارایی و میزان عملکرد ارتباط دارد و به طور پذیرا با استفاده از توزیع قابل دستیابی است. روش Scaling-Out که آن را با عنوان «مقیاسبندی افقی» (Horizontal Scaling) هم میشناسیم، شامل افزایش قدرت سیستم توزیع شده (در این مورد، منظور همان پایگاه داده توزیع شده) به وسیله افزایش قابلیتهای پردازشی و ظرفیت ذخیرهسازی آن، اغلب از طریق افزودن دستگاههای محاسباتی کارآمد میشود.
قدرت محاسباتی دیتابیسهای توزیع شده را میتوان از طریق افزودن سرورهای پایگاه داده بیشتر (با قابلیتهای پردازشی و دیسکی بیشتر) افزایش داد. در اینجا قدرت مقیاسبندی از طریق قابلیتهای پردازشی جمعی در شبکه ابراز میشود.
مزیت قابلیت اطمینان بیشتر در دیتابیس های توزیع شده
در سیستمهای پایگاه داده توزیع شده در دسترس بودن و قابل اطمینان بودن معمولاً به وسیله همانندسازی تضمین میشود. منظور از «همانندسازی» (Replication)، تکثیر مصنوعات پایگاه داده در نقاط مختلف در درون سیستم است. در پایگاه داده توزیع شده، نقطه شکست واحد وجود ندارد. بنابراین، هر وقت در یک دیتابیس توزیع شده، کانالی ارتباطی یا جزئی در شبکه دچار مشکل شود، کاربر یکی از کپیهای برابر اصل از دادههای پرسمان شده را دریافت خواهد کرد، که در غیر اینصورت، به خاطر بروز اشکال، غیر قابل دسترسی میبود.
به وسیله این همانندسازی اطمینان حاصل میشود که پایگاه دادههای توزیع شده به طور دائم بر حسب تقاضا در دسترس هستند. مهمتر از آن، همچنین اطمینان حاصل میشود که هر کاربر اینطور فکر میکند که دسترسی ویژه و اختصاصی به دادهها دارد. در حالی که اینطور نیست و هر کاربر تنها یکی از چندین کاربری خواهد بود که با کپیهای برابر اصل مختلف تعامل میکنند. در واقع برای کاربران اینگونه به نظر میرسد که در حال کار روی ماشینی بدون اتصال به شبکه با دسترسی واحد و مستقیم به سرور پایگاه داده هستند.
مزیت شفافیت در پایگاه داده توزیع شده چیست ؟
شفافیت مفهومی فنی است که به درستی مقوله تفکیک دغدغههایی ارائه شده به وسیله پایگاه داده توزیع شده به کاربران را توصیف میکند. بانکهای اطلاعاتی توزیع شده به گونهای طراحی شدهاند تا ساز و کارهای پیچیده داخلی خود را از کاربرانشان پنهان کنند و تنها دادههایی را ارائه دهند که توسط کاربران درخواست شدهاند. در عین حال، کاربرانی که به ساز وکارهای مربوطه علاقهمند هستند، میتوانند از زبان پرسمان سطح بالایی استفاده کنند و به وسیله آن میتوانند قوانین ذخیرهسازی و پرسمان مورد نظر خود را ابراز و اعمال کنند.
شفافیت بر پایه مفهوم استقلال داده شکل گرفته است و در آن کاربر میتواند نمایی یکه و واحد را از دادههای درخواستی خود بدون بازنمایی منطقی یا فیزیکی آن مشاهده کند. پایگاه داده های توزیع یافته به میزان زیادی تقسیمبندی شده هستند.
به وسیله بانکهای اطلاعاتی توزیع شده معماران میتوانند جزئیات بهتری را از دادههای همانندسازی شده، قطعهبندی شده و ادغام شده در داخل شبکههای با محدوده وسیع (WAN) در اختیار داشته باشند. همچنین با استفاده از پایگاه دادههای توزیع شده نماهایی متمرکز از دادهها در پرسمانهای کاربران به آنها ارائه میشود.
کاربرد پایگاه داده توزیع شده چیست ؟
با توجه به مزیتها و نقاط قوتی که پیش از این شرح داده شدند، سیستمهای پایگاه داده توزیع شده به طور رایج در فعالیتهایی کاربرد دارند که در آنها به میزان زیادی نیاز به کار با دادهها وجود دارد و از دادههای حجیم استفاده میشود. از جمله چنین فعالیتها و حوزههایی میتوان به سیستمهای شناسایی کلاهبرداری (تشخیص ناهنجاری)، تجزیه و تحلیل لحظهای دادهها و تشخیص چهره اشاره کرد.
کاربرد دیتابیس توزیع شده در تشخیص کلاه برداری چیست ؟
پایگاه داده های توزیع شده به عنوان مخازن دیتابیسدر تشخیص کلاهبرداری استفاده میشوند که به لحاظ محاسباتی یکی از پیچیدهترین و سنگینترین حوزهها به حساب میآید. تشخیص کلاهبرداری معمولاً شامل استفاده از یادگیری ماشین برای شناسایی، نظارت و هماهنگی واکنشها به رخداد تخلفهای فریبنده میشود. چنین سیستمهایی از تحمل خطا در دیتابیس های توزیع شده برای مدیریت دفتر حساب تهدیدهای شناسایی شده استفاده میکنند.
کاربرد پایگاه داده توزیع شده در تجزیه و تحلیل بلادرنگ چیست ؟
با تجزیه و تحلیل بلادرنگ در درجه اول به محض جمعآوری دادهها، دغدغه بدست آوردن بینشهایی را در آنها داریم. داشبوردهای بلادرنگ که به وسیله آنها مصورسازی دادههای جمعآوری شده بلافاصله بعد از پردازش از چندین منبع مختلف ارائه میشود، بخش زیادی از سرعتشان را مدیون نزدیک بودن به هر یک از چندین نسخه برابر اصل در سیستمی توزیع شده هستند.
کاربرد پایگاه داده توزیع شده در تشخیص چهره چیست ؟
درست شبیه به تجزیه و تحلیل برخط، تشخیص چهره نیز در صورتی به بهترین نحو قابل پیادهسازی خواهد بود که از پایگاه داده توزیع شده با سرعت بالا و به منظور تضمین در دسترس بودن دادهها به وسیله کُپیهای نزدیک به محل استفاده شود.
تشخیص چهره رویکردی در حوزه یادگیری ماشین به حساب میآید که در آن چهره افراد در محتواهای تصویری مثل عکس، تصویر لحظهای از فریمهای ویدیو یا سایر مواردی از این دست با تعداد زیادی از تصاویر در یک پایگاه داده بزرگ از تصاویر با هدف شناسایی اشخاص مطابقت داده میشود.
پایگاه داده توزیع شده چه خصوصیت هایی باید داشته باشد؟
دیتابیسهای توزیع شده به واسطه توانایی آنها به منظور چیرگی بر مشکلات خاصی در طراحی، ارزندگی قابل توجهی را ارائه میدهند. جدای از اینکه در آنها دادهها تنها در «گرهای» (Node) واحد انبار نمیشوند، سیستم پایگاه داده توزیع شده باید بتواند چالشهای مربوط به ذخیره دادههای تکراری (افزونگی داده) و اجرای پرسمانها به گونهای از هم گسیخته را هدف قرار دهد. علاوهبر این، دیتابیس توزیع شده باید به صورت کلی دارای امنیت بالایی باشد و همچنین ادغام آن در برنامههای کاربردی نیز باید آسان و مقرون به صرفه باشد.
ذخیره سازی داده ها به صورت توزیع شده چگونه انجام می شود؟
ذخیرهسازی دادهها در پایگاه دادههای توزیع شده باید نیازهای قابلیت اطمینان و استحکام و انسجام در امر توزیع را برآورده سازد و هر گونه قانون مورد نظر و دلخواهی را برقرار کند که در هر زبان مدیریت داده مطلوبی ابراز شده است. قابلیت اطمینان و پایایی را میتوان به عنوان معیاری از «زمان کار» (Uptime) یک سیستم توزیع شده در نظر گرفت.
در صورت بروز خرابی، سیستمهای دیتابیس توزیع شده باید بتوانند بازیابی عملکرد را در سایتهایی انجام دهند که دچار مشکل شدهاند. «ثُبات و استحکام» (Consistency) به انسجام ساختاری دادههای انتقال داده شده میان واحدهای متصل در سیستمی توزیع شده در لحظه زمانی مشخص باز میگردد.
در سیستمهای توزیع شده باید اطمینان حاصل شود که هر یک از بخشها به خوبی با هم همگامسازی شدهاند تا کاربران بتوانند از طریق پرسمانهای یکسان به دادههای یکسانی فارق از موقعیت جغرافیایی دسترسی پیدا کنند. ثبات و پایداری کلی هر سیستم پایگاه داده توزیع شده به وسیله میزان همگام بودن هر بخش مشخص میشود که این میزان دقت و به روز بودن دادههای در دسترس کاربران را تحت تاثیر قرار میدهد.
نیاز است سیستمهای پایگاه داده توزیع شده به کاربران روشهای بهینهای را برای تعامل با دادههای ذخیره شده ارائه دهند و کاربران بتوانند شرایط مربوط به ذخیرهسازی آن دادهها را تحت کنترل داشته باشند. در فناوریِ مدیریت مُدرن دادهها، این مهم به وسیله جمعآوری، پردازش، تایید اعتبار، ذخیرهسازی و ادغام دادهها از منابعی متعدد محقق میشود. پایگاه دادههای رابطهای استانداردی برای مدیریت دادهها هستند و SQL محبوبتترین سینتکس و زبان در دیتابیسهای رابطهای دارای شاخههای فروشنده متعدد بوده است.
در حالی که فناوری SQL به دلیل رویکرد «یک اندازه برای همه» با کمی فاصلهگیری نسبت به سینتکسی نسبتاً سفت و سخت، همچنان جایگاهش را به عنوان یک فناوری برجسته حفظ کرده است. سایر خط مشیهای امروزی در مدیریت دادهها شامل NewSQL ،NoSQL و SQL توزیع شده (distributed SQL) هستند که در ادامه هر یک را به اختصار شرح میدهیم.
NoSQL چیست ؟
NoSQL کوتهواژهای برای عبارت «Not only SQL» به معنی «بیش از SQL صرف» است. NoSQL شامل ذخیرهگاههای داده و مدلهایی میشود که با SQL سازگار نیستند.
این نوع فناوری به عنوان واکنشی به انعطافناپذیری SQL توسعه داده شده است و در آن تاکید بر تحمل خرابی و زمان کار مداوم، تقریباً به قیمت از دست رفتن نسبی ثبات و پایداری وجود دارد.
NewSQL چیست ؟
در NewSQL مقیاسپذیری NoSQL با ثبات و استحکام SQL سنتی ترکیب شده است. NewSQL نوعی سیستم دیتابیس منحصربفرد است که تطابق و مطلوبیت ACID را با مقیاسبندی افقی ترکیب میکند. در این سیستم پایگاه داده تلاش میشود تا بهترینهای هر دو جهان حفظ شوند. تراکنشهای مبتنی بر OLTP و کارایی زیاد NoSQL در این سیستم با هم ترکیب شدهاند.
SQL توزیع شده چیست ؟
سیستمهای مدیریت دیتابیس توزیع شده دیتابیس رابطهای واحدی را در طول یک شبکه در میان چندین گره تکثیر میکنند. آنها از یک API اسکیوال مشابه سیستمهای مدیریت دیتابیس SQL تکگرهای استفاده میکنند، اما مقیاسبندی و عملکرد آنها به میزان زیادی بهتر است.
به بیان ساده، سیستم مدیریت پایگاه داده توزیع شده دیتابیسی است که ۲ یا بیش از ۲ فایل واقع در محلهای مختلف، یا در شبکهای یکسان یا در شبکههایی کاملاً متفاوت را شامل میشود. بخشهایی از دیتابیس در چندین محدوده فیزیکی مختلف ذخیره شدهاند و پردازشها در میان چندین گره از دیتابیس توزیع میشوند.
اجرای پرسمان توزیع شده چیست ؟
«قطعهبندی» (Fragmentation) جنبهای محوری در پایگاه دادههای توزیع شده به حساب میآید. در حالی که به وسیله قطعهبندی یا قطعهقطعهسازی اطمینان حاصل میشود که دادهها در نزدیکترین موقعیت ممکن با کاربران درخواست کننده قرار دارند، در این مفهوم، ادغامسازیهای مورد نیاز برای پرسمانهای دانهای و مصنوعات داده یا همان قطعهها چالشبرانگیز هستند.
اولین چالش مربوط به بحث عملکرد و کارایی میشود، زیرا توزیعسازی هزینهای سنگین از لحاظ دیسک، CPU و توان عملیاتی شبکه ارتباطی را به دنبال دارد. دومین چالش، ادغام مصنوعات پایگاه داده است تا بتوان به طور موثر پرسمان کاربری سطح بالایی را اجرا کرد. این مسئله، دشواری در ارائه و نمایش زبان پرسمان سطح بالا به عنوان عملیات کار روی دادهها به صورت دانهای در هر جایگاه (سایت) را تعریف میکند.
یک سیستم توزیع شده پایگاه داده باید بتواند به طور موثر و بهینه سینتکس سطح بالای پرسمانهایش را به عملیات کاری کوچک متناظر با قطعاتش تبدیل کند. پردازش یا اجرای پرسمان توزیع شده بهینهترین خطمشی ادغامسازی را برای پرسمانهای سطح بالا انتخاب میکند. بنابر پیچیدگی پردازش، سیستمهای توزیع شده دیتابیسها، از پردازشگر پرسمان برای تجزیه و قطعهبندی SQL سطح بالا به اپراتورهای کوچکتر پایگاه داده استفاده میشود، چون اجرای آنها آسانتر است و آنها از منابع در دسترس ورودی/خروجی و CPU بهینهتر استفاده میکنند.
مزیت امنیت در پایگاه داده توزیع شده چیست ؟
با توجه به اینکه سیستمهای توزیع شده پایگاه داده نرمافزارهایی تجاری هستند، لازم است در آنها دسترسی ایمن اظهار شده برای احراز هویت و صدور مجوز به گونهای سختگیرانه فراهم شده باشد. به دلیل اینکه امنیت یکی از اصلیترین قابلیتهای فضای «ابری» (Cloud) به حساب میآید و خدمات پایگاه دادههای توزیع شده نیز اغلب از طریق فناوری ابری ارائه میشوند، هر سیستم دیتابیس توزیع شدهای در سطح تجاری باید دادههایش را پشت لایههای مورد نیاز برای تایید هویت و صدور مجوز ایمنسازی کند.
چرا مجتمع سازی و ادغام در پایگاه داده توزیع شده آسان تر است؟
پایگاه دادههای توزیع شده برای توسعه و استفاده از اپلیکیشنها، خصوصاً در مورد اپلیکیشنهایی که با دادههای حجیم سر و کار دارند، بسیار حیاتی هستند. بر این اساس، در این نوع پایگاه دادهها باید امکان پرسمان به وسیله اپلیکیشنهایی که دادههایشان در این دیتابیسها ذخیره میشوند در آنها وجود داشته باشد.
یک API متحد و یکپارچه کننده مثل SQL بازیابی دادهها، بهروزرسانی، ذخیرهسازی و حذف دادهها و در کل تمام عملیات CRUD را برای برنامهنویسان به فرایندی آسان تبدیل میکند، برنامهنویسانی که پرسمانهای دیتابیس خود را از طریق نگاشتگرهای شی-رابطهای یا همان ORMها جایگزین میکنند.
چرا استفاده از پایگاه داده های توزیع شده مقرون به صرفه است ؟
سیستمهای پایگاه داده توزیع شده باید به دنبال این باشند که به کاربرانشان، خصوصاً ادمینهای پایگاه داده، امکان مدیریت لازم را در خصوص کنترل عملیات مهم سیستم دیتابیس از قبیل بهروزرسانیهای سرور و حسابرسیهای دادهها ارائه دهند. فراهم کنندگان سیستمهای دیتابیس توزیع شده باید به دنبال این باشند که بینشهایی را در خصوص پرسمانهای بهینه و سایر مصنوعات مرتبط فراهم کنند. بهینهسازی در این مورد، میتواند به کاربران کمک کند تا بیشتر هزینههایشان را کاهش دهند. مخصوصاً اگر این فراهمکنندگان قیمتهای خرید مقرون بهصرفهای را برای ذخیرهسازی ابری پیشنهاد بدهند و نیاز به اجرا و استقرار عملیات داده پیچیده و گران قیمت را از بین ببرند.
جمعبندی
پایگاه های داده توزیع شده اساساً مجموعههایی از دادههای منطقاً مرتبط و مصنوعات دیتابیسی هستند که در گرههایی از سیستم توزیع شده واقع شدهاند که به این گرهها، «Site» (جایگاه | مقر | محل | سایت) هم میگویند. پایگاه دادههای توزیع شده بر وابستگی منطقی و فیزیکی به دادهها موجود در مدلهای محاسباتی اولیه چیره شدهاند و از محدودیتهای مقیاسبندی و پردازشی موجود در دیتابیسهای متمرکز محبوس در توان پردازشی تکگرهای عبور کردهاند.
دیتابیسهای توزیع شده دارای ۴ مزیت اصلی متمایز، شامل مقیاسبندی، عملکرد، قابلیت اطمینان و شفافیت هستند که این نقاط قوت باعث میشوند دیتابیسهای توزیع شده برای کاربردهای نیازمند دادههای فراوان، از جمله تشخیص کلاهبرداری آنی، تجزیه و تحلیل، تشخیص چهره و سایر موارد ایدهال باشند.
هر پایگاه داده تحت شبکهای را نمیتوان پایگاه داده توزیع شده نامید. در واقع برای جای گرفتن یک دیتابیس در دسته پایگاه داده های توزیع شده، پیششرطهایی شامل ذخیرهسازی توزیع شده دادهها و اجرای پرسمان، امنیت، یک API پرسمان یکپارچه و بهینهسازی هزینهها باید وجود داشته باشند.