موجز تغيير في Azure Cosmos DB

ينطبق على: NoSQL MongoDB كاساندرا العفريت

موجز التغيير في Azure Cosmos DB هو سجل مستمر من التغييرات إلى حاوية بالترتيب الذي تحدث به. يعمل دعم موجز التغيير في Azure Cosmos DB من خلال الاستماع إلى حاوية Azure Cosmos DB لأي تغييرات. ثم تقوم بإخراج قائمة المستندات التي تم فرزها والتي تم تغييرها بترتيب حدوث التغييرات. يمكن معالجة التغييرات المستمرة بشكل غير متزامن وتدريجي، ويمكن توزيع الإخراج عبر مستهلك واحد أو أكثر للمعالجة المتوازية.

تعلم المزيد حول أنماط تصميم موجز التغيير.

واجهات برمجة التطبيقات المدعومة و SDK العميل

ميزة موجز التغيير مدعومة حاليا في Azure Cosmos DB SDKs التالية.

برامج تشغيل العملاء NoSQL Apache Cassandra MongoDB Apache Gremlin جدول PostgreSQL
.NET أيقونة تشير إلى أن هذه الميزة مدعومة في .NET SDK لواجهة برمجة التطبيقات ل NoSQL. أيقونة تشير إلى أن هذه الميزة مدعومة في .NET SDK لواجهة برمجة التطبيقات ل Apache Cassandra. أيقونة تشير إلى أن هذه الميزة مدعومة في .NET SDK لواجهة برمجة التطبيقات ل MongoDB. أيقونة تشير إلى أن هذه الميزة مدعومة في .NET SDK لواجهة برمجة التطبيقات ل Apache Gremlin. أيقونة تشير إلى أن هذه الميزة غير مدعومة في .NET SDK لواجهة برمجة التطبيقات للجدول. أيقونة تشير إلى أن هذه الميزة غير مدعومة في .NET SDK لواجهة برمجة التطبيقات ل PostgreSQL.
Java أيقونة تشير إلى أن هذه الميزة مدعومة في Java SDK لواجهة برمجة التطبيقات ل NoSQL. أيقونة تشير إلى أن هذه الميزة مدعومة في Java SDK لواجهة برمجة التطبيقات ل Apache Cassandra. أيقونة تشير إلى أن هذه الميزة مدعومة في Java SDK لواجهة برمجة التطبيقات ل MongoDB. أيقونة تشير إلى أن هذه الميزة مدعومة في Java SDK لواجهة برمجة التطبيقات ل Apache Gremlin. أيقونة تشير إلى أن هذه الميزة غير مدعومة في Java SDK لواجهة برمجة التطبيقات للجدول. أيقونة تشير إلى أن هذه الميزة غير مدعومة في Java SDK لواجهة برمجة التطبيقات ل PostgreSQL.
Python أيقونة تشير إلى أن هذه الميزة مدعومة في Python SDK لواجهة برمجة التطبيقات ل NoSQL. أيقونة تشير إلى أن هذه الميزة مدعومة في Python SDK لواجهة برمجة التطبيقات ل Apache Cassandra. أيقونة تشير إلى أن هذه الميزة مدعومة في Python SDK لواجهة برمجة التطبيقات ل MongoDB. أيقونة تشير إلى أن هذه الميزة مدعومة في Python SDK لواجهة برمجة التطبيقات ل Apache Gremlin. أيقونة تشير إلى أن هذه الميزة غير معتمدة في Python SDK لواجهة برمجة التطبيقات للجدول. أيقونة تشير إلى أن هذه الميزة غير مدعومة في Python SDK لواجهة برمجة التطبيقات ل PostgreSQL.
Node/JavaScript أيقونة تشير إلى أن هذه الميزة مدعومة في JavaScript SDK لواجهة برمجة التطبيقات ل NoSQL. أيقونة تشير إلى أن هذه الميزة مدعومة في JavaScript SDK لواجهة برمجة التطبيقات ل Apache Cassandra. أيقونة تشير إلى أن هذه الميزة مدعومة في JavaScript SDK لواجهة برمجة التطبيقات ل MongoDB. أيقونة تشير إلى أن هذه الميزة مدعومة في JavaScript SDK لواجهة برمجة التطبيقات ل Apache Gremlin. أيقونة تشير إلى أن هذه الميزة غير مدعومة في JavaScript SDK لواجهة برمجة التطبيقات للجدول. أيقونة تشير إلى أن هذه الميزة غير مدعومة في JavaScript SDK لواجهة برمجة التطبيقات ل PostgreSQL.

العمل مع موجز التغيير

يمكنك العمل مع موجز التغيير باستخدام الخيارات التالية:

يتوفر موجز التغيير لنطاقات مفاتيح القسم لحاوية Azure Cosmos DB. يسمح ذلك بتوزيعه عبر مستهلك واحد أو أكثر للمعالجة المتوازية كما هو موضح في الصورة أدناه.

المعالجة الموزعة لموجز التغيير Azure Cosmos DB

إشعار

تعين نطاقات مفاتيح القسم إلى أقسام فعلية عند استخدام معالج موجز التغيير وعند FeedRanges استخدام نموذج السحب.

مميزات موجز التغيير

  • يتم تمكين موجز التغيير بشكل افتراضي لجميع حسابات Azure Cosmos DB.

  • هناك أوضاع موجز تغيير متعددة، يتطلب بعضها تكوينا إضافيا لتمكينه.

  • يمكنك استخدام معدل النقل المتوفر للقراءة من موجز التغيير، تماما مثل أي عملية Azure Cosmos DB أخرى، في أي من المناطق المقترنة بحساب Azure Cosmos DB الخاص بك.

  • يتضمن موجز التغيير عمليات الإدراج والتحديث التي تم إجراؤها على العناصر داخل الحاوية. إذا كنت تستخدم جميع الإصدارات ووضع الحذف (معاينة)، فستحصل أيضا على تغييرات من عمليات الحذف وانتهاء صلاحية TTL.

  • يظهر كل تغيير مرة واحدة بالضبط في موجز التغيير، ويجب على العملاء إدارة منطق نقاط التفتيش. إذا كنت ترغب في تجنب تعقيد إدارة نقاط التحقق، يوفر معالج موجز التغيير نقطة تحقق تلقائية ودلالات "مرة واحدة على الأقل". لمزيد من المعلومات، راجع مقالة استخدام موجز التغيير مع معالج موجز التغيير.

  • تتوفر التغييرات بالتوازي لنطاقات مفاتيح القسم لحاوية Azure Cosmos DB. تسمح هذه الإمكانية لعدة مستهلكين بمعالجة التغييرات من حاويات كبيرة بالتوازي.

  • يمكن للتطبيقات أن تطلب عدة موجزات تغيير على نفس الحاوية في وقت واحد.

  • يمكن تخصيص نقطة البداية لموجز التغيير وتتوفر خيارات مختلفة لكل وضع.

ترتيب فرز العناصر في موجز التغيير

تغيير عناصر موجز التغيير حسب ترتيب وقت تعديل كل عنصر. يتم ضمان ترتيب الفرز هذا لكل مفتاح قسم، ولا يوجد ترتيب مضمون عبر قيم مفتاح القسم.

إشعار

بالنسبة لحسابات الكتابة متعددة المناطق، هناك طابعان زمنيان:

  • وقت وقت الخادم الذي تمت كتابة السجل فيه في المنطقة المحلية. يتم تسجيل هذا ك _ts.
  • الوقت الذي تم فيه تأكيد عدم وجود تعارض، أو تم حل التعارض في منطقة المركز لهذا السجل. يتم تسجيل هذا ك crts.

تأتي عناصر موجز التغيير بالترتيب المسجل بواسطة crts.

موجز التغيير في حسابات Azure Cosmos DB متعددة المناطق

في حساب Azure Cosmos DB متعدد المناطق، تتوفر التغييرات في منطقة واحدة في جميع المناطق. إذا تجاوزت منطقة الكتابة الفشل، فإن موجز التغيير يعمل عبر عملية تجاوز الفشل اليدوية، وهو متقارب. بالنسبة للحسابات ذات مناطق الكتابة المتعددة، لا يوجد ضمان بمتى ستتوفر التغييرات. قد يتم إسقاط التغييرات الواردة إلى المستند نفسه في وضع الإصدار الأخير إذا كان هناك تغيير أحدث في منطقة أخرى، وسيتم التقاط جميع التغييرات في جميع الإصدارات ووضع الحذف.

تغيير أوضاع الموجز

يتوفر وضعان لموجز التغيير: وضع الإصدار الأخير وجميع الإصدارات ووضع الحذف. يحدد الوضع الذي تتم قراءة موجز التغيير فيه تغييرات العمليات التي يتم التقاطها منها وبيانات التعريف المتوفرة لكل تغيير. من الممكن استهلاك موجز التغيير في أوضاع مختلفة عبر تطبيقات متعددة لنفس حاوية Azure Cosmos DB.

أحدث وضع للإصدار

في وضع موجز تغيير الإصدار الأخير، سترى التغيير الأخير من إدراج أو تحديث لكافة العناصر في الموجز، والموجز متاح طوال عمر الحاوية. لا توجد إشارة إلى ما إذا كان هناك تغيير معين من عملية إدراج أو تحديث، ولا يتم التقاط عمليات الحذف. يمكن قراءة التغييرات من أي نقطة زمنية إلى أصل الحاوية. ومع ذلك، إذا تم حذف عنصر، تتم إزالته من موجز التغيير. راجع أحدث مقالة حول وضع موجز تغيير الإصدار لمعرفة المزيد.

جميع الإصدارات ووضع الحذف (معاينة)

يسمح لك وضع جميع الإصدارات والحذف برؤية جميع التغييرات على العناصر من عمليات الإنشاء والتحديثات والحذف. يمكنك الحصول على سجل لكل تغيير في العناصر بالترتيب الذي حدث به، بما في ذلك التغييرات الوسيطة على عنصر بين قراءات موجز التغيير. للقراءة من موجز التغيير في جميع الإصدارات ووضع الحذف، يجب أن يكون لديك نسخ احتياطية مستمرة مكونة لحساب Azure Cosmos DB الخاص بك، والذي ينشئ Azure Cosmos DBs جميع الإصدارات ويحذف موجز التغيير. في هذا الوضع، يمكنك قراءة التغييرات التي حدثت خلال فترة النسخ الاحتياطي المستمر التي تم تكوينها للحساب فقط. راجع جميع الإصدارات وحذف مقالة تغيير وضع الموجز لمعرفة المزيد، بما في ذلك كيفية التسجيل في المعاينة.

موجز التغيير في واجهات برمجة التطبيقات لـ Cassandra وMongoDB

تظهر وظيفة موجز التغيير كتدفق التغيير في واجهة برمجة التطبيقات ل MongoDB والاستعلام مع دالة تقييم في واجهة برمجة التطبيقات ل Cassandra. لمعرفة المزيد حول تفاصيل التنفيذ لواجهة برمجة التطبيقات ل MongoDB، راجع تغيير التدفقات في واجهة برمجة تطبيقات Azure Cosmos DB ل MongoDB.

يوفر Apache Cassandra الأصلي التقاط بيانات التغيير (CDC)، وهي آلية لوضع علامة على جداول محددة للأرشفة ورفض عمليات الكتابة إلى تلك الجداول بمجرد الوصول إلى حجم قابل للتكوين على القرص لسجل التقاط بيانات التغيير. تعزز ميزة موجز التغيير في Azure Cosmos DB ل Apache Cassandra القدرة على الاستعلام عن التغييرات باستخدام التقييم عبر CQL. لمعرفة المزيد حول تفاصيل التنفيذ، راجع موجز التغيير في Azure Cosmos DB ل Apache Cassandra.

قياس استهلاك وحدة طلب موجز التغيير

يتوفر موجز التغيير في كل حاوية بغض النظر عما إذا كان يتم استخدامه. التكلفة الوحيدة لموجز التغيير هي معدل النقل المقدم لحاوية التأجير ووحدات الطلب لكل طلب. استخدم Azure Monitor لقياس استهلاك وحدة الطلب (RU) لموجز التغيير. لمزيد من المعلومات، راجع مراقبة معدل النقل أو استخدام وحدة الطلب في Azure Cosmos DB.

الخطوات التالية

يمكنك الآن المتابعة لتعرف المزيد حول موجز التغيير في المقالات التالية: