فهم دورة حياة الاستعلام
دعنا نفحص كيفية إدارة كتالوج الوحدة لتنفيذ الاستعلام، مع إيلاء اهتمام خاص لعناصر التحكم الأمنية والإدارية. سنتعرف خطوة بخطوة على ما يحدث عند إرسال استعلام مقابل جدول كتالوج الوحدة، الذي يغطي التفاعلات بين الحوسبة ومستوى التحكم ومستوى البيانات والتخزين السحابي.
دورة حياة الاستعلام في كتالوج يونيتي
يوضح الرسم التخطيطي التالي التدفق الكلي للاستعلام أثناء انتقاله عبر مكونات مختلفة في كتالوج Unity.
الخطوة 1: إرسال الاستعلام
تبدأ دورة الحياة عندما يصدر كيان (مستخدم أو هوية خدمة) استعلاما. يمكن أن تنشأ الاستعلامات بطرق مختلفة:
- قد يستخدم عالم البيانات مجموعة متعددة الأغراض لأحمال عمل Python أو SQL التفاعلية.
- قد يقوم كيان الخدمة بتشغيل مسار أو وظيفة مجدولة على نظام مجموعة وظائف.
- قد يرسل محلل البيانات استعلاما من خلال Databricks SQL، باستخدام مستودع SQL.
- يمكن لأداة ذكاء الأعمال (BI) المتصلة بمستودع SQL أيضا إنشاء الطلب.
في كل حالة، يتلقى مورد الحساب - نظام المجموعة أو المستودع - الاستعلام ويبدأ التنفيذ.
الخطوة 2: طلب التحقق من الصحة في كتالوج الوحدة
يقوم مورد الحساب بإعادة توجيه الطلب إلى كتالوج Unity. يعمل كتالوج الوحدة كمستوى تحكم للأمان والحوكمة. يسجل الطلب في سجل التدقيق ويتحقق مما إذا كان لدى الموكل الأذونات اللازمة للوصول إلى الكائنات المشار إليها في الاستعلام. إذا تم رفض الأذونات، يتم حظر الاستعلام وتسجيل الرفض. إذا تم منح حق الوصول، ينتقل الطلب إلى الأمام.
الخطوة 3: افتراض بيانات اعتماد السحابة
لكل كائن مشار إليه في الاستعلام، يفترض كتالوج Unity بيانات اعتماد السحابة المناسبة المقترنة بهذا الكائن. يتم تكوين بيانات الاعتماد هذه بواسطة مسؤول مجموعة النظراء.
- بالنسبة للجداول المدارة، تشير بيانات الاعتماد عادة إلى التخزين السحابي المرتبط بمخزن التعريف لكتالوج Unity.
- بالنسبة للجداول أو الملفات الخارجية، تتوافق بيانات الاعتماد مع موقع خارجي تحكمه بيانات اعتماد تخزين محددة.
Note
في Azure، الطريقة المفضلة لمنح حق الوصول إلى كتالوج Unity إلى Azure Data Lake Storage (ADLS Gen2) هي عبر الهوية المدارة + موصل الوصول (مقابل الاعتماد فقط على كيانات الخدمة). لديهم ميزة السماح ل Unity Catalog بالوصول إلى حسابات التخزين المحمية بقواعد الشبكة ، وهو أمر غير ممكن باستخدام مبادئ الخدمة ، ويزيلون الحاجة إلى إدارة الأسرار وتدويرها.
الخطوة 4: إصدار الرموز المميزة ذات النطاق
بمجرد التحقق من صحة بيانات الاعتماد، يقوم كتالوج الوحدة بإنشاء رمز وصول مؤقت محدد النطاق لكل كائن. إلى جانب الرمز المميز ، فإنه يوفر عنوان URL آمنا للوصول إليه. يسمح هذا لمورد الحوسبة بالقراءة مباشرة من التخزين دون الكشف عن بيانات الاعتماد طويلة الأمد.
الخطوة 5: الوصول إلى البيانات من التخزين
يستخدم مورد الحوسبة (نظام المجموعة أو مستودع SQL) الرمز المميز وعنوان URL الذي يوفره كتالوج الوحدة لطلب البيانات مباشرة من نقاط نهاية ADLS Gen2 الأساسية (عبر abfss:// أو dfs.core.windows.net عنوان URL)
Note
إذا كان حساب ADLS الخاص بك يحتوي على جدار حماية أو قيود على الشبكة الظاهرية، فيجب عليك السماح صراحة لموصل الوصول إلى Azure Databricks / الهوية المدارة بالوصول إلى التخزين (بالإضافة إلى السماح لعقد الحساب). إذا تم تأمين حساب التخزين، فقد يتم رفض رمز مميز صالح إذا لم يتم السماح بالهوية عبر قواعد جدار الحماية.
الخطوة 6: نقل البيانات
يقوم التخزين السحابي بإرجاع البيانات المطلوبة إلى مورد الحساب. تتكرر هذه العملية لكل كائن مشار إليه في الاستعلام.
الخطوة 7: التصفية الدقيقة
يفرض كتالوج يونيتي فلاتر على مستوى الصف والعمود على مورد الحوسبة نفسه. وهذا يضمن أن المديرين يرون فقط المجموعة الفرعية الدقيقة من البيانات التي يحق لهم الوصول إليها.
تقدم التصفية على مستوى الصف شروطا يتم تقييمها في وقت تنفيذ الاستعلام داخل محرك الحوسبة. على الرغم من أن نظام التخزين الأساسي قد يرجع مجموعة بيانات أوسع، يضمن كتالوج الوحدة أن الصفوف المطابقة للشروط المحددة فقط هي المرئية للكيان الطالب. هذا يسمح لعدة مستخدمين بالاستعلام عن نفس الجدول، لكن كل مستخدم يحصل على عرض مخصص ومقيد للبيانات. وظيفة تصفية الصفوف هي في الأساس مسند (تعبير SQL أو وظيفة معرفة من قبل المستخدم) يتم تقييمها أثناء تنفيذ الاستعلام.
تعمل التصفية على مستوى العمود بشكل مشابه ولكن على مستوى السمة. يمكن إخفاء أعمدة معينة أو تحويلها بحيث يتم إخفاء المعلومات الحساسة أو إخفاء هويتها، اعتمادا على امتيازات المدير. وهذا يجعل من الممكن مشاركة مجموعات البيانات على نطاق واسع مع ضمان أن تكون الحقول السرية مرئية بالكامل فقط لأولئك الذين لديهم تفويض مناسب.
الخطوة 8: إرجاع النتيجة
يتم إرجاع نتيجة الاستعلام التي تمت تصفيتها من مورد الحساب إلى المستخدم أو الوظيفة أو التطبيق المتصل
كيف تعمل الاستعلامات مع Apache Hive
تم تصميم كتالوج الوحدة لتبسيط الحوكمة ، ولكنه يحافظ أيضا على التوافق مع metastore القديم ل Hive. عند تعيين مساحة عمل إلى مخزن تعريف كتالوج Unity، تظهر Hive كتالوج خاص باسم hive_metastore. لا يزال من الممكن الاستعلام عن الجداول المخزنة هناك من خلال الرجوع إلى هذا الكتالوج في مساحة الاسم.
Note
التحكم في الوصول إلى جدول Hive metastore هو نموذج إدارة بيانات قديم.
تختلف دورة حياة الاستعلام مقابل جدول Hive عن كتالوج Unity بعدة طرق:
- لا توفر Hive حوكمة مركزية ودقيقة. بدلا من ذلك، غالبا ما يحتاج المسؤولون إلى إدارة حسابات الخدمة أو الأسرار أو ملفات تعريف المثيلات للمصادقة والتفويض.
- قد يتضمن الوصول إلى البيانات إعداد نقاط تحميل أو مصادقة تمرير أو نهج تخزين، ويتطلب كل منها تكوينا إضافيا.
- تعد عناصر تسجيل التدقيق والتحكم في الوصول أقل تكاملا مقارنة بكتالوج Unity ، مما قد يؤدي إلى عدم الاتساق في إنفاذ الأمان.
الخطوة 1: إرسال الاستعلام
يرسل كيان (مستخدم أو خدمة) استعلاما إلى نظام مجموعة أو نقطة نهاية SQL. هذه هي نقطة البداية لجميع استعلامات Hive.
الخطوة 2: التحقق من الوصول
تتحقق المجموعة من الاستعلام مقابل قوائم التحكم في الوصول إلى الجدول (ACL). تحدد قوائم التحكم في الوصول هذه ما إذا كان للمدير الطالب الحق في الوصول إلى الجدول المحدد.
الخطوة 3: البحث عن الموقع
إذا تم منح الوصول، فإن نظام المجموعة يستشير مخزن تعريف Hive للعثور على موقع تخزين الجدول. يحتوي المخزن التعريفي على بيانات وصفية حول الجداول، بما في ذلك المخططات ومسارات التخزين.
الخطوة 4: تم إرجاع المسار
يقوم مخزن Hive التعريفي بإرجاع مسار التخزين إلى نظام المجموعة، عادة كعنوان URI (على سبيل المثال، abfss://...). يشير هذا المسار إلى الموقع الفعلي لبيانات الجدول في التخزين السحابي.
الخطوة 5: طلب البيانات
تحاول المجموعة قراءة البيانات من التخزين السحابي. في هذه المرحلة، يجب المصادقة باستخدام إحدى الآليات المتعددة، مثل كيان الخدمة أو المصادقة التمريرية أو ملف تعريف المثيل. غالبا ما يحتاج المسؤولون إلى تكوين بيانات الاعتماد هذه مسبقا، إلى جانب الأسرار ونقاط التحميل.
الخطوة 6: البيانات التي تم إرجاعها
يرسل التخزين السحابي البيانات المطلوبة مرة أخرى إلى نظام المجموعة.
الخطوة 7: إنفاذ السياسات
تفرض المجموعة أي تصفية للميل الأخير لإزالة البيانات التي لا يجب أن يراها المدير. قد يتضمن ذلك تطبيق قيود على مستوى الصف أو العمود في وقت الاستعلام.
الخطوة 8: تسليم النتائج
يتم إرسال نتيجة الاستعلام النهائية مرة أخرى إلى الموكل الذي أصدر الطلب.
من الناحية العملية ، هذا يعني أن الاستعلام عن Hive يتضمن المزيد من الخطوات الإدارية اليدوية والصيانة المستمرة. يقلل كتالوج الوحدة من هذه النفقات العامة عن طريق أتمتة معالجة بيانات الاعتماد ، وتوفير الرموز المميزة المحددة النطاق ، وفرض السياسات باستمرار عبر جميع الكائنات.