كتالوجات البيانات
Catalogs provide persistent metadata layers that let Ilum's execution engines (Spark, Trino, DuckDB, and Flink) share table definitions across sessions, jobs, and engines. Ilum supports four catalogs: Hive Metastore , مشروع نيسي , كتالوج الوحدة و DuckLake. Each is integrated with workloads, data storage, and session management, enabling reliable and collaborative data workflows. Tables defined once are queryable from every engine that can connect to the same catalog.
الكتالوجات المدعومة
كتالوج الخلية (افتراضي)
- كتالوج الخلية يستفيد من Apache Hive Metastore لتخزين بيانات تعريف الجدول باستمرار.
- إنه من دواعي سروري ممكن افتراضيا في Ilum وتستخدم تلقائيا لجميع عمليات Spark SQL.
- No additional setup is required. Ilum configures Hive Metastore and integrates it with Spark, Trino, storage, and the Table Explorer UI.
- مثالي لسيناريوهات بحيرة البيانات الكلاسيكية حيث تكون متانة بيانات التعريف واكتشاف المخطط والتوافق مع أدوات مثل Trino أو Hive أو Superset أمرا بالغ الأهمية.
كتالوج Nessie (اختياري)
- كتالوج نيسي يدمج مشروع نيسي تمكين التحكم في الإصدار الشبيه ب Git لمستودع البيانات الخاص بك.
- يسمح لك بذلك فرع , العلامه و دمج التغييرات في كتالوج البيانات الخاص بك ، مما يؤدي إلى جلب مهام سير العمل التعاونية والقابلة للتدقيق إلى جداولك.
- نيسي هو اختياري في Ilum ويتطلب إعدادا إضافيا. بمجرد تكوينه ، يتكامل مع Spark عبر Apache Iceberg.
- الأنسب للتحليلات ذات الإصدارات وتجريب البيانات ومسارات CI/CD والسيناريوهات التي تحتاج إلى التراجع الكامل على مستوى الكتالوج أو البيئات المعزولة.
Unity Catalog (Optional)
- Unity Catalog OSS is an open-source data catalog for lakehouse architectures, providing a unified metadata layer with built-in governance features.
- It uses a three-level namespace (catalog → schema → table) for better data organization and provides comprehensive audit logging and data lineage.
- Unity Catalog is اختياري in Ilum and requires configuration. It offers fine-grained access control and centralized governance across workspaces.
- ⚠️ Known Limitation: Unity Catalog OSS currently has compatibility issues with MinIO. For production use, AWS S3, GCS, or ADLS are recommended.
- Best suited for organizations needing centralized governance, detailed audit trails, and fine-grained access control for their data lakehouse.
DuckLake (Default for DuckDB)
- DuckLake is a catalog built to bring concurrent capabilities to DuckDB.
- It is based on the parquet format and supports multiple backends.
- It supports time travel queries, schema evolution, and partitioning.
- إنه من دواعي سروري ممكن افتراضيا in Ilum and used automatically for all DuckDB operations, but can’t be integrated with anything else than DuckDB.
مقارنة الميزات
| الميزة / الجانب | كتالوج الخلية (افتراضي) | كتالوج Nessie (اختياري) | Unity Catalog (Optional) | DuckLake (Default for DuckDB) |
|---|---|---|---|---|
| استمرار | نعم - بيانات تعريف الجدول المخزنة في Hive Metastore | نعم - بيانات التعريف التي تم إصدارها عبر خدمة Nessie | Yes – metadata stored in Unity Catalog metastore | Yes - metadata stored in attached metadata DB |
| التحكم في الإصدار | لا | نعم - يدعم الفروع والعلامات والدمج | No – rely on table format features | Yes - supports time-travel and schema evolution |
| المعاملات متعددة الجداول | لا | نعم - التغيرات الذرية عبر جداول متعددة | لا | Yes - has concurrent access over multi-table operations |
| ممكن افتراضيا | نعم | لا (اختياري، يجب تكوينه يدويا) | لا (اختياري، يجب تكوينه يدويا) | Yes (for DuckDB) |
| دعم التنسيق | باركيه ، ORC ، دلتا ، جبل آيس بيرج (عبر كتالوجات خارجية) | مثلجة | Iceberg, Delta Lake, Parquet | Parquet |
| MinIO Support | ✅ Yes | ✅ Yes | ⚠️ Limited (known compatibility issues) | ✅ Yes |
| أفضل ل | مخططات مستقرة ، تحليلات SQL ، بحيرة البيانات التقليدية | الفروع التجريبية والحوكمة وسير عمل ترويج البيانات | Centralized governance, audit trails, multi-workspace control | Multi-user workloads on DuckDB |
| التوافق | مدعوم على نطاق واسع من قبل Spark و Hive و Trino و Superset وما إلى ذلك. | مدعوم في Spark و Flink و Trino | Supported in Spark, Delta Lake, various cloud platforms | DuckDB only |
| الاندماج في إيلوم | مؤتمتة بالكامل ومهيأة جاهزة | يتطلب خدمة Nessie خارجية وتكوين Spark | Requires Unity Catalog service and Spark config | Configured automatically |
دليل اختيار الكتالوج
| حالة الاستخدام | كتالوج الخلية | كتالوج نيسي | كتالوج الوحدة | DuckLake |
|---|---|---|---|---|
| تخزين الطاولة على المدى الطويل | ✅ | ✅ | ✅ | (if using DuckDB) |
| تفرع / وضع علامات على البيانات الشبيهة ب Git | ✅ | |||
| مسارات المعاملات متعددة الجداول | ✅ |