Apache Arrow IPC (عمودي في الذاكرة)
Apache Arrow IPC هو تنسيق عمودي مستقل عن اللغة للبيانات في الذاكرة. يتيح مشاركة البيانات بدون نسخ بين العمليات واللغات (Python وR وC++ وJava) بدون حمل التسلسل، مما يجعله العمود الفقري لخطوط معالجة البيانات الحديثة.
نوع MIME
application/vnd.apache.arrow.file
النوع
ثنائي
الضغط
بدون فقدان
المزايا
- + Zero-copy data sharing between languages and processes
- + Optimized for SIMD and vectorized computation
- + Standard memory layout for modern data tools (DuckDB, Polars, Pandas)
العيوب
- − Not designed for persistent storage — use Parquet for that
- − Files are larger than compressed Parquet or CSV
- − More complex than CSV for simple data exchange
متى تستخدم .ARROW
استخدم Arrow لتبادل البيانات بين العمليات وبناء خطوط معالجة البيانات وأي سيناريو يتطلب مشاركة بيانات بدون نسخ.
التفاصيل التقنية
تستخدم ملفات Arrow تخطيطاً ثنائياً بحجم ثابت مع مخازن ذاكرة متجاورة لكل عمود. يدعم تنسيق IPC وضع التدفق (رسائل متتابعة) ووضع الملف (وصول عشوائي مع تذييل). تستخدم القيم الفارغة خرائط بت الصلاحية.
التاريخ
بدأ Wes McKinney (مبتكر Pandas) مشروع Apache Arrow في 2016 لحل عدم كفاءة تسلسل البيانات بين الأدوات. يوفر Arrow تخطيط ذاكرة مشترك تبنته DuckDB وPolars وPandas 2.0.