معالجة بيانات مستودع قريب من الوقت الحقيقي
تحتاج المؤسسات المستندة إلى البيانات إلى الحفاظ على النهاية الخلفية وأنظمة التحليلات الخاصة بها في مزامنة قريبة من الوقت الحقيقي مع التطبيقات التي تواجه العملاء. يجب أن يعكس تأثير المعاملات والتحديثات والتغييرات بدقة من خلال العمليات الشاملة والتطبيقات ذات الصلة وأنظمة معالجة المعاملات عبر الإنترنت (OLTP). قد يكون زمن الانتقال المسموح به للتغييرات في تطبيقات OLTP لتنعكس في أنظمة انتقال البيانات من الخادم التي تستخدم البيانات بضع دقائق فقط.
توضح هذه المقالة حلا من طرف إلى طرف لمعالجة البيانات في الوقت الفعلي تقريبا للحفاظ على مزامنة بيانات مستودع البيانات. يستخدم الحل Azure Event Hubs وAzure Synapse Analytics وAzure Data Lake Storage لمعالجة البيانات والتحليلات.
Apache® وApache Spark إما علامات تجارية مسجلة أو علامات تجارية لمؤسسة برامج Apache في الولايات المتحدة و/أو بلدان أخرى. لا توجد موافقة ضمنية من Apache Software Foundation باستخدام هذه العلامات.
بناء الأنظمة
قم بتنزيل ملف Visio لهذه البنية.
تدفق البيانات
يعد التقاط بيانات التغيير شرطا أساسيا لأنظمة المصدر للاستماع إلى التغييرات. يمكن لموصلات Debezium الاتصال بأنظمة مصدر مختلفة والاستفادة من التغييرات عند حدوثها. يمكن للموصلات التقاط التغييرات وإنتاج الأحداث من أنظمة إدارة قواعد البيانات الارتباطية المختلفة (RDBMS). يتطلب تثبيت موصل Debezium نظام اتصال Kafka.
تستخرج الموصلات بيانات التغيير وترسل الأحداث الملتقطة إلى Azure Event Hubs. يمكن أن تتلقى مراكز الأحداث كميات كبيرة من البيانات من مصادر متعددة.
تقوم مراكز الأحداث مباشرة ببث البيانات إلى تجمعات Azure Synapse Analytics Spark، أو يمكنها إرسال البيانات إلى منطقة هبوط Azure Data Lake Storage بتنسيق أولي.
يمكن لمصادر بيانات الدفعات الأخرى استخدام مسارات Azure Synapse لنسخ البيانات إلى Data Lake Storage وإتاحتها للمعالجة. قد يحتاج سير عمل الاستخراج والتحويل والتحميل (ETL) من طرف إلى طرف إلى تسلسل خطوات مختلفة أو إضافة تبعيات بين الخطوات. يمكن لخطوط أنابيب Azure Synapse تنسيق تبعيات سير العمل ضمن إطار عمل المعالجة الشامل.
تستخدم تجمعات Azure Synapse Spark واجهات برمجة التطبيقات المتدفقة المنظمة ل Apache Spark المدعومة بالكامل لمعالجة البيانات في إطار عمل دفق Spark. تتضمن خطوة معالجة البيانات فحوصات جودة البيانات وعمليات التحقق من صحة قاعدة العمل عالية المستوى.
يخزن Data Lake Storage البيانات التي تم التحقق من صحتها بتنسيق Delta Lake المفتوح. يوفر Delta Lake دلالات ومعاملات الذرية والاتساق والعزل والمتانة (ACID)، ومعالجة بيانات التعريف القابلة للتطوير، والتدفق الموحد ومعالجة البيانات الدفعية لمستودعات البيانات الحالية.
يؤدي استخدام الفهارس لتسريع الاستعلام إلى زيادة دلتا بمزيد من تحسينات الأداء. يمكن أن تكون البيانات من منطقة Data Lake Storage التي تم التحقق من صحتها أيضا مصدرا لمزيد من التحليلات المتقدمة والتعلم الآلي.
يتم تحميل البيانات من منطقة Data Lake Storage التي تم التحقق من صحتها، وتحويلها وإثراءها بمزيد من القواعد إلى حالتها النهائية المعالجة، إلى تجمع SQL مخصص لتشغيل استعلامات تحليلية واسعة النطاق.
يستخدم Power BI البيانات المكشوفة من خلال تجمع SQL المخصص لإنشاء لوحات معلومات وتقارير على مستوى المؤسسة.
يمكنك أيضا استخدام البيانات الأولية الملتقطة في المنطقة المنتقل إليها في Data Lake Store والبيانات التي تم التحقق من صحتها بتنسيق Delta من أجل:
- مزيد من التحليل المخصص والاستكشافي من خلال تجمعات Azure Synapse SQL بلا خادم.
- التعلم الآلي من خلال Azure التعلم الآلي.
بالنسبة لبعض واجهات زمن الانتقال المنخفض، يجب إلغاء تنسيق البيانات لزمن انتقال الخادم المكون من رقم واحد. سيناريو الاستخدام هذا مخصص بشكل أساسي لاستجابات واجهة برمجة التطبيقات. يستعلم هذا السيناريو عن المستندات في مخزن بيانات NoSQL مثل Azure Cosmos DB للاستجابات من رقم واحد بالمللي ثانية.
قد لا تصلح استراتيجية تقسيم Azure Cosmos DB لجميع أنماط الاستعلام. إذا كان الأمر كذلك، يمكنك زيادة الحل عن طريق فهرسة البيانات التي تحتاج واجهات برمجة التطبيقات للوصول إليها باستخدام Azure Cognitive Search. يمكن أن يحقق Azure Cosmos DB والبحث المعرفي معظم السيناريوهات التي تتطلب استجابات استعلام زمن انتقال منخفض.
المكونات
يستخدم هذا الحل مكونات Azure التالية:
مراكز الأحداث هي خدمة استيعاب مدارة وموزعة يمكنها التوسع لاستيعاب كميات كبيرة من البيانات. باستخدام آلية Event Hubs subscriber-publisher، يمكن للتطبيقات المختلفة إرسال رسائل إلى مواضيع في Event Hubs، ويمكن للمستهلكين انتقال البيانات من الخادم الاتصال بالرسائل ومعالجتها. يمكن لميزة التقاط مراكز الأحداث كتابة الرسائل إلى Data Lake Storage بتنسيق AVRO عند وصولها. تتيح هذه القدرة معالجة الدفعات الصغيرة السهلة وسيناريوهات الاستبقاء على المدى الطويل. توفر مراكز الأحداث أيضا واجهة برمجة تطبيقات متوافقة مع Kafka وتدعم سجل المخطط.
يشكل Data Lake Storage نظام التخزين الفرعي الذي يخزن جميع البيانات بتنسيقات أولية ومتحقق منها. يمكن ل Data Lake Storage التعامل مع المعاملات على نطاق واسع، ويدعم تنسيقات وأحجام ملفات مختلفة. تساعد مساحات الأسماء الهرمية في تنظيم البيانات في بنية مجلد مألوفة ودعم واجهة نظام التشغيل المحمولة لأذونات UniX (POSIX). يوفر برنامج تشغيل Azure Blob Filesystem (ABFS) واجهة برمجة تطبيقات متوافقة مع Hadoop.
Azure Synapse Analytics هي خدمة تحليلات غير محدودة تجمع بين تكامل البيانات وتخزين بيانات المؤسسة وتحليلات البيانات الضخمة. يستخدم هذا الحل الميزات التالية للنظام البنائي Azure Synapse Analytics:
توفر تجمعات Azure Synapse Spark وقت تشغيل Spark عند الطلب يضيف تحسينات أداء مضمنة إلى Spark مفتوح المصدر. يمكن للعملاء تكوين إعدادات مقياس تلقائي مرنة، وإرسال المهام عن بعد من خلال نقطة نهاية Apache Livy، واستخدام واجهة دفتر ملاحظات Synapse Studio للحصول على تجارب تفاعلية.
توفر تجمعات Azure Synapse SQL بلا خادم واجهة للاستعلام عن بيانات مستودع البيانات باستخدام بناء جملة T-SQL مألوف. لا توجد بنية أساسية لإعدادها، وينشئ نشر مساحة عمل Azure Synapse نقطة النهاية تلقائيا. تتيح تجمعات Azure Synapse SQL بلا خادم الاكتشاف الأساسي للبيانات واستكشافها في مكانها، وهي خيار جيد لتحليل الاستعلام المخصص للمستخدم.
تخزن تجمعات SQL المخصصة ل Azure Synapse البيانات في جداول ارتباطية مع تخزين عمودي. تستخدم تجمعات SQL المخصصة بنية توسيع نطاق لتوزيع معالجة البيانات عبر عقد متعددة. تجلب استعلامات PolyBase البيانات إلى جداول تجمع SQL. يمكن للجداول الاتصال ب Power BI للتحليل وإعداد التقارير.
يوفر Power BI واجهة مرئية لإنشاء التقارير ولوحات المعلومات والوصول إليها. يمكن ل Power BI Desktop الاتصال بمصادر بيانات مختلفة، ودمج المصادر في نموذج بيانات، وإنشاء تقارير أو لوحات معلومات. باستخدام Power BI، يمكنك تحويل البيانات استنادا إلى متطلبات العمل ومشاركة المرئيات والتقارير مع الآخرين من خلال خدمة Power BI.
Azure Cosmos DB هي قاعدة بيانات NoSQL مدارة متعددة الوسائط تدعم واجهات برمجة التطبيقات المفتوحة مثل MongoDB وCassandra. يستخدم هذا الحل Azure Cosmos DB للتطبيقات التي تتطلب أوقات استجابة من رقم واحد بالمللي ثانية وقابلية وصول عالية. يقدم Azure Cosmos DB عمليات كتابة متعددة المناطق عبر جميع مناطق Azure. يمكنك استخدام Azure Synapse Link ل Azure Cosmos DB لاشتقاق الرؤى وتشغيل التحليلات عبر البيانات في الوقت الفعلي.
Azure Cognitive Search هي خدمة بحث سحابية يمكنها فهرسة البيانات التي تحتاجها التطبيقات وواجهات برمجة التطبيقات. يحتوي البحث المعرفي على ميزات إثراء الذكاء الاصطناعي اختيارية تساعد في استخراج النص واستنتاج النص من الملفات غير النصية. يتكامل البحث المعرفي مع خدمات مثل Azure Data Lake Storage وAzure Cosmos DB للوصول بسهولة إلى البيانات وفهرستها. يمكنك الاستعلام عن البيانات المفهرسة باستخدام واجهة برمجة تطبيقات REST أو .NET SDK. للحصول على بيانات من فهرسين منفصلين، يمكنك دمجها في فهرس واحد أو استخدام أنواع بيانات معقدة.
تفاصيل السيناريو
يتطلب سير العمل الشامل لمعالجة التغييرات في الوقت الفعلي تقريبا ما يلي:
- تقنية التقاط بيانات التغيير (CDC). قد تحتوي تطبيقات OLTP على مخازن بيانات خلفية مختلفة، مثل SQL Server وMySQL وOracle. الخطوة الأولى هي الاستماع إلى التغييرات عند حدوثها، ونشرها إلى الأمام.
- مخزن مؤقت للاستيعاب لنشر أحداث التغيير على نطاق واسع. يجب أن تتمتع هذه الخدمة بالقدرة على التعامل مع كميات كبيرة من البيانات عند وصول الرسائل. يمكن للمشتركين الفرديين الاتصال بهذا النظام ومعالجة البيانات.
- تخزين موزع وقابل للتطوير للبيانات كما هو بتنسيق أولي.
- نظام معالجة دفق موزع وفعال يتيح للمستخدمين إعادة تشغيل الحالة وإدارتها.
- نظام تحليلات يعمل على نطاق واسع لتعزيز قرارات الأعمال.
- واجهة تحليلات ذاتية الخدمة.
- بالنسبة لاستجابات واجهة برمجة التطبيقات ذات زمن الانتقال المنخفض، قاعدة بيانات NoSQL لتخزين تمثيل غير متزامن للبيانات.
- في بعض الحالات، نظام لفهرسة البيانات، وتحديث الفهرس على فترات منتظمة، وإتاحة أحدث البيانات لاستهلاك انتقال البيانات من الخادم.
يجب أن تستخدم جميع التقنيات السابقة بنيات الأمان ذات الصلة لأمان المحيط والمصادقة والتخويل وتشفير البيانات.
حالات الاستخدام المحتملة
هذا الحل مناسب تماما ل:
- الصناعات التي تحتاج إلى نشر التغييرات من OLTP إلى معالجة التحليلات عبر الإنترنت (OLAP).
- التطبيقات التي تتطلب تحويل البيانات أو إثراءها.
سيناريو معالجة البيانات في الوقت الحقيقي مهم بشكل خاص للصناعات المالية. على سبيل المثال، إذا قام أحد عملاء التأمين أو بطاقة الائتمان أو البنك بالدفع ثم اتصل مباشرة بخدمة العملاء، يحتاج وكيل دعم العملاء إلى الحصول على أحدث المعلومات.
تنطبق سيناريوهات مماثلة على قطاعات البيع بالتجزئة والتجارة والرعاية الصحية. يؤدي تمكين هذه السيناريوهات إلى تبسيط العمليات، ما يؤدي إلى زيادة الإنتاجية التنظيمية وزيادة رضا العملاء.
الاعتبارات
تنفذ هذه الاعتبارات ركائز Azure Well-Architected Framework، وهو عبارة عن مجموعة من المبادئ التوجيهية التي يمكن استخدامها لتحسين جودة حمل العمل. لمزيد من المعلومات، يرجى مراجعةMicrosoft Azure Well-Architected Framework.
الموثوقيه
تضمن الموثوقية أن التطبيق الخاص بك يمكن أن يفي بالالتزامات التي تتعهد بها لعملائك. لمزيد من المعلومات، يرجى مراجعة نظرة عامة على ركيزة الموثوقية.
توفر مراكز الأحداث استبقاء البيانات لمدة 90 يوما على المستويات المتميزة والمخصصة. بالنسبة لسيناريوهات تجاوز الفشل، يمكنك إعداد مساحة اسم ثانوية في المنطقة المقترنة وتنشيطها أثناء تجاوز الفشل.
تتم إعادة تدوير مهام تجمع Azure Synapse Spark كل سبعة أيام حيث يتم إيقاف العقد للصيانة. ضع في اعتبارك هذا النشاط أثناء العمل من خلال اتفاقيات مستوى الخدمة (SLAs) المرتبطة بالنظام. هذا القيد ليس مشكلة للعديد من السيناريوهات حيث يكون هدف وقت الاسترداد (RTO) حوالي 15 دقيقة.
تحسين التكلفة
يركز تحسين التكلفة على البحث عن طرق للحد من النفقات غير الضرورية وتحسين الكفاءة التشغيلية. لمزيد من المعلومات، راجع نظرة عامة على ركيزة تحسين التكلفة.
يمكنك التحديد من مستويات مراكز الأحداث المختلفة استنادا إلى خصائص حمل العمل. تقوم مراكز الأحداث بفواتير تخزين الالتقاط بشكل منفصل، استنادا إلى كمية البيانات التي يتم تخزينها على Data Lake Storage.
ضع في اعتبارك إدارة دورة حياة الكائن من خلال المستويات على Azure Data Lake Storage. مع تقدم البيانات في العمر، يمكنك نقل البيانات من طبقة ساخنة، حيث تحتاج إلى الوصول إلى البيانات الحديثة لتحليلات، إلى طبقة تخزين باردة يتم تسعيرها أقل بكثير. طبقة التخزين الباردة هي خيار فعال من حيث التكلفة للاحتفاظ طويل الأجل.
يمكنك إيقاف تجمع SQL المخصص مؤقتا عندما لا تستخدمه في بيئات التطوير أو الاختبار. يمكنك جدولة برنامج نصي لإيقاف التجمع مؤقتا حسب الحاجة، أو يمكنك إيقاف التجمع مؤقتا يدويا من خلال المدخل.
يقدم Azure Cosmos DB نماذج توفير مختلفة، مثل معدل النقل المزود يدويا بلا خادم والتحجيم التلقائي. ضع في اعتبارك استخدام التزويد بلا خادم لأحمال عمل التطوير والاختبار. يمكنك أيضا استخدام التحجيم التلقائي، حيث يمكنك تعيين الحد الأقصى لوحدات الطلب في الثانية (RU/s) على الحاوية. يتدرج معدل النقل على الحاوية تلقائيا بين 10٪ من الحد الأقصى لوحدة الطلب/ الثانية كحد أدنى والحد الأقصى لوحدة الطلب/ الثانية المكونة.
كفاءة الأداء
كفاءة الأداء هي قدرة حمل عملك على تغيير الحجم لتلبية المطالب التي يضعها المستخدمون عليها بطريقة فعالة. لمزيد من المعلومات، يرجى مراجعةأنماط كفاءة الأداء.
يمكنك توسيع نطاق مراكز الأحداث من خلال التقسيم. ضع في اعتبارك تقسيم بياناتك للحفاظ على ترتيب الأحداث من خلال سجل التثبيت. يتيح لك التقسيم إنشاء سجلات متوازية متعددة عن طريق تعظيم سعة معدل النقل المتوفرة.
يمكنك إعداد تجمعات Azure Synapse Spark مع وحدات SKU صغيرة أو متوسطة أو كبيرة للجهاز الظاهري (VM)، استنادا إلى حمل العمل. يمكنك أيضا تكوين التحجيم التلقائي على تجمعات Azure Synapse Spark لحساب أحمال العمل الكبيرة. إذا كنت بحاجة إلى المزيد من موارد الحوسبة، يتم توسيع نطاق المجموعات تلقائيا لتلبية الطلب، وتوسيع نطاقها بعد اكتمال المعالجة.
استخدم أفضل الممارسات لتصميم الجداول في تجمع SQL المخصص. يتم تطبيق حدود الأداء وقابلية التوسع المقترنة، استنادا إلى المستوى الذي يعمل عليه تجمع SQL.
يستخدم Azure Cosmos DB أقساما لتوسيع نطاق الحاويات، استنادا إلى مفتاح القسم. تشكل جميع البيانات المستندة إلى مفتاح القسم قسما منطقيا. تأكد من اختيار استراتيجية التقسيم الصحيحة استنادا إلى متطلبات حمل العمل. يمكنك أيضا استخدام الفهارس لاسترداد البيانات بشكل أسرع.
المساهمون
تحتفظ Microsoft بهذه المقالة. وهي مكتوبة في الأصل من قبل المساهمين التاليين.
الكاتب الرئيسي:
- براتيما فالافالا | مهندس حلول السحابة
المساهم الآخر:
- راجيش ميتال | مهندس حلول السحابة
لمشاهدة ملفات تعريف LinkedIn غير العامة، سجل الدخول إلى LinkedIn.
الخطوات التالية
- موصل Azure Event Hubs ل Apache Spark
- قابلية التوسع مع مراكز الأحداث
- فهرسة البيانات من Azure Cosmos DB
- ما هو Azure Synapse Link ل Azure Cosmos DB؟
- أفضل الممارسات لتجمع SQL المخصص
- أفضل الممارسات لتجمع SQL بدون خادم
- نموذج البيانات والاستعلام عنها واستكشافها في Azure Synapse
- إنشاء حلول تحليلات البيانات باستخدام تجمعات SQL بلا خادم في Azure Synapse