عن المشروع

Apache Hudi (Hadoop Upserts Deletes and Incrementals) هي منصة بحيرة بيانات مفتوحة المصدر مبنية حول تنسيق جداول مفتوح عالي الأداء. تتيح للمؤسسات استيعاب البيانات وفهرستها وتخزينها وخدمتها وتحويلها وإدارتها عبر بيئات بيانات سحابية متعددة مع الحفاظ على البيانات بتنسيقات مفتوحة على التخزين السحابي. تشمل القدرات الرئيسية: **الاستيعاب**: أدوات مدمجة لمستخدمي Apache Spark وApache Flink، تدعم نصف دزينة من تنسيقات الملفات وسجلات تغيير قواعد البيانات وأنظمة البيانات المتدفقة. تتضمن موصل Kafka Connect لجلب مصادر البيانات الخارجية. **التخزين**: تنسيق تخزين محسّن يدعم البيانات الصفية والعمودية. يتميز ببيانات وصفية زمنية لتتبع سجل التغييرات، وإدارة تلقائية لحجم الملفات وتخطيطها باستخدام الإحصائيات، ونقاط حفظ لإصدارات البيانات واستعادتها، وتتبع المخطط مع التطور. **الفهرسة**: نظام فهرسة قابل للتوسع يسرّع استعلامات اللقطات، ويتم صيانته تلقائيًا بواسطة عمليات الكتابة. يتتبع قوائم الملفات وإحصائيات مستوى الأعمدة والأقسام لتخطيط استعلامات فعال. يوفر فهرسة على مستوى السجلات عبر تنسيقات الملفات الصفية ومرشحات bloom، بالإضافة إلى التقسيم المنطقي باستخدام فهارس التعبيرات المنفصلة عن تقسيم التخزين الفعلي. **الكتابة**: التزامات ذرية مع دعم التراجع/الاستعادة. عمليات upsert/delete سريعة تستفيد من الفهارس على مستوى السجلات. عزل اللقطات بين الكتّاب والاستعلامات. يوفر كلاً من التحكم في التزامن التفاؤلي (Read-Modify-Write لنموذج البيانات العلائقية) والتحكم في التزامن غير المحظور (نموذج البيانات المتدفقة مع معالجة البيانات خارج الترتيب/المتأخرة). **الاستعلامات**: أنواع استعلامات متعددة على جدول واحد: استعلام اللقطة (أحدث حالة ملتزم بها)، والاستعلام التزايدي (التغييرات منذ نقطة زمنية)، واستعلام التقاط تغييرات البيانات (دفق تغييرات مع صور قبل/بعد)، واستعلام السفر عبر الزمن (الجدول كما كان في وقت معين)، واستعلام القراءة المحسّنة (أداء التخزين العمودي عبر الضغط). **إدارة الجداول**: خدمات جداول تلقائية بدون تدخل يدوي مدمجة في كتّاب Spark/Flink أو تعمل بشكل مستقل. جدولة قابلة للتكوين مع معالجة الأعطال. التنظيف وإدارة TTL لاستعادة مساحة التخزين. التجميع وخوارزميات منحنيات ملء الفراغ لتحسين تخطيط البيانات. ضغط غير متزامن للبيانات الصفية إلى تنسيقات عمودية. بناء فهارس متسق أثناء العمليات الجارية. مزامنة الكتالوج مع Hive Metastore وAWS Glue وGoogle BigQuery وApache XTable والمزيد. تدعم Hudi البناء مع إصدارات متعددة من Spark (من 3.3 إلى 4.2) وإصدارات Flink (من 1.18 إلى 2.2)، مع خيارات Scala 2.12/2.13. يستخدم المشروع Maven للبناء ويوفر ملفات اختبار شاملة (وحدة، وظيفية، تكامل).