تكوين واستخدام ارتباط نقاط الاشتباك العصبي Azure لـ Azure Cosmos DB
ينطبق على: NoSQL MongoDB العفريت
Azure Synapse Link لـ Azure Cosmos DB هو قدرة معالجة المعاملات والتحليلات الهجينة (HTAP) الهجينة التي تمكنك من تشغيل تحليلات قريبة في الوقت الفعلي عبر البيانات التشغيلية في Azure Cosmos DB. Synapse Link يخلق تكامل سلس ضيق بين Azure Cosmos DB وتحليلات نقاط الاشتباك العصبي Azure.
هام
النسخ المتطابق في Microsoft Fabric متاح الآن في المعاينة ل NoSql API. توفر هذه الميزة جميع إمكانيات Azure Synapse Link بأداء تحليلي أفضل، والقدرة على توحيد ملكية بياناتك باستخدام Fabric OneLake والوصول المفتوح إلى بياناتك في OneLake بتنسيق Delta Parquet. إذا كنت تفكر في Azure Synapse Link، نوصي بتجربة النسخ المتطابق لتقييم ملاءمة مؤسستك بشكل عام. للبدء في النسخ المتطابق، انقر هنا.
يتوفر Azure Synapse Link لواجهة برمجة تطبيقات Azure Cosmos DB SQL أو لواجهة برمجة تطبيقات Azure Cosmos DB API لحسابات Mongo DB. وهو قيد المعاينة لواجهة برمجة تطبيقات Gremlin، مع التنشيط عبر أوامر CLI. استخدم الخطوات التالية لتشغيل الاستعلامات التحليلية مع ارتباط نقاط الاشتباك العصبي Azure لـAzure Cosmos DB:
- تمكين Azure Synapse Link لحساباتك على Azure Cosmos DB
- تمكين Azure Synapse Link للحاويات الخاصة بك
- توصيل قاعدة بيانات Azure Cosmos DB بمساحة عمل Azure Synapse
- مخزن تحليلي للاستعلام باستخدام Azure Synapse Analytics
- تحسين الأداء باستخدام أفضل الممارسات
- استخدام تجمع SQL دون خادم لـ Azure Synapse لتحليل البيانات وتصورها في Power BI
يمكنك أيضا التحقق من وحدة التدريب النمطية حول كيفية تكوين Azure Synapse Link ل Azure Cosmos DB.
الاتصال بـ Azure Synapse Link لـ Azure Cosmos DB
الخطوة الأولى لاستخدام Synapse Link هي تمكينه لحساب قاعدة بيانات Azure Cosmos DB.
إشعار
إذا كنت ترغب في استخدام مفاتيح مدارة من قبل العملاء مع Azure Synapse Link، يجب عليك تكوين الهوية المدارة لحسابك في سياسة الوصول إلى Azure Key Vault قبل تمكين Synapse Link على حسابك. لمعرفة المزيد، راجع كيفية تكوين المفاتيح التي يديرها العملاء باستخدام مقالة الهويات المدارة لحسابات Azure Cosmos DB.
إشعار
إذا كنت ترغب في استخدام مخطط الدقة الكاملة لواجهة برمجة التطبيقات لحسابات NoSQL، فلا يمكنك استخدام مدخل Microsoft Azure لتمكين Synapse Link. لا يمكن تغيير هذا الخيار بعد تمكين "ارتباط نقاط الاشتباك العصبي" في حسابك وتعيينه يجب استخدام Azure CLI أو PowerShell. لمزيد من المعلومات، تحقق من وثائق تمثيل مخطط مخزن التحليل.
إشعار
تحتاج إلى دور المساهم لتمكين Synapse Link على مستوى الحساب. وتحتاج إلى عامل تشغيل على الأقل لتمكين Synapse Link في حاوياتك أو مجموعاتك.
مدخل Azure
قم بتسجيل الدخول إلى بوابة Azure.
إنشاء حساب Azure جديد، أو تحديد حساب Azure Cosmos DB موجود.
انتقل إلى حساب Azure Cosmos DB وافتح Azure Synapse Link ضمن Integrations في الجزء الأيمن.
حدد تمكين. قد تستغرق هذه العملية من دقيقة إلى خمس دقائق لإكمالها.
حسابك الآن تمكين لاستخدام وصلة Synapse. بعد ذلك انظر كيفية إنشاء مخزن التحليلية تمكين الحاويات لبدء تكرار البيانات التشغيلية تلقائياً من مخزن المعاملات إلى مخزن التحليلية.
إشعار
لا يتم تشغيل رابط Synapse على المخزن التحليلي تلقائيا. بمجرد تمكين Synapse Link على حساب Cosmos DB، مكِّن المخزن التحليلي على الحاويات لبدء استخدام Synapse Link.
إشعار
يمكنك أيضا تمكين Synapse Link لحسابك باستخدام Power BI وجزء Synapse Link ، في قسم Integrations من قائمة التنقل اليسرى.
أدوات سطر الأوامر
تمكين Synapse Link في Azure Cosmos DB API لحساب NoSQL أو MongoDB باستخدام Azure CLI أو PowerShell.
Azure CLI
استخدام --enable-analytical-storage true
في كلٍّ من عمليتي الإنشاء أو التحديث. تحتاج أيضا إلى اختيار نوع مخطط التمثيل. بالنسبة إلى واجهة برمجة التطبيقات لحسابات NoSQL، يمكنك استخدام --analytical-storage-schema-type
مع القيم FullFidelity
أو WellDefined
. بالنسبة إلى واجهة برمجة التطبيقات لحسابات MongoDB، استخدم --analytical-storage-schema-type FullFidelity
دائما .
- إنشاء حساب جديد Azure Cosmos DB مع تمكين ارتباط Synapse
- تحديث حساب Azure Cosmos DB موجود لتمكين ارتباط Synapse
استخدم Azure CLI لتمكين Synapse Link ل Azure Synapse Link لحساب Gremlin API.
رابط Synapse لواجهة برمجة تطبيقات Gremlin قيد المعاينة الآن. يمكنك تمكين Synapse Link في الرسوم البيانية الجديدة أو الموجودة باستخدام Azure CLI. استخدم الأمر CLI أدناه لتمكين Synapse Link لحساب Gremlin API الخاص بك:
az cosmosdb create --capabilities EnableGremlin --name MyCosmosDBGremlinDatabaseAccount --resource-group MyResourceGroup --enable-analytical-storage true
بالنسبة لحسابات Gremlin API الموجودة، استبدل create
ب update
.
PowerShell
استخدام EnableAnalyticalStorage true
في كلٍّ من عمليتي الإنشاء أو التحديث. تحتاج أيضا إلى اختيار نوع مخطط التمثيل. بالنسبة إلى واجهة برمجة التطبيقات لحسابات NoSQL، يمكنك استخدام --analytical-storage-schema-type
مع القيم FullFidelity
أو WellDefined
. بالنسبة إلى واجهة برمجة التطبيقات لحسابات MongoDB، استخدم -AnalyticalStorageSchemaType FullFidelity
دائما .
- إنشاء حساب جديد Azure Cosmos DB مع تمكين ارتباط Synapse
- تحديث حساب Azure Cosmos DB موجود لتمكين ارتباط Synapse
قالب Azure Resource Manager
ينشئ قالب Azure Resource Manager هذا حساب Azure Cosmos DB ممكن لواجهة برمجة تطبيقات SQL. ينشئ هذا القالب حساب API Core (SQL) في منطقة واحدة مع حاوية تم تكوينها مع تمكين TTL التحليلية، وخيار لاستخدام معدل النقل اليدوي أو التلقائي. لنشر هذا القالب، انقر فوق نشر إلى Azure في صفحة القراءة.
تمكين Azure Synapse Link للحاويات الخاصة بك
الخطوة الثانية هي تمكين Synapse Link للحاويات أو المجموعات. يتم إنجاز ذلك عن طريق تعيين الخاصية analytical TTL
إلى -1
للاحتفاظ اللانهائي، أو إلى عدد صحيح موجب، وهذا هو عدد الثوان التي تريد الاحتفاظ بها في المخزن التحليلي. يمكن تغيير هذا الإعداد لاحقاً. لمزيد من المعلومات، راجع مقالة القيم التحليلية المتوافقة مع TTL.
يرجى ملاحظة التفاصيل التالية عند تمكين Azure Synapse Link على حاويات واجهة برمجة تطبيقات SQL الموجودة:
- ينطبق عزل الأداء نفسه لعملية المزامنة التلقائية لمخزن التحليل على المزامنة الأولية ولا يوجد أي تأثير في أداء حمل عمل OLTP.
- تختلف المزامنة الأولية للحاوية مع الوقت الإجمالي للمخزن التحليلي وفقاً لحجم البيانات وتعقيد المستندات. يمكن أن تستغرق هذه العملية في أي مكان فترة من بضع ثوانٍ إلى عدة أيام. يُرجى استخدام مدخل Azure لمراقبة تقدم الترحيل.
- يؤثر معدل نقل الحاوية أو حساب قاعدة البيانات أيضاً في إجمالي وقت المزامنة الأولية. على الرغم من أن وحدات الطلب/الثانية غير مستخدمة في عملية الترحيل، إلا إن إجمالي وحدات الطلب/الثانية المتوفر يؤثر في أداء العملية. يمكنك زيادة وحدات الطلب المتوفرة في البيئة مؤقتاً لتسريع العملية.
- لن تتمكن من الاستعلام عن المخزن التحليلي للحاوية الموجودة أثناء تمكين Synapse Link على الحاوية. لا يتأثر حمل عمل OLTP ويمكنك الاستمرار في قراءة البيانات بشكل طبيعي. ستُدمَج البيانات المُدخَلة بدء المزامنة الأولية في المخزن التحليلي من خلال عملية المزامنة التلقائية العادية للمخزن التحليلي.
إشعار
يمكنك الآن تمكين Synapse Link على مجموعات MongoDB API الحالية، باستخدام Azure CLI أو PowerShell.
مدخل Azure
حاوية جديدة
تسجيل الدخول إلى مدخل Microsoft Azure أو مستكشف Azure Cosmos DB .
انتقل إلى حساب Azure Cosmos الخاص بك وافتح مستكشف البيانات.
حدد حاوية جديدة وأدخل اسما لقاعدة البيانات والحاوية ومفتاح القسم وتفاصيل معدل النقل. قم بتشغيل خيار مخزن التحليل. بعد تمكين المخزن التحليلي، ينشئ حاوية مع خاصية
analytical TTL
معينة على القيمة الافتراضية -1 (استبقاء لا نهائي للبيانات). هذا المخزن التحليلي الذي يحتفظ بجميع الإصدارات التاريخية من السجلات ويمكن تغييره لاحقاً.إذا لم تكن قد قمت مسبقا بتمكين Synapse Link على هذا الحساب، فسيطلب منك ذلك لأنه شرط مسبق لإنشاء حاوية ممكنة لمتجر تحليلي. إذا طلب منك ذلك، فحدد تمكين ارتباط Synapse. قد تستغرق هذه العملية من دقيقة إلى خمس دقائق لإكمالها.
حدد "OK" لإنشاء حاوية Azure Cosmos DB تمكِّن مخزناً تحليلياً.
بعد إنشاء الحاوية، تحقق من تمكين مخزن التحليل بالنقر فوق الإعدادات، أسفل المستندات في "مستكشف البيانات" مباشرة، وتحقق مما إذا كان الخيار وقت مخزن التحليل إلى Live قيد التشغيل.
الحاوية الموجودة
تسجيل الدخول إلى مدخل Microsoft Azure أو مستكشف Azure Cosmos DB .
انتقل إلى حساب Azure Cosmos DB وافتح علامة التبويب Azure Synapse Link .
ضمن قسم Enable Azure Synapse Link for your containers حدد الحاوية.
بعد تمكين الحاوية، تحقق من تمكين المخزن التحليلي بالنقر فوق الإعدادات، أسفل المستندات مباشرة في مستكشف البيانات، وتحقق مما إذا كان الخيار وقت التخزين التحليلي إلى Live قيد التشغيل.
إشعار
يمكنك أيضا تمكين Synapse Link لحسابك باستخدام Power BI وجزء Synapse Link ، في قسم Integrations من قائمة التنقل اليسرى.
أدوات سطر الأوامر
Azure CLI
تمكن الخيارات التالية Synapse Link في حاوية باستخدام Azure CLI عن طريق تعيين الخاصية --analytical-storage-ttl
.
استخدام Azure CLI لتمكين Synapse Link ل Azure Synapse Link ل Gremlin API Graphs
رابط Synapse لواجهة برمجة تطبيقات Gremlin قيد المعاينة الآن. يمكنك تمكين Synapse Link في الرسوم البيانية الجديدة أو الحالية باستخدام Azure CLI. استخدم الأمر CLI أدناه لتمكين Synapse Link للرسوم البيانية لواجهة برمجة تطبيقات Gremlin:
az cosmosdb gremlin graph create --g MyResourceGroup --a MyCosmosDBGremlinDatabaseAccount --d MyGremlinDB --n MyGraph --analytical-storage-ttl –1
بالنسبة للرسوم البيانية الموجودة، استبدل create
ب update
.
PowerShell
تمكن الخيارات التالية Synapse Link في حاوية باستخدام Azure CLI عن طريق تعيين الخاصية -AnalyticalStorageTtl
.
Azure Cosmos DB SDKs - واجهة برمجة تطبيقات SQL فقط
.NET SDK
تنشئ التعليمات البرمجية .NET التالية حاوية ممكنة ل Synapse Link عن طريق تعيين الخاصية AnalyticalStoreTimeToLiveInSeconds
. لتحديث حاوية موجودة، استخدم Container.ReplaceContainerAsync
الأسلوب .
CosmosClient cosmosClient = new CosmosClient(
accountEndpoint: "<nosql-account-endpoint>",
tokenCredential: new DefaultAzureCredential()
);
// Create a container with a partition key, and analytical TTL configured to -1 (infinite retention)
ContainerProperties properties = new ContainerProperties()
{
Id = "myContainerId",
PartitionKeyPath = "/id",
AnalyticalStoreTimeToLiveInSeconds = -1,
};
await cosmosClient.GetDatabase("myDatabase").CreateContainerAsync(properties);
Java V4 SDK
تنشئ التعليمات البرمجية Java التالية حاوية ممكنة ل Synapse Link عن طريق تعيين الخاصية setAnalyticalStoreTimeToLiveInSeconds
. لتحديث حاوية موجودة، استخدم container.replace
الفئة .
// Create a container with a partition key and analytical TTL configured to -1 (infinite retention)
CosmosContainerProperties containerProperties = new CosmosContainerProperties("myContainer", "/myPartitionKey");
containerProperties.setAnalyticalStoreTimeToLiveInSeconds(-1);
container = database.createContainerIfNotExists(containerProperties, 400).block().getContainer();
بايثون V4 SDK
تنشئ التعليمات البرمجية Python التالية حاوية ممكنة ل Synapse Link عن طريق تعيين الخاصية analytical_storage_ttl
. لتحديث حاوية موجودة، استخدم replace_container
الأسلوب .
# Client
client = cosmos_client.CosmosClient(HOST, KEY )
# Database client
try:
db = client.create_database(DATABASE)
except exceptions.CosmosResourceExistsError:
db = client.get_database_client(DATABASE)
# Creating the container with analytical store enabled
try:
container = db.create_container(
id=CONTAINER,
partition_key=PartitionKey(path='/id', kind='Hash'),analytical_storage_ttl=-1
)
properties = container.read()
print('Container with id \'{0}\' created'.format(container.id))
print('Partition Key - \'{0}\''.format(properties['partitionKey']))
except exceptions.CosmosResourceExistsError:
print('A container with already exists')
الاتصال بمساحة عمل Synapse
ستخدم التعليمات الواردة في الاتصال برابط Azure Synapse حول كيفية الوصول إلى قاعدة بيانات Azure Cosmos DB من Azure Synapse Analytics Studio باستخدام Azure Synapse Link.
مخزن تحليلي للاستعلام باستخدام Azure Synapse Analytics
مخزن تحليلي للاستعلام باستخدام Apache Spark ل Azure Synapse Analytics
استخدم الإرشادات الموجودة في مقالة مخزن تحليل Query Azure Cosmos DB باستخدام Spark 3 حول كيفية الاستعلام باستخدام Synapse Spark 3. هذه المقالة تعطي بعض الأمثلة حول كيفية التفاعل مع مخزن التحليلية من الإيماءات Synapse. هذه الإيماءات مرئية عند النقر بزر الماوس الأيمن على حاوية. مع الإيماءات، يمكنك بسرعة توليد رمز وتعديله لاحتياجاتك. كما أنها مثالية لاكتشاف البيانات بنقرة واحدة.
لتكامل Spark 2 استخدام التعليمات في مقالة مخزن تحليلي Query Azure Cosmos DB باستخدام Spark 2.
الاستعلام عن المخزن التحليلي باستخدام تجمع SQL بلا خادم في Azure Synapse Analytics
تجمع SQL بلا خادم يسمح لك الاستعلام وتحليل البيانات في حاويات DB Cosmos Azure التي تم تمكينها مع ارتباط Azure Synapse. يمكنك تحليل البيانات في الوقت الفعلي القريب دون التأثير على أداء أعباء العمل الخاصة بالمعاملات. وهو يوفر بناء جملة T-SQL مألوفا للاستعلام عن البيانات من المتجر التحليلي والاتصال المتكامل بمجموعة واسعة من أدوات الاستعلام BI والاستعلام المخصص عبر واجهة T-SQL. لمعرفة المزيد، راجع مخزن تحليل الاستعلام باستخدام مقالة تجمع SQL بلا خادم.
استخدام تجمع SQL بلا خادم لتحليل البيانات وتصورها في Power BI
يمكنك استخدام تجربة BI المتكاملة في مدخل Azure Cosmos DB، لإنشاء لوحات معلومات BI باستخدام Synapse Link ببضع نقرات فقط. لمعرفة المزيد، راجع كيفية إنشاء لوحات معلومات BI باستخدام Synapse Link. ستنشئ هذه التجربة المتكاملة طرق عرض T-SQL بسيطة في تجمعات SQL بلا خادم Synapse، لحاويات Azure Cosmos DB. يمكنك إنشاء لوحات معلومات BI عبر طرق العرض هذه، والتي ستستعلم عن حاويات Azure Cosmos DB في الوقت الفعلي، باستخدام استعلام مباشر؛ ما يعكس أحدث التغييرات التي تم إجراؤها على بياناتك. لا يوجد أي تأثير على الأداء أو التكلفة لأعباء العمل الخاصة بالمعاملات، ولا يوجد تعقيد في إدارة خطوط أنابيب ETL.
إذا كنت ترغب في استخدام طرق عرض T-SQL المتقدمة مع الصلات عبر حاوياتك أو إنشاء لوحات معلومات Power BI في وضع الاستيراد، فشاهد استخدام تجمع SQL بلا خادم لتحليل بيانات Azure Cosmos DB باستخدام Synapse Link.
تحسين الأداء باستخدام أفضل الممارسات
التقسيم المخصص
يمكنك التقسيم المخصص من تقسيم بيانات المخزن التحليلي على الحقول التي تستخدم عادة كعوامل تصفية في الاستعلامات التحليلية، ما يؤدي إلى تحسين أداء الاستعلام. لمعرفة المزيد، راجع مقدمة للتقسيم المعتاد وكيفية تكوين التقسيم المعتادللمقالات.
أفضل ممارسات Synapse SQL Serverless ل Azure Synapse Link ل Cosmos DB
استخدم أفضل الممارسات الإلزامية هذه للاستعلامات بلا خادم SQL.
البدء باستخدام Azure Synapse Link - عينات
نماذج لبدء استخدام Azure Synapse Link على GitHub تعرض هذه الحلول من نهاية إلى طرف مع سيناريوهات IoT والبيع بالتجزئة. يمكنك أيضا العثور على العينات المقابلة ل Azure Cosmos DB ل MongoDB في نفس المستودع ضمن مجلد MongoDB .
الخطوات التالية
لمعرفة المزيد، راجع المستندات التالية: