این مقاله مروری بر چندین مورد استفاده رایج برای Azure Cosmos DB ارائه می دهد. توصیه های این مقاله به عنوان نقطه شروعی برای توسعه برنامه خود با Azure Cosmos DB عمل می کند.
پس از مطالعه این مقاله، می توانید به سوالات زیر پاسخ دهید:
- موارد استفاده رایج برای Azure Cosmos DB چیست؟
- مزایای استفاده از Azure Cosmos DB برای برنامه های خرده فروشی چیست؟
- مزایای استفاده از Azure Cosmos DB به عنوان یک فروشگاه داده برای سیستم های اینترنت اشیا (IoT) چیست؟
- مزایای استفاده از Azure Cosmos DB برای برنامه های تحت وب و موبایل چیست؟
مقدمه
Azure Cosmos DB راه حل Azure برای پایگاه داده سریع NoSQL با APIهای باز برای هر مقیاسی است. این سرویس به گونهای طراحی شده است که به مشتریان اجازه میدهد تا به طور الاستیک (و مستقل) ظرفیت و ذخیرهسازی را در هر تعداد از مناطق جغرافیایی مقیاس کنند. Azure Cosmos DB اولین سرویس پایگاه داده توزیع شده در سطح جهانی در بازار امروز است که توافق نامه های سطح خدمات جامع شامل توان عملیاتی، تأخیر، در دسترس بودن و ثبات را ارائه می دهد.
Azure Cosmos DB یک پایگاه داده چند مدل توزیع شده جهانی است که در طیف گسترده ای از برنامه ها و موارد استفاده استفاده می شود. این یک انتخاب خوب برای هر برنامه بدون سروری است که به زمان پاسخ دهی پایینی در حد میلی ثانیه نیاز دارد و نیاز به مقیاس سریع و جهانی دارد. این مدل از چندین مدل داده (کلید-مقدار، اسناد، نمودارها و ستونی) و بسیاری از Azure Cosmos DB API برای دسترسی به داده ها از جمله API برای MongoDB، API برای NoSQL، API برای Gremlin، و API برای Table به صورت بومی و به شیوه ای قابل توسعه پشتیبانی می کند.
موارد زیر برخی از ویژگیهای Azure Cosmos DB است که آن را برای برنامههای کاربردی با کارایی بالا با جاهطلبی جهانی مناسب میسازد.
- Azure Cosmos DB داده های شما را به صورت بومی برای دسترسی و مقیاس پذیری بالا پارتیشن بندی می کند. Azure Cosmos DB 99. 99% ضمانت در دسترس بودن، توان عملیاتی، تأخیر کم و ثبات را در همه حسابهای تک منطقهای و همه حسابهای چند منطقهای با ثبات آرام و 99. 999% در دسترس بودن خواندن در همه حسابهای پایگاه داده چند منطقهای ارائه میدهد.
- Azure Cosmos DB دارای فضای ذخیرهسازی با پشتیبانی از SSD با زمان پاسخدهی به ترتیب میلیثانیه با تأخیر پایین است.
- پشتیبانی Azure Cosmos DB از سطوح سازگاری مانند پیشوند نهایی، ثابت، جلسه، و بیات بودن محدود به انعطافپذیری کامل و نسبت هزینه به عملکرد پایین اجازه میدهد. هیچ سرویس پایگاه داده ای به اندازه Azure Cosmos DB در سازگاری سطوح انعطاف پذیری ارائه نمی دهد.
- Azure Cosmos DB دارای یک مدل قیمت گذاری با داده های انعطاف پذیر است که به طور مستقل از ذخیره سازی و توان استفاده می کند.
- مدل توان محفوظ رزرو شده Azure Cosmos DB به شما امکان می دهد از نظر تعداد خواندن/نوشتن به جای CPU/Memory/IOPS سخت افزار اساسی فکر کنید.
- طراحی Azure Cosmos DB به شما امکان می دهد تا به ترتیب تریلیون درخواست ها در روز ، حجم درخواست های گسترده را به دست آورید.
این ویژگی ها در برنامه های وب ، موبایل ، بازی و IoT مفید هستند که به زمان پاسخگویی کم نیاز دارند و نیاز به رسیدگی به مقادیر گسترده خواندن و نوشتن دارند.
IoT و Telematics
IoT از مواردی استفاده می کند که معمولاً برخی از الگوهای را در نحوه مصرف ، پردازش و ذخیره داده ها به اشتراک می گذارند. اول ، این سیستم ها باید داده های از سنسورهای دستگاه محلی های مختلف را پشت سر بگذارند. در مرحله بعد ، این سیستم ها داده های جریان را برای به دست آوردن بینش در زمان واقعی انجام می دهند و تجزیه و تحلیل می کنند. سپس داده ها برای ذخیره سازی سرد برای تجزیه و تحلیل دسته ای بایگانی می شوند. Microsoft Azure خدمات غنی را ارائه می دهد که می تواند برای موارد استفاده IoT از جمله Azure Cosmos DB ، Hubs Event Azure ، Azure Stream Analytics ، Hub Notification Azure ، Learning Machine Azure ، Azure HDInsight و Power BI استفاده شود.
پشت سر هم داده ها را می توان توسط قطب های رویداد لاجورد مصرف کرد زیرا این ماده با تاخیر کم مصرف داده های توان خود را ارائه می دهد. داده های مصرف شده که برای بینش در زمان واقعی باید پردازش شوند ، می توانند برای تجزیه و تحلیل در زمان واقعی به تجزیه و تحلیل جریان لاجورد تبدیل شوند. داده ها را می توان در Azure Cosmos DB برای پرس و جو ADHOC بارگیری کرد. پس از بارگیری داده ها در Azure Cosmos DB ، داده ها آماده پرس و جو هستند. علاوه بر این ، داده های جدید و تغییر در داده های موجود را می توان در مورد تغییر فید خوانده شد. تغییر فید یک ورود مداوم است و فقط به آن پیوسته است که به ترتیب پی در پی تغییر در ظروف Azure Cosmos DB را ذخیره می کند. سپس تمام داده ها یا فقط در داده های موجود در Azure Cosmos DB می توانند به عنوان بخشی از تجزیه و تحلیل در زمان واقعی استفاده شوند. علاوه بر این ، داده ها می توانند با اتصال داده های Azure Cosmos DB به HDInsight برای خوک ، کندو ، یا نقشه/کاهش شغل ، تصفیه و پردازش شوند. داده های تصفیه شده سپس برای گزارش دهی به Azure Cosmos DB بارگذاری می شوند.
برای یک راه حل IoT نمونه با استفاده از Azure Cosmos DB ، مراکز رویداد و طوفان آپاچی ، به مخزن HDInsight-Storm-Examples در GitHub مراجعه کنید.
برای کسب اطلاعات بیشتر در مورد پیشنهادات لاجورد برای IoT ، به ایجاد اینترنت چیزهای خود مراجعه کنید.
خرده فروشی و بازاریابی
Azure Cosmos DB به طور گسترده در سیستم عامل های تجارت الکترونیکی خود مایکروسافت استفاده می شود که Windows Store و Xbox Live را اجرا می کنند. همچنین در صنعت خرده فروشی برای ذخیره داده های کاتالوگ و برای تهیه منابع به منظور پردازش خطوط لوله استفاده می شود.
سناریوهای استفاده از داده های کاتالوگ شامل ذخیره و پرس و جو مجموعه ای از ویژگی ها برای موجودیت هایی مانند افراد، مکان ها و محصولات است. برخی از نمونههای دادههای کاتالوگ عبارتند از: حسابهای کاربری، کاتالوگ محصولات، ثبت دستگاههای اینترنت اشیا و سیستمهای صورتحساب مواد. ویژگیهای این دادهها ممکن است متفاوت باشد و میتواند در طول زمان برای مطابقت با الزامات برنامه تغییر کند.
نمونه ای از کاتالوگ محصول برای تامین کننده قطعات خودرو را در نظر بگیرید. هر بخش ممکن است علاوه بر ویژگی های مشترکی که همه قسمت ها به اشتراک می گذارند، ویژگی های خاص خود را نیز داشته باشد. علاوه بر این، ویژگی های یک بخش خاص می تواند در سال بعد که یک مدل جدید منتشر شود، تغییر کند. Azure Cosmos DB از طرحوارههای انعطافپذیر و دادههای سلسله مراتبی پشتیبانی میکند و بنابراین برای ذخیره دادههای کاتالوگ محصولات مناسب است.
Azure Cosmos DB اغلب برای منبعیابی رویداد استفاده میشود تا معماریهای رویداد محور را با استفاده از عملکرد تغییر فید آن تقویت کند. فید تغییرات به میکروسرویسهای پاییندستی این امکان را میدهد که بهطور مطمئن و تدریجی درجها و بهروزرسانیها (بهعنوان مثال، سفارش رویدادها) ایجاد شده در Azure Cosmos DB را بخوانند. این عملکرد را می توان برای ارائه یک فروشگاه رویداد دائمی به عنوان یک واسطه پیام برای رویدادهای تغییر وضعیت و هدایت گردش کار پردازش سفارش بین بسیاری از میکروسرویس ها (که می تواند به عنوان توابع Azure بدون سرور پیاده سازی شود) مورد استفاده قرار گیرد.
علاوه بر این، داده های ذخیره شده در Azure Cosmos DB را می توان با HDInsight برای تجزیه و تحلیل داده های بزرگ از طریق کارهای Apache Spark ادغام کرد. برای جزئیات بیشتر در مورد Spark Connector برای Azure Cosmos DB، به اجرای کار Spark با Azure Cosmos DB و HDInsight مراجعه کنید.
بازی
سطح پایگاه داده یکی از اجزای حیاتی برنامه های بازی است. بازیهای مدرن پردازش گرافیکی را روی مشتریان موبایل/کنسول انجام میدهند، اما برای ارائه محتوای سفارشیسازیشده و شخصیسازیشده مانند آمار درون بازی، ادغام رسانههای اجتماعی، و تابلوهای امتیاز بالا، به ابر متکی هستند. بازیها معمولاً برای خواندن و نوشتن نیاز به تأخیر یک میلیثانیهای دارند تا تجربهای جذاب در بازی ارائه کنند. پایگاه داده بازی باید سریع باشد و بتواند در طول راه اندازی بازی های جدید و به روز رسانی ویژگی ها، جهش های عظیمی را در نرخ درخواست مدیریت کند.
Azure Cosmos DB توسط بازی هایی مانند The Walking Dead: No Man's Land توسط Next Games و Halo 5: Guardians استفاده می شود. Azure Cosmos DB مزایای زیر را برای توسعه دهندگان بازی فراهم می کند:
- Azure Cosmos DB اجازه می دهد تا عملکرد به صورت الاستیک افزایش یا کاهش یابد. این به بازیها اجازه میدهد تا با برقراری یک تماس API، بهروزرسانی نمایه و آمار دهها تا میلیونها گیمر را بهطور همزمان انجام دهند.
- Azure Cosmos DB از خواندن و نوشتن میلیثانیهای پشتیبانی میکند تا از هرگونه تاخیر در طول بازی جلوگیری کند.
- نمایه سازی خودکار Azure Cosmos DB امکان فیلتر کردن چندین ویژگی مختلف را در زمان واقعی فراهم می کند، به عنوان مثال، مکان بازیکنان را بر اساس شناسه بازیکن داخلی یا GameCenter، فیس بوک، شناسه های گوگل، یا پرس و جو بر اساس عضویت بازیکن در یک انجمن مشخص کنید. این بدون ایجاد زیرساخت نمایه سازی یا اشتراک گذاری پیچیده امکان پذیر است.
- ویژگیهای اجتماعی از جمله پیامهای چت درون بازی، عضویت در انجمن بازیکنان، چالشهای تکمیلشده، تابلوهای امتیاز بالا، و نمودارهای اجتماعی با یک طرحواره انعطافپذیر آسانتر اجرا میشوند.
- Azure Cosmos DB بهعنوان یک پلتفرم مدیریتشده بهعنوان سرویس (PaaS) به حداقل کار راهاندازی و مدیریت نیاز داشت تا امکان تکرار سریع و کاهش زمان عرضه به بازار را فراهم کند.
برنامه های کاربردی وب و موبایل
Azure Cosmos DB معمولاً در برنامههای وب و موبایل استفاده میشود و برای مدلسازی تعاملات اجتماعی، ادغام با سرویسهای شخص ثالث و ایجاد تجربیات شخصی غنی مناسب است. میتوان از Azure Cosmos DB SDK برای ساخت برنامههای iOS و Android غنی با استفاده از فریم ورک محبوب Xamarin استفاده کرد.
برنامه های کاربردی اجتماعی
یک مورد رایج برای Azure Cosmos DB ذخیره و پرس و جو محتوای تولید شده توسط کاربر (UGC) برای برنامه های کاربردی وب، موبایل و رسانه های اجتماعی است. برخی از نمونههای UGC عبارتند از جلسات چت، توییتها، پستهای وبلاگ، رتبهبندی و نظرات. اغلب، UGC در برنامههای رسانههای اجتماعی ترکیبی از متن، ویژگیها، برچسبها و روابط آزاد است که با ساختار سفت و سخت محدود نمیشوند. محتوایی مانند چت ها، نظرات و پست ها را می توان در Azure Cosmos DB بدون نیاز به تبدیل یا شی پیچیده در لایه های نگاشت رابطه ای ذخیره کرد. ویژگیهای داده را میتوان به آسانی برای مطابقت با الزامات اضافه یا تغییر داد، زیرا توسعهدهندگان روی کد برنامه تکرار میکنند، بنابراین توسعه سریع را ارتقا میدهند.
برنامه هایی که با شبکه های اجتماعی شخص ثالث ادغام می شوند باید به تغییر طرحواره های این شبکه ها پاسخ دهند. از آنجایی که دادهها بهطور پیشفرض در Azure Cosmos DB فهرستبندی میشوند، دادهها در هر زمانی آماده استعلام هستند. از این رو، این برنامه ها انعطاف پذیری برای بازیابی پیش بینی ها بر اساس نیازهای مربوطه دارند.
بسیاری از برنامه های اجتماعی در مقیاس جهانی اجرا می شوند و می توانند الگوهای استفاده غیرقابل پیش بینی را نشان دهند. انعطاف پذیری در مقیاس بندی ذخیره داده ها ضروری است زیرا لایه برنامه برای مطابقت با تقاضای استفاده مقیاس می شود. میتوانید با افزودن پارتیشنهای داده اضافی در حساب Azure Cosmos DB، مقیاس را کاهش دهید. علاوه بر این، میتوانید حسابهای اضافی Azure Cosmos DB را در چندین منطقه ایجاد کنید. برای در دسترس بودن منطقه خدمات Azure Cosmos DB، به مناطق Azure مراجعه کنید.
شخصی سازی
امروزه، برنامه های مدرن با دیدگاه ها و تجربیات پیچیده همراه هستند. اینها معمولاً پویا هستند و مطابق با ترجیحات یا خلق و خوی کاربر و نیازهای برندسازی هستند. از این رو، برنامهها باید بتوانند تنظیمات شخصیسازیشده را بهطور مؤثر بازیابی کنند تا عناصر و تجربیات UI را به سرعت ارائه کنند.
JSON، فرمتی که توسط Azure Cosmos DB پشتیبانی میشود، فرمتی مؤثر برای نمایش دادههای طرحبندی رابط کاربری است، زیرا نه تنها سبک وزن است، بلکه میتواند به راحتی توسط جاوا اسکریپت تفسیر شود. Azure Cosmos DB سطوح سازگاری قابل تنظیمی را ارائه می دهد که امکان خواندن سریع با نوشتن با تأخیر کم را فراهم می کند. از این رو، ذخیره دادههای طرحبندی UI از جمله تنظیمات شخصیسازی شده بهعنوان اسناد JSON در Azure Cosmos DB وسیلهای مؤثر برای انتقال این دادهها در سراسر سیم است.
مراحل بعدی
برای شروع با Azure Cosmos DB، شروع سریع ما را دنبال کنید، که شما را در ایجاد یک حساب کاربری و شروع با Azure Cosmos DB راهنمایی می کند.
اگر میخواهید درباره مشتریانی که از Azure Cosmos DB استفاده میکنند بیشتر بخوانید، به صفحه مطالعات موردی مشتری مراجعه کنید.