رایانش ابری(پایگاه داده بخش دوم)
4.5 ملاحضات در هنگام انتخاب يك پايگاه داده مبتني بر ابر
با معماريهاي مختلف از پايگاه داده مبتني بر ابر، تعدادي از ملاحظات وجود دارد كه كاربران بايد موقع انتخاب به استفاده از يك سيستم پايگاه داده مبتني بر ابر در نظر بگيرند:
4.5.1 قابليت حمل
حركت به يك سيستم پايگاه داده مبتني بر ابر به اين معني است كه كاربران نياز است دادههاي موجودشان را از پايگاه داده اخير به ابر انتقال دهند. خصوصا با سازمانهايي كه درحالحاضر از پايگاه داده سنتي استفاده ميكنند و دادههاي موجود زيادي دارند، قابليت حمل واقعا نياز است. براي اين سازمانها كه برخي سيستم پايگاهداده رابطهاي را بر روي ابر انتخاب ميكنند، نظير خدمات پايگاهدادهاي رابطهاي آمازون(كه از پايگاه دادههاي اوراكل و MySQL پشتيباني ميكنند، با خصوصيت وارد و خارج كردن) يا SQL ابر گوگل(كه در حال حاضر در مرحله پيش نمايش محدود است، كه همچنين از وارد و خارج كردن فايلهاي موجود پشتيباني ميكند) يك راهحل معقول است. علاوه بر اين، احتمال مهاجرت پايگاه داده از يك ارائهدهنده محاسبات ابري به ديگري، يا حتي از يك ارئهدهنده محاسبات ابري به يك سرويسدهنده شخصياش، اهميت دارد. ممكن است شرايط غير منتظرهاي كه وجود دارد رخ دهد، اجبار كاربر كه ارائهدهنده محاسبات ابري اخير را رها كند و به سوي ديگري حركت كند. لذا، قبل از تسويه واقعي بر روي يك پايگاه داده خاص از يك ارائهدهنده محاسبات ابري خاص، كاربر نياز است كه در نظر بگيرد اگر آنها بتوانند به راحتي برنامههايشان را حمل كنند و كد پايگاه دادهاش را بعد از آنها اجرا كنند.
4.5.2 قابليت اطمينان و در دسترس بودن
براي پايگاه داده قابليت اطمينان و در دسترس بودن لازم است، يك پايگاه داده مبتني بر ابر كه تكرار دادههايي كه واقعا مهم است را پيشنهاد ميدهد.
براي مثال، خدمات پايگاه داده رابطهاي آمازون پيشنهاد ميدهد يك خصوصيتي كه ميتواند به اطمينان از قابليت اطمينان براي دادهها كمك كند: استقرار چند حرفي A_Z. هنگامي كه اين كاربر را قادر ميسازد و اجرا ميكند نمونههايشان را به عنوان يك نمونه چند حرفي A_Z ، RDS آمازون به طور خودكار ايجاد و مديريت يه كپي آماده به كار در يك منطقه قابل دسترس متفاوت را خواهد كرد. به روز رساني پايگاه داده برروي هر دو پايگاه داده اصلي و آماده به كار در يك زمان انجام ميگيرد. پايگاه داده آماده به كار نميتواند براي خدمت خواندن تردد استفاده شود، اما آن ميتواند به تغيير مكان در مورد نگهداري پايگاهداده اصلي يا شكست پايگاه داده نمونه استفاده شود. آن به اطمينان از قابليت اطمينان و دردسترس بودن براي سيستم پايگاه داده براي محافظت از هر حادثهاي كمك ميكند. SQL ابر گوگل همچنين به تهيه كردن براي پايگاه داده با برنامه تكرار زياد طراحي شده است، زيرا آن با پشتيباني ذاتي براي تكرار داده در مناطق قابل دسترس مختلف طراحي شده است. ذخيرهكننده گوگل (يك سيستم پايگاه داده غيررابطهاي) مدلهاي ذخيرهكننده پرتكرار را پيشنهاد ميدهند، از معماري Paxos به افزايش قابليت اطمينان و دردسترسبودن براي سيستم پايگاه داده استفاده ميكند. اما، با پايگاه دادهاي كه دادههاي پرتكرار نياز ندارند، با استفاده از خدمات پايگاه داده با اين خصوصيات بد ميتواند عملكرد برنامه را تحت تاثير قرار دهد.
4.5.3 مقياس پذيري
مقياسپذيري يك دليل اصلي است چرا كه شركتها بايد استفاده از سيستم پايگاه داده مبتني بر ابر را در نظر بگيرند، براي اينكه بيشترين سيستمهاي پايگاه داده مبتني بر ابر عرضه ميكنند به كاربران كه با مقياسپذيري آسانتر از سيستمهاي پايگاه داده سنتي طراحي شدهاند. براي كاربران با برخي سيستمهاي پايگاه دادهاي موجود، كه فقط ميخواهند عملكرد پايگاه دادهشان را بهتر كنند، و راهحل هاي مفيد ابر را بدست آورند، اما در يك زمان نياز به عمليات تراكنشهاي پيچيده(از جمله پيوستن پرسوجو) و ارتباطهاي پيچيده در ميان دادهها در پايگاهدادههاي خود، راه حل تغيير مكان سيستم پايگاه داده موجودشان به يك خدمت ابر شبيه خدمت پايگاه داده رابطهاي آمازون يا SQL ابر گوگل يك گزينه بزرگ براي تصميم گيري است. اما، براي برنامههايي كه واقعا تقاضاي عملكرد و مقياسپذيري به جاي عمليات پايگاه داده پيچيده دارند، يا دادههايي ذخيره شدهاند كه ساختار خوبي ندارند، هيچ سيستم پايگاه دادهاي رابطهاي، با توجه به ماهيت ذاتي از پايگاه داده رابطهاي، نميخواهد به خوبي به عنوان سيستم پايگاه داده غيررابطهاي براي مقدار زيادي از دادهها عمل كند. بنابراين، يك راهحل پايگاه داده غيررابطهاي بر روي ابر نظير پايگاه داده توليدي(از آمازون) يا ذخيرهكننده گوگل(براي موتور برنامه گوگل استفاده ميشود) بسيار زياد مناسبتر است. براي پايگاه داده توليدي آمازون، تمام كاربران نياز به تعيين سطح ترافيك دارند آنهايي كه مايل به خدمت هستند، و آمازون مراقبت خواهد كرد از تمام كارهاي سيستم مقياس پذيري شده براي اطمينان از برنامه ابر به سطح ترافيك مورد نظر خدمت كنند.
4.5.4 برنامه نويسي محيطي
گذشته از تصميم گيري به استفاده از پايگاه داده رابطهاي يا غيررابطهاي يا با چه معماري پايگاه داده بايد ساخته شود، كاربران همچنين بايد نگران باشند در مورد محيطهاي برنامهنويسي كه با پايگاه داده ميآيند. اين به خاطر اين است كه محيطهاي برنامه نويسي كمك به سرعت درك از عمليات پايگاه داده از طرف مشتري و احتمال تغيير مكان از بانك اطلاعاتي شما را ميدهند. پايگاه دادههاي مختلف ميتوانند توسط زبانهاي برنامهنويسي خاص و رابطهاي برنامهكاربردي خود دسترسي پيدا كنند. براي مثال، موقعي كه از پايگاه داده غيررابطهاي موتور برنامه گوگل استفاده ميكنيم(ذخيرهكننده گوگل)، كاربر ميتواند فقط با استفاده از جاوا يا پيتون به آن دسترسي داشته باشد، حتي گرچه گوگل گفته است كه برنامهريزي كرده تا در آينده زبانهاي بيشتري را پشتيباني كند. اما، اگر با استفاده از ميزباني MySQL در خدمات وبسايت آمازون باشد، كاربر قادر به استفاده بيشمار از زبانهاي برنامهنويسي نظير C#، ويژوال بيسيك و جاوا است. زمان اجراي برنامههاي كد شده در اين زبانهاي مختلف متفاوت است، تاثير تجربه كاربر نهايي، زيرا اطلاعات مبادلهاي از مشتري-سرويسدهنده و سرويسدهنده-پايگاهداده بيشتر به محيطهاي برنامهنويسي بستگي دارد.