ডেটা ক্যাটালগ
Catalogs provide persistent metadata layers that allow Spark to store, retrieve, and organize table definitions across sessions and jobs. Ilum supports multiple catalog options—Hive, Nessie, and Unity Catalog—each integrated with Spark workloads, data storage, and session management, enabling reliable and collaborative data workflows.
সমর্থিত ক্যাটালগ
হাইভ ক্যাটালগ (ডিফল্ট)
- মৌচাক ক্যাটালগ টেবিল মেটাডেটা অবিচ্ছিন্নভাবে সঞ্চয় করতে অ্যাপাচি হাইভ মেটাস্টোরকে ব্যবহার করে।
- এটা ডিফল্টরূপে সক্ষম করা হয়েছে ইলুমে এবং সমস্ত স্পার্ক এসকিউএল অপারেশনগুলির জন্য স্বয়ংক্রিয়ভাবে ব্যবহৃত।
- No additional setup is required—Ilum configures Hive Metastore and integrates it with Spark, storage, and the Table Explorer UI.
- ক্লাসিক ডেটা লেকহাউস দৃশ্যের জন্য আদর্শ যেখানে মেটাডেটা স্থায়িত্ব, স্কিমা আবিষ্কার এবং ট্রিনো, হাইভ বা সুপারসেটের মতো সরঞ্জামগুলির সাথে সামঞ্জস্যতা সমালোচনামূলক।
নেসি ক্যাটালগ (ঐচ্ছিক)
- নেসি ক্যাটালগ একীভূত করে প্রজেক্ট নেসি , সক্ষম করা হচ্ছে গিট-মত সংস্করণ নিয়ন্ত্রণ আপনার ডাটা লেকের জন্য।
- এটি আপনাকে অনুমতি দেয় শাখা , ট্যাগ এবং মার্জ আপনার ডেটা ক্যাটালগে পরিবর্তন, আপনার টেবিলগুলিতে সহযোগী এবং শ্রবণযোগ্য ওয়ার্কফ্লো আনা।
- নেসি হলেন ঐচ্ছিক ইলুমে এবং অতিরিক্ত সেটআপ প্রয়োজন। একবার কনফিগার হয়ে গেলে, এটি অ্যাপাচি আইসবার্গের মাধ্যমে স্পার্কের সাথে সংহত হয়।
- সংস্করণযুক্ত বিশ্লেষণ, ডেটা পরীক্ষা, সিআই / সিডি পাইপলাইন এবং সম্পূর্ণ ক্যাটালগ-স্তরের রোলব্যাক বা বিচ্ছিন্ন পরিবেশের প্রয়োজন এমন দৃশ্যের জন্য সবচেয়ে উপযুক্ত।
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.
বৈশিষ্ট্য তুলনা
| বৈশিষ্ট্য / দৃষ্টিভঙ্গি | হাইভ ক্যাটালগ (ডিফল্ট) | নেসি ক্যাটালগ (ঐচ্ছিক) | Unity Catalog (Optional) | DuckLake (Default for DuckDB) |
|---|---|---|---|---|
| অধ্যবসায় | Yes – table metadata stored in Hive Metastore | Yes – versioned metadata via Nessie service | Yes – metadata stored in Unity Catalog metastore | Yes - metadata stored in attached metadata DB |
| সংস্করণ নিয়ন্ত্রণ | না | Yes – supports branches, tags, merges | No – rely on table format features | Yes - supports time-travel and schema evolution |
| মাল্টি-টেবিল লেনদেন | না | Yes – atomic changes across multiple tables | না | Yes - has concurrent access over multi-table operations |
| ডিফল্টরূপে সক্ষম করা হয়েছে | হ্যাঁ | না (ঐচ্ছিক, ম্যানুয়ালি কনফিগার করা আবশ্যক) | না (ঐচ্ছিক, ম্যানুয়ালি কনফিগার করা আবশ্যক) | Yes (for DuckDB) |
| ফরম্যাট সমর্থন | পারকুয়েট, ওআরসি, ডেল্টা, আইসবার্গ (বাহ্যিক ক্যাটালগের মাধ্যমে) | হিমশৈল | Iceberg, Delta Lake, Parquet | Parquet |
| MinIO Support | ✅ Yes | ✅ Yes | ⚠️ Limited (known compatibility issues) | ✅ Yes |
| এর জন্য সেরা | স্থিতিশীল স্কিমা, এসকিউএল বিশ্লেষণ, ঐতিহ্যগত ডেটা লেকহাউস | পরীক্ষামূলক শাখা, শাসন, ডেটা প্রচার কর্মপ্রবাহ | Centralized governance, audit trails, multi-workspace control | Multi-user workloads on DuckDB |
| সুসঙ্গতি | স্পার্ক, হাইভ, ট্রিনো, সুপারসেট ইত্যাদি দ্বারা ব্যাপকভাবে সমর্থিত। | স্পার্ক, ফ্লিঙ্ক, ট্রিনোতে সমর্থিত | Supported in Spark, Delta Lake, various cloud platforms | DuckDB only |
| ইলুমে ইন্টিগ্রেশন | সম্পূর্ণ স্বয়ংক্রিয়, কনফিগার করা আউট-অফ-দ্য-বক্স | বাহ্যিক নেসি পরিষেবা এবং স্পার্ক কনফিগারেশন প্রয়োজন | Requires Unity Catalog service and Spark config | Configured automatically |
ক্যাটালগ নির্বাচন গাইড
| কেস ব্যবহার করুন | মৌচাক ক্যাটালগ | নেসি ক্যাটালগ | ইউনিটি ক্যাটালগ | DuckLake |
|---|---|---|---|---|
| দীর্ঘমেয়াদী টেবিল স্টোরেজ | ✅ | ✅ | ✅ | (if using DuckDB) |
| গিট-এর মতো শাখা/ডেটার ট্যাগিং | ✅ | |||
| মাল্টি-টেবিল লেনদেনের পাইপলাইন | ✅ | ✅ | ||
| ঐতিহ্যগত এসকিউএল বিশ্লেষণ + বিআই | ✅ | ✅ | ✅ | |
| Development → Staging → Prod workflows | ✅ | ✅ | ✅ | |
| নিরীক্ষণযোগ্যতা এবং রোলব্যাক | ✅ | ✅ | ✅ | |
| ট্রিনো / সুপারসেটের সাথে সহজ সামঞ্জস্য | ✅ | (পরোক্ষ) | (পরোক্ষ) |
ইলামে ক্যাটালগগুলি কীভাবে কাজ করে
- মৌচাক ক্যাটালগ ইলাম কোরে সরাসরি সংহত করা হয়। এটি একটি প্রাক-মোতায়েন করা হাইভ মেটাস্টোরের সাথে আসে এবং ডিফল্ট ইলাম স্টোরেজের সাথে সংযুক্ত (যেমন, মিনিও বা এস 3)।
- নেসি ক্যাটালগ ব্যবহারকারী-কনফিগার করা হয়। আইসবার্গ ক্যাটালগ বৈশিষ্ট্যগুলি ব্যবহার করে এটির সাথে সংযোগ করতে আপনাকে অবশ্যই একটি নেসি পরিষেবা স্থাপন করতে হবে এবং আপনার স্পার্ক সেশনগুলি কনফিগার করতে হবে।
- ইউনিটি ক্যাটালগ is user-configured. You must enable the Unity Catalog service via Helm and configure your metastore type. Note the MinIO compatibility limitation for production deployments.
- DuckLake is automatically set up in DuckDB workloads.
- Table Explorer in Ilum automatically lists Hive tables. Nessie and Unity Catalog tables can also be made visible with proper catalog configuration in Spark jobs.
নেসির মতো ঐচ্ছিক উপাদান স্থাপন এবং সক্ষম করার বিষয়ে বিস্তারিত জানার জন্য, দেখুন:
👉 ইলাম স্থাপনার গাইড