إنشاء حاوية مخزن تحليلي مُمكَّنة
بعد تمكين Azure Synapse Link في حساب Azure Cosmos DB، يمكنك إنشاء حاوية أو تحديثها بدعم من مخزن تحليلي.
المخزن التحليلي هو مخزن يستند إلى الأعمدة داخل نفس الحاوية مثل مخزن تشغيلي يستند إلى الصف. تقوم عملية المزامنة التلقائية بمزامنة التغييرات في المخزن التشغيلي إلى المخزن التحليلي؛ حيث يمكن الاستعلام من هناك عنه دون تكبد نفقات معالجة في المخزن التشغيلي.
أنواع مخطط المخزن التحليلي
نظراً لأن البيانات من المخزن التشغيلي متزامنة مع المخزن التحليلي، يتم تحديث المخطط ديناميكياً ليعكس بنية المستندات التي تتم مزامنتها. يعتمد السلوك المحدد لصيانة المخطط الديناميكي هذا على نوع مخطط المخزن التحليلي الذي تم تكوينه لحساب Azure Cosmos DB. يتم دعم نوعين من تمثيل المخطط:
- محدد جيدا: نوع المخطط الافتراضي لحساب Azure Cosmos DB ل NoSQL.
- الدقة الكاملة: نوع المخطط الافتراضي (والمدعم فقط) لحساب Azure Cosmos DB لحساب MongoDB.
يتلقى المخزن التحليلي بيانات JSON من المخزن التشغيلي وينظمها في بنية قائمة على العمود. في مخطط محدد جيداً، يحدد أول تكرار غير فارغ لحقل JSON نوع البيانات لهذا الحقل. لا يتم استيعاب التكرارات اللاحقة للحقل غير المتوافق مع نوع البيانات المعين في المخزن التحليلي.
على سبيل المثال، ضع في اعتبارك مستندي JSON التاليين:
{"productID": 123, "productName": "Widget"}
{"productID": "124", "productName": "Wotsit"}
يحدد المستند الأول أن حقل productID هو قيمة رقمية (عدد صحيح). عند مصادفة المستند الثاني، يحتوي حقل productID الخاص به على قيمة سلسلة، وبالتالي لا يتم استيراده إلى المخزن التحليلي. يتم استيراد المستند وبقية الحقل الخاص به، ولكن يتم إسقاط الحقل غير المتوافق. تمثل الأعمدة التالية البيانات في المخزن التحليلي:
productID | productName |
---|---|
123 | عنصر واجهة المستخدم |
Wotsit |
في مخطط الدقة الكاملة، يتم إلحاق نوع البيانات بكل مثيل من الحقل، مع إنشاء أعمدة جديدة حسب الضرورة؛ تمكين المخزن التحليلي من احتواء تكرارات متعددة لحقل، لكل منها نوع بيانات مختلف، كما هو موضح في الجدول التالي:
productID.int32 | productName.string | productID.string |
---|---|---|
123 | عنصر واجهة المستخدم | |
Wotsit | 124 |
إشعار
لمزيد من المعلومات، راجع ما هو مخزن Azure Cosmos DB التحليلي؟.
تمكين دعم المخزن التحليلي في حاوية
يمكنك تمكين دعم المخزن التحليلي عند إنشاء حاوية جديدة أو لحاوية موجودة. لتمكين دعم المخزن التحليلي، يمكنك استخدام مدخل Microsoft Azure، أو يمكنك استخدام Azure CLI أو Azure PowerShell من سطر أوامر أو في برنامج نصي.
استخدام مدخل Microsoft Azure
لتمكين دعم المخزن التحليلي عند إنشاء حاوية جديدة في مدخل Microsoft Azure، حدد الخيار On من أجل Analytical Store، كما هو موضح هنا:
بدلاً من ذلك، يمكنك تمكين دعم المخزن التحليلي لحاوية موجودة في صفحة Azure Synapse Link في قسم Integrations في الصفحة لحساب Cosmos DB الخاص بك، كما هو موضح هنا:
استخدام Azure CLI
لاستخدام Azure CLI لتمكين دعم المخزن التحليلي في Azure Cosmos DB لحاوية NoSQL، قم بتشغيل az cosmosdb sql container create
الأمر (لإنشاء حاوية جديدة) أو az cosmosdb sql container update
أمر (لتكوين حاوية موجودة) مع --analytical-storage-ttl
المعلمة ، وتعيين وقت استبقاء للبيانات التحليلية. يتيح تحديد معلمة -analytical-storage-ttl
لـ -1 الاحتفاظ الدائم بالبيانات التحليلية. على سبيل المثال، ينشئ الأمر التالي حاوية جديدة تسمى my-container مع دعم مخزن تحليلي.
az cosmosdb sql container create --resource-group my-rg --account-name my-cosmos-db --database-name my-db --name my-container --partition-key-path "/productID" --analytical-storage-ttl -1
بالنسبة لحساب Azure Cosmos DB لحساب MongoDB، يمكنك استخدام az cosmosdb mongodb collection create
الأمر أو az cosmosdb mongodb collection update
مع المعلمة --analytical-storage-ttl
. بالنسبة إلى Azure Cosmos DB لحساب Apache Gremlin، استخدم az cosmosdb gremlin graph create
الأمر أو az cosmosdb gremlin graph update
مع المعلمة --analytical-storage-ttl
.
باستخدام Azure PowerShell
لاستخدام Azure PowerShell لتمكين دعم المخزن التحليلي في n Azure Cosmos DB لحاوية NoSQL، قم بتشغيل New-AzCosmosDBSqlContainer
cmdlet (لإنشاء حاوية جديدة) أو Update-AzCosmosDBSqlContainer
cmdlet (لتكوين حاوية موجودة) مع -AnalyticalStorageTtl
المعلمة ، وتعيين وقت استبقاء للبيانات التحليلية. يتيح تحديد معلمة -AnalyticalStorageTtl
لـ -1 الاحتفاظ الدائم بالبيانات التحليلية. على سبيل المثال، ينشئ الأمر التالي حاوية جديدة تسمى my-container مع دعم مخزن تحليلي.
New-AzCosmosDBSqlContainer -ResourceGroupName "my-rg" -AccountName "my-cosmos-db" -DatabaseName "my-db" -Name "my-container" -PartitionKeyKind "hash" -PartitionKeyPath "/productID" -AnalyticalStorageTtl -1
للحصول على حساب Azure Cosmos DB ل MongoDB API، استخدم New-AzCosmosDBMongoDBCollection
cmdlet أو Update-AzCosmosDBMongoDBCollection
مع المعلمة -AnalyticalStorageTtl
.
اعتبارات لتمكين دعم المتجر التحليلي
لا يمكن تعطيل دعم المخزن التحليلي دون حذف الحاوية. يؤدي تعيين قيمة TTL للمخزن التحليلي إلى 0 أو null إلى تعطيل المخزن التحليلي بشكلٍ فعّال من خلال عدم مزامنة العناصر الجديدة له مُجدداً من المخزن التشغيلي وحذف العناصر التي تمت مزامنتها بالفعل من المخزن التحليلي. بعد تعيين هذه القيمة إلى 0، لا يمكنك إعادة تمكين دعم المخزن التحليلي في الحاوية.