مقارنة
Avro أم CBOR
يرمز Apache Avro السجلات وفق مخطط ويدعم مواءمة مخططي الكاتب والقارئ وملفات الحاوية. أما CBOR فهو تنسيق ثنائي عام يوسّع نموذج بيانات JSON، ويمثل سلاسل البايتات والعلامات مباشرة.
أي تنسيق يجب أن تختار؟
فكّر في Avro للمخططات المُدارة والسجلات ذات الأنواع وتطور المخطط في خطوط البيانات. وفكّر في CBOR للقيم الثنائية العامة والعلامات وبيانات البروتوكول المحددة بمعيار IETF.
مناسب لـ Avro
تبادل سجلات بمخطط محدد
- الأحداث والتدفقات التي تتبع نسخ المخطط
مناسب لـ CBOR
تبادل بيانات منظمة على الأجهزة والشبكات محدودة الموارد · تمثيل البيانات في COSE وبروتوكولات إنترنت الأشياء
- تمثيل بيانات شبيهة بـ JSON بصيغة ثنائية موجزة
- استخدام وسوم قياسية أو خاصة بالتطبيق لتوضيح معنى القيم
المعلومات الأساسية
| البند | Avro | CBOR |
|---|---|---|
| الامتداد | .avro | .cbor |
| نوع MIME | application/avro | application/cbor |
| الاستخدامات الشائعة | تبادل سجلات بمخطط محدد | تبادل بيانات منظمة على الأجهزة والشبكات محدودة الموارد · تمثيل البيانات في COSE وبروتوكولات إنترنت الأشياء |
| طريقة الفتح | استخدم أداة Avro لفحص المخطط والحقول والأنواع والسجلات. | اقرأ الملف بمكتبة أو أداة فك ترميز CBOR، ثم افحص تدوين التشخيص أو عرضاً شبيهاً بـ JSON. تحقق من طريقة تمثيل القيم التي لا مقابل مباشراً لها في JSON، مثل الوسوم والسلاسل الثنائية. |
| التصدير أو التحويل | عند التحويل إلى JSON أو Parquet، تحقق من الأسماء والأنواع والقيم الفارغة والأنواع المنطقية وعدد السجلات والتوافق. | عند التحويل إلى JSON، قد تحتاج السلاسل الثنائية والقيم الموسومة إلى تمثيل خاص بالأداة. للتواقيع والتجزئات ومفاتيح التخزين المؤقت، اتبع قواعد الترميز المتفق عليها في البروتوكول، مثل الترميز الحتمي في RFC 8949. |
الاختيار حسب الاستخدام
الأحداث والتدفقات التي تتبع نسخ المخطط
تبادل سجلات بمخطط محدد
Avroتمثيل بيانات شبيهة بـ JSON بصيغة ثنائية موجزة
تبادل بيانات منظمة على الأجهزة والشبكات محدودة الموارد · تمثيل البيانات في COSE وبروتوكولات إنترنت الأشياء
CBORاستخدام وسوم قياسية أو خاصة بالتطبيق لتوضيح معنى القيم
تبادل بيانات منظمة على الأجهزة والشبكات محدودة الموارد · تمثيل البيانات في COSE وبروتوكولات إنترنت الأشياء
CBORنقطة أساسية 1
يتطلب فك Avro مخطط الكاتب ويمكن لملف الحاوية تضمينه. يرمز CBOR عناصر ذات أنواع مثل الخرائط والعلامات، لكن تطور مخطط التطبيق منفصل.
مزيد من التفاصيل حول الاختلافاتنقطة أساسية 2
يعرّف Avro السجلات وunion والتعداد والأنواع المنطقية عبر المخططات. يعرّف CBOR الأعداد الصحيحة وسلاسل البايتات والمصفوفات والخرائط والعلامات دون فرض نظام مخطط للسجلات.
مزيد من التفاصيل حول الاختلافاتمزيد من التفاصيل حول الاختلافات
استخدم Avro عندما يدير المنتجون والمستهلكون مخططات متوافقة ويحتاجون تطور السجلات. استخدم CBOR عندما يحتاج البروتوكول نموذجاً ثنائياً عاماً ومضغوطاً يتضمن بايتات أو علامات. تحقق من توزيع المخططات والترميز الحتمي ودعم التنفيذات.
- تُفسر بيانات Avro بمخطط الكاتب، ويمكن للحاوية تضمينه. تحمل عناصر CBOR معلومات النوع الثنائية، لكنها لا توفر تلقائياً عقد مخطط على مستوى التطبيق.
- يمكن لحل مخططات Avro مواءمة مخططي الكاتب والقارئ. تضيف علامات CBOR دلالات، لكن على الطرفين الاتفاق على معناها وكيفية التعامل معها.
- الترميزات الثنائية غير متوافقة. عند التحويل تحقق من union والأنواع المنطقية والقيم الافتراضية والمفقودة وعلامات CBOR ونطاق الأعداد وسلاسل البايتات والترميز الحتمي والامتدادات المجهولة.
الأسئلة الشائعة
هل يستطيع CBOR فك Avro دون مخطط؟
لا. الترميزان مختلفان ويحتاج Avro إلى مخطط الكاتب. يجب أن يحول النقل المخطط والقيم صراحة إلى عناصر CBOR.