إمكانات النماذج المتعددة لقاعدة بيانات Azure SQL ومثيل SQL المُدار

ينطبق على: قاعدة بيانات Azure SQL مثيل Azure SQL المُدار

تمكّنك قواعد البيانات متعددة النماذج من تخزين البيانات والعمل معها بتنسيقات متعددة، مثل البيانات العلائقية والرسم البياني ومستندات JSON أو XML والبيانات المكانية وأزواج القيمة الرئيسية.

تستخدم مجموعة منتجات Azure SQL نموذجاً علائقيًّا يوفر أفضل أداء لمجموعة متنوعة من التطبيقات ذات الأغراض العامة. ومع ذلك، فإن منتجات Azure SQL مثل قاعدة بيانات Azure SQL وSQL Managed Instance لا تقتصر على البيانات العلائقية. أنها تمكّنك من استخدام التنسيقات غير العلائقية التي تم دمجها بإحكام في النموذج العلائقي.

ضع في اعتبارك استخدام إمكانات النماذج المتعددة في Azure SQL في الحالات التالية:

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

تصف الأقسام التالية أهم إمكانيات النماذج المتعددة في Azure SQL.

ملاحظة

يمكنك استخدام تعبيرات JSONPath وتعبيرات XQuery / XPath والوظائف المكانية وتعبيرات استعلام الرسم البياني في نفس استعلام Transact-SQL للوصول إلى أي بيانات قمت بتخزينها في قاعدة البيانات. يمكن لأي أداة أو لغة برمجة تنفيذ استعلامات Transact-SQL، وأيضاً استخدام واجهة الاستعلام هذه للوصول إلى البيانات متعددة النماذج. هذا هو الاختلاف الرئيسي من قواعد البيانات متعددة النماذج مثل Azure Cosmos DB، والتي توفر واجهات برمجة تطبيقات متخصصة لنماذج البيانات.

ميزات الرسم البياني

تقدم منتجات Azure SQL إمكانات قاعدة بيانات الرسم البياني لنمذجة علاقات كثير إلى كثير في قاعدة بيانات. الرسم البياني عبارة عن مجموعة من العقد (أو الرؤوس) والحواف (أو العلاقات). تمثل العقدة كياناً (على سبيل المثال، شخص أو مؤسسة). تمثل الحافة العلاقة بين العقدتين اللتين تربطهما (على سبيل المثال، الإعجابات أو الأصدقاء).

فيما يلي بعض الميزات التي تجعل قاعدة بيانات الرسم البياني فريدة:

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

تم دمجعلاقات الرسم البياني وإمكانيات استعلام الرسم البياني في Transact-SQL وتحصل على مزايا استخدام محرك قاعدة بيانات SQL Server كنظام إدارة قاعدة البيانات التأسيسي. تستخدم ميزات الرسم البياني استعلامات Transact-SQL القياسية المحسّنة باستخدام عامل تشغيل الرسم البياني MATCH للاستعلام عن بيانات الرسم البياني.

يمكن لقاعدة البيانات العلائقية أن تحقق أي شيء يمكن لقاعدة بيانات الرسم البياني أن تحققه. ومع ذلك، يمكن أن تسهل قاعدة بيانات الرسم البياني التعبير عن استفسارات معينة. يمكن أن يعتمد قرارك باختيار أحدهما على الآخر على العوامل التالية:

  • تحتاج إلى نمذجة البيانات الهرمية؛ حيث يمكن أن يكون للعقدة عدة أصول، لذلك لا يمكنك استخدام نوع بيانات hierarchyId.
  • يحتوي التطبيق الخاص بك على علاقات كثير إلى كثير معقدة. مع تطور التطبيق، يتم إضافة علاقات جديدة.
  • أنت بحاجة إلى تحليل البيانات والعلاقات المترابطة.
  • تريد استخدام شروط بحث T-SQL خاصة بالرسم البياني مثل SHORTEST_PATH.

ميزات JSON

في منتجات Azure SQL، يمكنك التحليل والاستعلام عن البيانات الممثلة في تنسيق JavaScript Object Notation (JSON) وتصدير البيانات الارتباطية كنص JSON. JSON هي ميزة أساسية لمحرك قاعدة بيانات SQL Server.

تتيح لك ميزات JSON وضع مستندات JSON في جداول، وتحويل البيانات الارتباطية إلى مستندات JSON، وتحويل مستندات JSON إلى بيانات علائقية. يمكنك استخدام لغة Transact-SQL القياسية المُحسَّنة بوظائف JSON لتحليل المستندات. يمكنك أيضاً استخدام الفهارس غير العنقودية أو فهارس مخزن الأعمدة أو الجداول المحسّنة للذاكرة لتحسين استعلاماتك.

JSON هو تنسيق بيانات شائع لتبادل البيانات في تطبيقات الويب والجوال الحديثة. يتم استخدام JSON أيضاً لتخزين البيانات شبه المنظمة في ملفات السجل أو في قواعد بيانات NoSQL. تعرض العديد من خدمات الويب REST نتائج منسقة كنص JSON أو تقبل البيانات المنسقة على هيئة JSON.

تحتوي معظم خدمات Azure على نقاط نهاية REST التي ترجع أو تستهلك JSON. تتضمن هذه الخدمات Azure Cognitive Search وAzure Storage وAzure Cosmos DB.

إذا كان لديك نص JSON، فيمكنك استخراج البيانات من JSON أو التحقق من تنسيق JSON بشكل صحيح باستخدام الدالات المضمنة JSON_VALUE وJSON_QUERY وISJSON. الوظائف الأخرى هي:

  • JSON_MODIFY: يتيح لك تحديث القيم داخل نص JSON.
  • OPENJSON: يمكن تحويل مصفوفة من كائنات JSON إلى مجموعة من الصفوف، لمزيد من الاستعلام والتحليل المتقدمين. يمكن تنفيذ أي استعلام SQL على مجموعة النتائج التي تم إرجاعها.
  • FOR JSON: يتيح لك تنسيق البيانات المخزنة في الجداول الارتباطية كنص JSON.

Diagram that illustrates JSON functions.

لمزيد من المعلومات، راجع كيفية العمل مع بيانات JSON.

يمكنك استخدام نماذج المستندات بدلاً من النماذج العلائقية في بعض السيناريوهات المحددة:

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

ميزات XML

تمكّنك ميزات XML من تخزين بيانات XML وفهرستها في قاعدة البيانات الخاصة بك واستخدام عمليات XQuery / XPath الأصلية للعمل مع بيانات XML. تحتوي منتجات Azure SQL على نوع بيانات XML ومضمّن متخصص ووظائف استعلام تعالج بيانات XML.

يوفر محرك قاعدة بيانات SQL Server نظاماً أساسيًّا قويًّا لتطوير التطبيقات لإدارة البيانات شبه المنظمة. تم دمج دعم XML في جميع مكونات محرك قاعدة البيانات ويتضمن:

  • القدرة على تخزين قيم XML محليًّا في عمود نوع بيانات XML يمكن كتابته وفقاً لمجموعة مخططات XML أو تركه دون كتابة. يمكنك فهرسة عمود XML.
  • القدرة على تحديد استعلام XQuery مقابل بيانات XML المخزنة في أعمدة ومتغيرات من نوع XML. يمكنك استخدام وظائف XQuery في أي استعلام Transact-SQL الذي يصل إلى نموذج بيانات تستخدمه في قاعدة البيانات الخاصة بك.
  • الفهرسة التلقائية لجميع العناصر في مستندات XML باستخدام فهرس XML الأساسي. أو يمكنك تحديد المسارات الدقيقة التي يجب فهرستها باستخدام فهرس XML الثانوي.
  • OPENROWSET، والذي يسمح بالتحميل المجمع لبيانات XML.
  • القدرة على تحويل البيانات العلائقية إلى تنسيق XML.

يمكنك استخدام نماذج المستندات بدلاً من النماذج العلائقية في بعض السيناريوهات المحددة:

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

الميزات المكانية

تمثل البيانات المكانية معلومات حول الموقع المادي وشكل الكائنات. يمكن أن تكون هذه الكائنات مواقع نقطية أو كائنات أكثر تعقيداً مثل البلدان/المناطق أو الطرق أو البحيرات.

يدعم Azure SQL نوعين من البيانات المكانية:

  • يمثل النوع الهندسي البيانات في نظام إحداثيات إقليدي (مسطح).
  • يمثل نوع الجغرافيا البيانات في نظام إحداثيات الأرض المستديرة.

تمكنك الميزات المكانية في Azure SQL من تخزين البيانات الهندسية والجغرافية. يمكنك استخدام الكائنات المكانية في Azure SQL لتحليل البيانات والاستعلام عنها في تنسيق JSON وتصدير البيانات العلائقية كنص JSON. تتضمن هذه الكائنات المكانية Pointو LineStringو Polygon. يوفر Azure SQL أيضاً فهارس مكانية متخصصة يمكنك استخدامها لتحسين أداء الاستعلامات المكانية.

يعدالدعم المكاني ميزة أساسية لمحرك قاعدة بيانات SQL Server.

أزواج قيم المفتاح

لا تحتوي منتجات Azure SQL على أنواع أو هياكل متخصصة تدعم أزواج القيمة الرئيسية، لأنه يمكن تمثيل بنيات القيمة الرئيسية محلياً كجداول علائقية قياسية:

CREATE TABLE Collection (
  Id int identity primary key,
  Data nvarchar(max)
)

يمكنك تخصيص هيكل القيمة الرئيسية هذا ليلائم احتياجاتك دون أي قيود. كمثال، يمكن أن تكون القيمة مستند XML بدلاً من النوع nvarchar(max) . إذا كانت القيمة وثيقة JSON، فيمكنك استخدام قيد CHECK للتحقق من صحة محتوى JSON. يمكنك وضع أي عدد من القيم المتعلقة بمفتاح واحد في الأعمدة الإضافية. على سبيل المثال:

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

للحصول على مثال حول كيفية استخدام النموذج العلائقي بشكل فعّال كحل زوج قيم مفتاح عمليًّا، راجع كيف يستخدم bwin SQL Server 2016 In-Memory OLTP لتحقيق أداء وحجم غير مسبوقين. في دراسة الحالة هذه، استخدمت bwin نموذجاً علائقيًّا لحل التخزين المؤقت ASP.NET لتحقيق 1.2 مليون دفعة في الثانية.

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

إمكانيات النماذج المتعددة هي ميزات محرك قاعدة بيانات SQL Server الأساسية التي يتم مشاركتها بين منتجات Azure SQL. لمعرفة المزيد حول هذه الميزات، راجع هذه المقالات: