حالات استخدام Azure Cosmos DB الشائعة
ينطبق على: NoSQL MongoDB كاساندرا العفريت جدول
يقدم هذا المقال نظرة عامة عن التصورات العامة لحساب قاعدة بيانات Azure المخصصة. تعمل التوصيات الواردة في هذه المقالة كنقطة بداية أثناء تطوير تطبيقك باستخدام Azure Cosmos DB.
بعد قراءة هذا المقال، ستتمكن من الإجابة على الأسئلة التالية:
- ما هي حالات الاستخدام الشائعة لـ Azure Cosmos DB؟
- ما هي فوائد استخدام قاعدة بيانات Azure المخصصة لتطبيقات التجزئة؟
- ما هي فوائد استخدام Azure Cosmos DB كمخزن بيانات لأنظمة إنترنت الأشياء (IoT)؟
- ما هي فوائد استخدام Azure Cosmos DB لتطبيقات الويب والهاتف المحمول؟
مقدمة
Azure Cosmos DB هو حل Azure لقاعدة بيانات NoSQL سريعة، مع واجهات برمجة تطبيقات مفتوحة لأي سعة. تم تصميم الخدمة للسماح للعملاء بمقياس الإنتاجية والتخزين المرن (والمستقل) عبر أي عدد من المناطق الجغرافية. قاعدة بيانات Azure المخصصة هي أول خدمة قاعدة بيانات موزعة عالميًا في السوق اليوم تقدم اتفاقيات شاملة على مستوى الخدمة تشمل الإنتاج والتأخر والتوافر والاتساق
قاعدة بيانات Azure المخصصة هي قاعدة بيانات عالمية موزعة ومتعددة النماذج يتم استخدامها في مجموعة واسعة من التطبيقات وحالات الاستخدام. وهو خيار جيد لأي تطبيق بدون خادم يحتاج إلى أوقات استجابة منخفضة من أجل ميلي ثانية، ويحتاج إلى التوسع بسرعة وعالميًا. وهو يدعم نماذج بيانات متعددة (قيمة المفتاح والمستندات والرسوم البيانية والعمودية) والعديد من واجهات برمجة تطبيقات Azure Cosmos DB للوصول إلى البيانات بما في ذلك واجهة برمجة التطبيقات ل MongoDB وواجهة برمجة التطبيقات ل NoSQL وواجهة برمجة التطبيقات ل Gremlin وواجهة برمجة التطبيقات للجدول في الأصل وبطريقة قابلة للتوسيع.
فيما يلي بعض سمات قاعدة بيانات Azure التي تجعلها مناسبة تمامًا للتطبيقات عالية الأداء ذات الطموح العالمي.
- تقسم قاعدة بيانات Azure البيانات الخاصة بك بشكلٍ أصلي لتوافر عالية وقابلية التوسع. تقدم Azure Cosmos DB ضمانات بنسبة 99.99٪ للتوافر والإنتاجية والتأخر المنخفض والاتساق في جميع حسابات المنطقة الواحدة وجميع الحسابات متعددة المناطق مع اتساق مريح ، وتوافر القراءة بنسبة 99.999٪ على جميع حسابات قواعد البيانات متعددة المناطق.
- تحتوي قاعدة بيانات Azure على تخزين مدعوم من SSD مع أوقات استجابة منخفضة الكمون من ميلي ثانية.
- يسمح دعم Azure Cosmos DB لمستويات الاتساق مثل البادئة النهائية والمتسقة والجلسة بالمرونة الكاملة ونسبة التكلفة المنخفضة إلى الأداء. لا توجد خدمة قاعدة بيانات توفر مرونة مثل قاعدة بيانات Azure في تناسق المستويات.
- تحتوي قاعدة بيانات Azure المخصصة على نموذج تسعير مرن مناسب للبيانات يقوم بعدادات التخزين والإنتاجية بشكل مستقل.
- يسمح لك نموذج معدل النقل المحجوز لقاعدة بيانات Azure المخصصة بالتفكير في شروط عدد القراءات/الكتابات بدلاً من CPU/الذاكرة/IOPs للأجهزة الأساسية.
- يتيح لك تصميم قاعدة بيانات Azure المخصصة التوسع إلى أحجام طلبات ضخمة في ترتيب تريليونات الطلبات يوميًا.
هذه السمات مفيدة في تطبيقات الويب والهاتف المحمول والألعاب وإنترنت المعلومات التي تحتاج إلى أوقات استجابة منخفضة وتحتاج إلى التعامل مع كميات هائلة من القراءات والكتابات.
إنترنت الأشياء ومعالجة المعلومات آليًا
عادةً ما تشترك حالات استخدام إنترنت الأشياء في بعض الأنماط في كيفية استيعاب البيانات ومعالجتها وتخزينها. أولاً، تحتاج هذه الأنظمة إلى استيعاب اندفاعات من البيانات من أجهزة استشعار الأجهزة من مختلف المناطق. بعد ذلك، تقوم هذه الأنظمة بمعالجة وتحليل بيانات النقل المستمر لاشتقاق نتائج تحليلات في الوقت الحقيقي. ثم يتم أرشفة البيانات إلى التخزين البارد لتحليلات الدفعة. تقدم Microsoft Azure خدمات غنية يمكن تطبيقها لحالات استخدام IoT بما في ذلك Azure Cosmos DB و Azure Event Hubs و Azure Stream Analytics و Azure Notification Hub و Azure التعلم الآلي و Azure HDInsight و Power BI.
يمكن استيعاب دفقات من البيانات من قِبل مراكز الحدث Azure كما أنه يوفر استيعاب البيانات الإنتاجية العالية مع زمن انتقال منخفض. يمكن تحويل البيانات التي يتم تناولها وتحتاج إلى معالجة للحصول على رؤية في الوقت الفعلي إلى Azure Stream Analytics للتحليلات في الوقت الفعلي. يمكن تحميل البيانات في Azure Cosmos DB للاستعلام adhoc. بمجرد تحميل البيانات في قاعدة بيانات Azure المخصصة، تكون البيانات جاهزة للاستعلام عنها. بالإضافة إلى ذلك، يمكن قراءة البيانات والتغييرات الجديدة على البيانات الموجودة في موجز التغييرات. موجز التغيير هو سجل مستمر وإلحاق فقط يخزن التغييرات على حاويات Azure Cosmos DB بترتيب تسلسلي. ثم يمكن استخدام جميع البيانات أو مجرد تغييرات على البيانات في قاعدة بيانات Azure المخصصة كبيانات مرجعية كجزء من التحليلات في الوقت الحقيقي. بالإضافة إلى ذلك، يمكن زيادة تحسين البيانات ومعالجتها عن طريق ربط بيانات Azure Cosmos DB بـ HDInsight لـ Pig أو Hive أو Map/Reduce. ثم يتم تحميل البيانات المكررة مرة أخرى إلى Azure Cosmos DB للإبلاغ.
للحصول على عينة من حلول إنترنت الأشياء باستخدام Azure Cosmos DB وEvent Hubs وApache Storm، راجع مستودع hdinsight-storm-examples على GitHub.
لمزيدٍ من المعلومات حول عروض Azure لإنترنت الأشياء، راجع إنشاء إنترنت الأشياء الخاصة بك.
التجزئة والتسويق
يُستخدم Azure Cosmos DB على نطاق واسع في منصات التجارة الإلكترونية الخاصة بشركة Microsoft، التي تعمل في متجر Windows وXBox Live. كما يُستخدم في مجال التجزئة لتخزين بيانات كتالوج وكذا لعمل موارد للحدث فيما يتعلق بمعالجة البنية الأساسية لبرنامج ربط العمليات التجارية.
تتضمن سيناريوهات استخدام بيانات الكتالوج تخزين مجموعة من السمات والاستعلام عنها لكيانات مثل الأشخاص والأماكن والمنتجات. بعض الأمثلة على بيانات الكتالوج هي حسابات المستخدمين وكتالوجات المنتجات وسجلات أجهزة IoT وأنظمة فاتورة المواد. قد تختلف سمات هذه البيانات ويمكن أن تتغير بمرور الوقت لتناسب متطلبات التطبيق.
ولنتأمل هنا مثالاً على كتالوج المنتجات لمورد لقطع غيار السيارات. قد يكون لكل جزء سماته الخاصة بالإضافة إلى السمات الشائعة التي تشترك فيها جميع الأجزاء. علاوة على ذلك، يمكن تغيير سمات لجزء معين في السنة التالية عند إصدار نموذج جديد. يدعم Azure Cosmos DB مخططات مرنة وبيانات هرمية، وبالتالي فهو مناسب تمامًا لتخزين بيانات كتالوج المنتجات.
غالبًا ما يستخدم Azure Cosmos DB لمصادر الحدث لتشغيل البنيات التي تعتمد على الأحداث باستخدام وظائف موجز التغيير الخاصة به. يوفر موجز التغيير الخدمات المصغرة المتلقية للمعلومات القدرة على قراءة إدراجات وتحديثات موثوقة وتدريجية (على سبيل المثال، أحداث الترتيب) التي تم إجراؤها على قاعدة بيانات Azure يمكن الاستفادة من هذه الوظيفة لتوفير مخزن أحداث مستمر كوسيط رسائل للأحداث المتغيرة للدولة وسير عمل معالجة أمر الدفع بين العديد من الخدمات الصغيرة (والتي يمكن تنفيذها كدالات 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 by Next Games، و Halo 5: Guardians by 343 Industries. يوفر Azure Cosmos DB الفوائد التالية لمطوري الألعاب:
- يسمح Azure Cosmos DB بتحجيم الأداء صعودًا أو لأسفل بشكل مرن. وهذا يسمح للألعاب بالتعامل مع تحديث الملف الشخصي والإحصائيات من العشرات إلى الملايين من اللاعبين في وقت واحد عن طريق إجراء مكالمة API واحدة.
- يدعم Azure Cosmos DB القراءة والكتابة بالمللي ثانية للمساعدة في تجنب أي تأخر أثناء اللعب.
- تسمح الفهرسة التلقائية لـ Azure Cosmos DB بالتصفية مقابل خصائص مختلفة متعددة في الوقت الفعلي، على سبيل المثال، تحديد موقع اللاعبين من خلال معرفات اللاعبين الداخلية الخاصة بهم، أو GameCenter أو Facebook أو Google IDs أو الاستعلام استنادًا إلى عضوية اللاعب في النقابة. وهذا ممكن دون بناء بنية تحتية معقدة للفهرسة أو القطع.
- الميزات الاجتماعية بما في ذلك رسائل الدردشة في اللعبة، وعضوية نقابة اللاعبين، والتحديات المنجزة، والمتصدرين عالية الدرجة، والرسوم البيانية الاجتماعية هي أسهل لتنفيذ مع مخطط مرن.
- Azure Cosmos DB كمنصة مُدارة كخدمة (PaaS) تتطلب الحد الأدنى من أعمال الإعداد والإدارة للسماح بالتكرار السريع، وتقليل الوقت في السوق.
تطبيقات الويب والهاتف المحمول.
تُستخدم Azure Cosmos DB بشكل شائع داخل تطبيقات الويب والأجهزة المحمولة، وهي مناسبة تمامًا لنمذجة التفاعلات الاجتماعية، والتكامل مع خدمات الجهات الخارجية، وبناء تجارب شخصية ثرية. يمكن استخدام Azure Cosmos DB SDKs لإنشاء تطبيقات 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.
إضفاء الطابع الشخصي
في الوقت الحاضر، تأتي التطبيقات الحديثة مع وجهات نظر معقدة وخبرات. هذه هي عادة ديناميكية، وتلبي تفضيلات المستخدم أو المزاج واحتياجات العلامات التجارية. وبالتالي، يجب أن تكون التطبيقات قادرة على استرداد الإعدادات المخصصة بشكل فعال لتقديم عناصر واجهة المستخدم والخبرات بسرعة.
JSON، وهو تنسيق يدعمه Azure Cosmos DB، هو تنسيق فعال لتمثيل بيانات تخطيط واجهة المستخدم لأنها ليست خفيفة الوزن فحسب، ولكن يمكن تفسيرها بسهولة أيضا بواسطة JavaScript. يوفر Azure Cosmos DB مستويات تناسق قابلة للضبط تسمح بقراءة سريعة مع عمليات كتابة زمن انتقال منخفض. ومن ثم، فإن تخزين بيانات تخطيط واجهة المستخدم بما في ذلك الإعدادات المخصصة كمستندات JSON في Azure Cosmos DB هو وسيلة فعالة للحصول على هذه البيانات عبر السلك.
الخطوات التالية
لبدء استخدام Azure Cosmos DB، اتبع بداياتنا السريعة، التي ترشدك خلال إنشاء حساب والبدء باستخدام Azure Cosmos DB.
إذا كنت ترغب في قراءة المزيد عن العملاء الذين يستخدمون Azure Cosmos DB، فشاهد صفحة دراسات حالة العميل.