حقل JSONB
يُستخدم حقل JSONB (المُسمى jsonb في الواجهة) لتخزين مجموعات البيانات غير المنظمة أو شبه المنظمة، مثل الكائنات {...} أو المصفوفات [...].
على عكس حقل النص القياسي، يستخدم هذا الحقل تنسيق JSONB (Binary JSON). هذا يعني أن قاعدة البيانات تتحقق من أن الإدخال هو JSON صالح قبل حفظه، وتخزن البيانات بتنسيق ثنائي مفكك يسمح بالفهرسة والاستعلام الفعال.
خصائص التكوين
Section titled “خصائص التكوين”عند تكوين حقل JSON في الشريط الجانبي الأيمن، تتوفر الإعدادات التالية:
- الاسم: المعرف الفريد للنظام للحقل (مثل
metadata،settings،api_response). - القيمة الافتراضية: كائن أو مصفوفة JSON صالحة يتم تعيينها إذا لم يتم توفير بيانات (مثل
{"theme": "dark"}أو[]). - الوصف: مربع نص اختياري لوصف مخطط أو غرض بيانات JSON.
- إلزامي: إذا تم تمكينه، لا يمكن حفظ السجل ما لم يتم توفير بيانات JSON صالحة.
- فريد: إذا تم تمكينه، يضمن عدم وجود سجلين لهما نفس بنية ومحتوى JSON بالضبط.
نصيحة: لماذا JSONB؟ نستخدم نوع البيانات JSONB بدلاً من JSON القياسي. بينما يكون أبطأ قليلاً في الكتابة، فإن JSONB أسرع بكثير في الاستعلام. يدعم الفهرسة (GIN)، مما يسمح لك بإجراء عمليات بحث وتصفية عالية الأداء.
حالات الاستخدام الشائعة
Section titled “حالات الاستخدام الشائعة”- التكوين/الإعدادات: تخزين تفضيلات المستخدم التي قد تتغير كثيرًا.
- بيانات API الخارجية: تخزين الاستجابات الخام من عمليات التكامل مع جهات خارجية.
- السمات الديناميكية: تفاصيل المنتج التي تختلف بشكل كبير بين الفئات.
- القوائم: تخزين مصفوفات بسيطة من السلاسل أو الأرقام.