محتويات الدورة

dbt / الأساسي: أسس المشروع والنماذج / الدرس 1

حدود إطار العمل وبيئة التشغيل والمشروع

حدّد موضع dbt في تحليلات مكتبة، وميّز التأليف والتنفيذ والمحوّلات والقدرات المستضافة.

وقت القراءة التقريبي: 4 دقيقةتاريخ مراجعة المحتوى
في هذه الصفحة

أهداف الدرس

  • اشرح ما يصفه dbt وما تنفذه منصة البيانات.
  • سمِّ الأساس التعليمي v1.12 دون خلط أسماء المنتجات الحالية.

يبدأ التحويل بعد توفر البيانات

تملك مكتبة إقليمية سجلات إعارة ومرجع فروع وتقارير تداول. ينظم dbt تحويل البيانات المتاحة إلى علاقات ونماذج واختبارات وتوثيق. وتنفذ منصة البيانات المدعومة العمل المولد عبر محوّل؛ فلا يصبح dbt تلقائياً خدمة إدخال أوخادم قاعدة أومصدر حقيقة الأعمال. يظل نموذج الإعارات المفتوحة محتاجاً إلى مصدر موثوق وتعريف متفق عليه لـreturned_at. حدد من يحمّل الخام ومن يملك منطق التحويل ومن ينشر التقرير. لا يثبت نجاح التحويل أن كل فرع أرسل السجلات المتوقعة كلها.

استخدم جيلاً وإصداراً مسميين للمحرك

تثبت الدورة افتراضات اللغة والمسار على dbt v1.12، الجيل المبني على Python الذي كان يسمى dbt Core 1.x. تميّز الوثائق الرسمية التي روجعت في أكتوبر2026 هذا الجيل من dbt v2 المبني على Rust، الذي كان يسمى Fusion، ومن توزيعة dbt OSS ذات ترخيص Apache فقط. وتضيف المنصة المستضافة خدمات ومسارات إصدارات، ولا تعادل ملف محرك محلياً. تغيرت الأسماء؛ لذا لا تثبت لقطة قديمة أواسم حزمة القدرات. تحقق من المحرك والمحوّل والمنصة مستقلة. وليس الأساس ادعاء بأنه الأحدث أوخيار إنتاج لكل فريق.

يعلن ملف المشروع النطاق لا الأسرار

يسمي مقطع dbt_project.yml مشروعاً اصطناعياً ومجلد نماذجه ونطاق توافق v1.12. هو تكوين توضيحي لا يُمرر إلى dbt. يقيد require-dbt-version نسخ الإطار المقبولة، ولا يثبت توافق المحوّل أولغة SQL أوالمستودع. ولإعدادات المشروع والموارد نطاق وأولوية يدرسهما المسار لاحقاً. مكان الأسرار آلية الاتصال والبيئة المعتمدتان، لا ملف نموذج عام. لا يتضمن المثال عنوان قاعدة أوسر حساب أوأمراً يتصل بمستودع مهيأ.

yaml مثال تقني توضيحي؛ النتائج المنطقية مستنتجة ولم تُختبر على المحرك.
name: library_analytics
version: '1.0.0'
config-version: 2
require-dbt-version: ['>=1.12.0', '<1.13.0']
model-paths: ['models']

جزء مشروع تعليمي صغير. نطاق النسخة مقصود للدورة، وليس توصية تثبيت أونشر.

النموذج استعلام معلن لبناء علاقة

يحوي نموذج SQL عادة select يغلفها dbt وفق طريقة تجسيدها. تحل ref في Jinja نموذجاً آخر وتعلن اعتماداً، بدلاً من كتابة مخطط تطوير ثابت. يعد المقطع الإعارات المفتوحة من نموذج تجهيز سابق. لا يتضمن المشروع كله، ولذلك لا يُشغّل. يعتمد اسم العلاقة من ref على الهدف والتكوين وسياق الرسم. تثبت قراءة الملف المقصد فقط، لا وجود جدول أونجاح استعلام أواختبار نتيجة.

jinja مثال تقني توضيحي؛ النتائج المنطقية مستنتجة ولم تُختبر على المحرك.
select count(*) as open_loans
from {{ ref('stg_loans') }}
where returned_at is null

مقطع نموذج يعتمد stg_loans. تعتمد صحة العدد على تفصيله وعقد اكتمال مصدره.

افصل المؤلف والمترجم والمنفذ

يعبر SQL وYAML المصدر عن المشروع. تسجل بيانات التحليل الموارد والاعتماديات، ويسجل SQL المترجم العبارات المولدة، وتصف نتائج التشغيل وأدلة المستودع نتائج تنفيذ معينة. لا يعوض أحدها جميع الآخرين. في v1، قد تنفذ الترجمة والماكرو عمل محوّل أوبيانات وصفية؛ فلا تفترض أن كل أمر ترجمة فحص صياغة بلا اتصال. لا تنفذ الدورة أمر dbt أومحوّلاً أواتصالاً أووظيفة سحابية. تستخدم نماذج رسم ومحللات محلية صريحة فقط، وجميع المقاطع تحمل runnable:false.

الأخطاء الشائعة وإصلاحها

يُتوقع من dbt تحميل مصدر علوي غائب

لماذا يحدث؟
اختلطت مسؤولية التحويل بملكية إدخال المصدر.
كيف تصلحه؟
حدد عقد الإدخال المعتمد وأصلحه قبل تفسير المخرج.
كيف تتجنب تكراره؟
وثق ملكية المصدر واكتماله مع النماذج.

يُعامل نطاق نسخة المشروع كاعتماد لكل المنظومة

لماذا يحدث؟
اختلط توافق الإطار بالمحوّل والقاعدة.
كيف تصلحه؟
راجع قدرات المحرك والمحوّل والهدف مستقلة.
كيف تتجنب تكراره؟
احفظ أدلة البيئة والمحوّل الدقيقة في سجل النشر.

يُسمى SQL المترجم اختبار بيانات ناجحاً

لماذا يحدث؟
اختلط النص المولد بتنفيذ المستودع والتأكيدات.
كيف تصلحه؟
اذكر الأثر وحد التنفيذ اللذين يغطيهما الدليل.
كيف تتجنب تكراره؟
افصل نتائج التحليل والترجمة والبناء والاختبار.

اختبر فهمك

1. ما الذي يجب إثباته قبل تفسير open_loans في المقطع؟

اعرض الحل المشروح

تحقق من صف لكل إعارة مقصودة، وتعريف returned_at المتسق، ومجتمع المصدر المقبول في stg_loans. حدد العلاقة المستهدفة ودليل التنفيذ أيضاً. لا يثبت النص وصول المصدر أوتقييم المستودع للعدد.

2. هل v1.12 ومسار إصدار مستضاف وتوزيعة v2 أسماء نسخ متبادلة؟

اعرض الحل المشروح

لا. تحدد مفاهيم جيل محرك أوخدمة مختلفة. سجل كل مكوّن منطبق صراحة، وراجع التسميات والتوافق الرسميين الحاليين. لا تستنتج الميزات من اسم Fusion أوCore القديم وحده.

أهم ما تعلمته

  • ينظم dbt التحويل، ويحدد المحوّل والمنصة حدود التنفيذ.
  • يجعل الأساس المسمى والآثار الدقيقة الادعاءات قابلة للمراجعة.

المراجع الرسمية