ما هي الكتالوجات في Azure Databricks؟
الكتالوج هو الوحدة الأساسية لتنظيم البيانات في نموذج إدارة بيانات كتالوج Azure Databricks Unity. تقدم هذه المقالة نظرة عامة على الكتالوجات في كتالوج Unity وأفضل طريقة لاستخدامها.
الكتالوجات هي الطبقة الأولى في مساحة الاسم ثلاثية المستوى في كتالوج Unity (catalog.schema.table-etc
). وهي تحتوي على مخططات، والتي بدورها يمكن أن تحتوي على جداول وطرق عرض ووحدات تخزين ونماذج ووظائف. يتم تسجيل الكتالوجات في مخزن بيانات تعريف كتالوج Unity في حساب Azure Databricks الخاص بك.
كيف يمكنني تنظيم بياناتي في كتالوجات؟
عند تصميم نموذج إدارة البيانات، يجب أن تفكر بعناية في الكتالوجات التي تقوم بإنشائها. كأعلى مستوى في نموذج إدارة البيانات في مؤسستك، يجب أن يمثل كل كتالوج وحدة منطقية لعزل البيانات وفئة منطقية للوصول إلى البيانات، ما يسمح بتسلسل هرمي فعال من المنح للتدفق لأسفل إلى المخططات وكائنات البيانات التي تحتوي عليها. لذلك غالبا ما تعكس الكتالوجات الوحدات التنظيمية أو نطاقات دورة حياة تطوير البرامج. قد تختار، على سبيل المثال، أن يكون لديك كتالوج لبيانات الإنتاج وكتالوج لبيانات التطوير، أو كتالوج للبيانات غير الخاصة بالعميل وآخر لبيانات العملاء الحساسة.
عزل البيانات باستخدام الكتالوجات
عادة ما يكون لكل كتالوج موقع تخزين مدار خاص به لتخزين الجداول ووحدات التخزين المدارة، ما يوفر عزل البيانات الفعلية على مستوى الكتالوج. يمكنك أيضا اختيار تخزين البيانات على مستوى metastore، وتوفير موقع تخزين افتراضي للكتالوجات التي لا تحتوي على موقع تخزين مدار خاص بها. يمكنك إضافة تخزين على مستوى المخطط لعزل بيانات أكثر دقة.
نظرا لأن حساب Azure Databricks الخاص بك يحتوي على مخزن بيانات تعريف واحد لكل منطقة، يتم عزل الكتالوجات بطبيعتها حسب المنطقة.
لمزيد من المعلومات، راجع ما هي كائنات قاعدة البيانات في Azure Databricks؟ ويتم فصل البيانات فعليا في التخزين.
امتيازات على مستوى الكتالوج
نظرا لأن المنح على أي كائن كتالوج Unity موروثة بواسطة توابع هذا الكائن، فإن امتلاك كتالوج أو وجود امتيازات واسعة على الكتالوج أمر قوي جدا. على سبيل المثال، يمتلك مالكو الكتالوج جميع الامتيازات على الكتالوج والكائنات الموجودة في الكتالوج، ويمكنهم منح حق الوصول إلى أي كائن في الكتالوج. يمكن للمستخدمين الذين لديهم SELECT
كتالوج قراءة أي جدول في الكتالوج. يمكن للمستخدمين الذين لديهم CREATE TABLE
كتالوج إنشاء جدول في أي مخطط في الكتالوج.
لفرض مبدأ الامتياز الأقل، حيث يكون لدى المستخدمين الحد الأدنى من الوصول الذي يحتاجونه لتنفيذ المهام المطلوبة، عادة ما تمنح حق الوصول فقط إلى العناصر أو المستوى المحدد في التسلسل الهرمي الذي يتطلبه المستخدم. ولكن امتيازات مستوى الكتالوج تسمح لمالك الكتالوج بإدارة ما يمكن لمالكي الكائنات ذي المستوى الأدنى منحه. حتى إذا تم منح المستخدم حق الوصول إلى كائن بيانات منخفض المستوى مثل جدول، على سبيل المثال، لا يمكن لهذا المستخدم الوصول إلى هذا الجدول ما لم يكن لديه USE CATALOG
أيضا الامتياز على الكتالوج الذي يحتوي على الجدول.
لمزيد من المعلومات، راجع إدارة ملكية كائن كتالوج Unity وأنواع امتيازات كتالوج Unity العام وكتل إنشاء إدارة البيانات وعزل البيانات.
أنواع الكتالوجات
عند إنشاء كتالوج، يتم منحك خيارين:
- الكتالوج القياسي: الكتالوج النموذجي، المستخدم كوحدة أساسية لتنظيم كائنات البيانات في كتالوج Unity. هذا هو نوع الكتالوج الذي تمت مناقشته في هذه المقالة.
- الكتالوج الخارجي: كائن كتالوج Unity يستخدم فقط في سيناريوهات Lakehouse Federation . يعكس الكتالوج الخارجي قاعدة بيانات في نظام بيانات خارجي، مما يتيح لك إجراء استعلامات للقراءة فقط على نظام البيانات هذا في مساحة عمل Azure Databricks. راجع ما هو Lakehouse Federation؟.
بالإضافة إلى هذين النوعين من الكتالوجات، توفر Azure Databricks الكتالوجات التالية تلقائيا عند إنشاء مساحة عمل جديدة:
hive_metastore
الكتالوج: هذا هو مستودع جميع البيانات التي تديرها Hive metastore القديمة في مساحات عمل Azure Databricks. عند تحويل مساحة عمل موجودة غير Unity Catalog إلى كتالوج Unity، تظهر جميع الكائنات المسجلة في Metastore Hive القديم في كتالوج Unity في الكتالوجhive_metastore
. للحصول على معلومات حول العمل مع Hive metastore جنبا إلى جنب مع كتالوج Unity، راجع العمل مع كتالوج Unity و Hive metastore القديم. تم إهمال Hive metastore، ويجب ترحيل جميع مساحات عمل Azure Databricks إلى كتالوج Unity.- كتالوج مساحة العمل: في جميع مساحات العمل الجديدة، يتم إنشاء هذا الكتالوج لك بشكل افتراضي. عادة ما تشارك اسمها مع اسم مساحة العمل الخاصة بك. إذا كان هذا الكتالوج موجودا، فإن جميع المستخدمين في مساحة العمل الخاصة بك (ومساحة العمل الخاصة بك فقط) لديهم حق الوصول إليها بشكل افتراضي، ما يجعلها مكانا مناسبا للمستخدمين لتجربة عملية إنشاء كائنات البيانات والوصول إليها في كتالوج Unity. راجع الخطوة 1: تأكد من تمكين مساحة العمل الخاصة بك في كتالوج Unity.
الكتالوج الافتراضي
يتم تكوين كتالوج افتراضي لكل مساحة عمل تم تمكينها ل Unity Catalog. يتيح لك الكتالوج الافتراضي إجراء عمليات البيانات دون تحديد كتالوج. إذا حذفت اسم كتالوج المستوى الأعلى عند إجراء عمليات البيانات، افتراض الكتالوج الافتراضي.
إذا تم تمكين مساحة العمل الخاصة بك ل Unity Catalog تلقائيا، يتم تحديد كتالوج مساحة العمل المقدم مسبقا ككتالوج افتراضي. يمكن لمسؤول مساحة العمل تغيير الكتالوج الافتراضي حسب الحاجة.
للحصول على التفاصيل، راجع إدارة الكتالوج الافتراضي.
ربط كتالوج مساحة العمل
إذا كنت تستخدم مساحات العمل لعزل الوصول إلى بيانات المستخدم، فقد تحتاج إلى استخدام روابط كتالوج مساحة العمل. تمكنك روابط كتالوج مساحة العمل من تقييد الوصول إلى الكتالوج حسب حدود مساحة العمل. على سبيل المثال، يمكنك التأكد من أن مسؤولي مساحة العمل والمستخدمين يمكنهم الوصول إلى بيانات الإنتاج فقط من prod_catalog
بيئة مساحة عمل الإنتاج، prod_workspace
. تتم مشاركة الكتالوجات مع كافة مساحات العمل المرفقة بمخزن التعريف الحالي ما لم تحدد ربطا. راجع تنظيم البيانات وتقييد الوصول إلى الكتالوج إلى مساحات عمل معينة.
إذا تم تمكين مساحة العمل الخاصة بك ل Unity Catalog تلقائيا، فإن كتالوج مساحة العمل المقدم مسبقا مرتبط بمساحة العمل بشكل افتراضي.