عن المشروع
Spate هو إطار عمل ETL للتدفق بلغة Rust يوفر دلالات تسليم مرة واحدة على الأقل. صُمم كبديل لمعالجات التدفق العامة وحلقات المستهلك المكتوبة يدويًا: التحويلات هي دوال Rust عادية تُدمج مباشرة في خط الأنابيب، بينما يتولى الإطار ضمانات التسليم، الضغط الخلفي، نقاط التفتيش، إعادة التوازن، والتصريف عند الإيقاف.
يعمل خط الأنابيب في أربع مراحل. الاستخراج يستخدم مستهلكًا واحدًا لكل عملية ويوزع الأقسام عبر خيوط مثبتة على وحدات المعالجة المركزية كمسارات بدون نسخ. التحويل يدمج الإغلاقات ذات الحالة في حلقة واحدة على السجلات المستعارة دون أي تخصيص لكل سجل. التحميل يجزئ ويكرر المصارف بشكل غير متزامن، باستخدام قوائم انتظار محدودة لكل جزء كإشارة للضغط الخلفي. المراقبة تقدم علامة مائية للمصدر فقط خلف البيانات المؤكدة كمتينة من قبل المصرف، لذا تتبع الالتزامات التسليم.
تُوفر الموصلات كصناديق اختيارية مقيدة بالميزات: مصدر ومصرف Kafka، مصرف ClickHouse مع رموز إزالة التكرار وتدوير النسخ المتماثلة، مصدر S3 المنسق للتراجع، إلغاء تسلسل Avro و JSON، توزيع العمل متعدد الحالات، ومصدر بيانات اصطناعي للعروض والاختبارات. لا شيء مفعل افتراضيًا، لذا لا يُترجم كود الموصل غير المستخدم.
يتضمن المشروع دليل مستخدم، مرجع API، ثوابت مرقمة، سجلات قرارات معمارية، وثائق مقاييس، وأمثلة Docker/Kubernetes. يغطي الاختبار اختبارات الخصائص القائمة على proptest، نمذجة التزامن loom، تشغيلات MockCluster من librdkafka، واختبارات تكامل قائمة على الحاويات. المشروع قيد التطوير الأولي النشط مع واجهات برمجة تطبيقات 0.x غير مستقرة ومرخص بموجب Apache-2.0.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.