الوحدة 8 — المتغيّرات المشتركة بين الفِرَق
الحجّة الاقتصاديّة الأقوى لمخزن المتغيّرات هي إعادة الاستعمال. عدّاد count_1h الذي بناه فريق الاحتيال ليس أقلّ فائدة لفريق التسويق الذي يريد كشف العملاء المتفاعلين حديثًا. إعادة كتابته للمرّة الثانية تعني: أسبوعان من العمل، طريقتان للحساب، وفجوة صامتة أخرى بين نموذجَين على نفس بيت البيانات.
من مالك واحد إلى مستهلكين متعدّدين
في اللحظة التي يُصبح فيها المتغيّر مشتركًا، تتغيّر المسؤوليّات. المالك (فريق الاحتيال في مثالنا) يعرف أنّ التعديل لم يعد يمسّ نموذجه فقط. المستهلك (فريق التسويق) يعرف أنّه يعتمد على شيء لا يملكه.
هذه العلاقة تحتاج ثلاث آليّات تدعمها كلّ المخازن الجادّة:
- الاكتشاف: كيف يجد فريق التسويق أنّ العدّاد موجود أصلًا؟
- العقد: كيف يفهم بالضبط ما يعني، وبأيّ نضارة، وبأيّ ضمانات؟
- التغيير المُتّفق عليه: كيف يُغيَّر التعريف بلا كسر مفاجئ للمستهلكين؟
الاكتشاف: كتالوج قابل للبحث
من دون اكتشاف، لا إعادة استعمال. الفريق الجديد يبني ما لديه بالفعل لأنّه لا يعلم بوجوده. المخازن الحديثة (Tecton، Feast UI، Databricks Feature Store) تعرض لوحة اكتشاف فيها لكلّ وصفة:
- الاسم، والوصف، والوسوم
- المالك ووسائل الاتّصال
- مخطّط الحقول مع الأنواع والوحدات
- النضارة الحاليّة، والإدارة على 30 يومًا
- قائمة النماذج التي تستهلكها
في Feast مع Feast UI:
feast ui
يُشغَّل خادم ويب محلّيّ يعرض هذا. في الإنتاج يُنشَر كخدمة داخليّة، ويُربَط بـSSO الشركة ليكون كلّ فرد قادرًا على البحث والقراءة (بلا حاجة إلى إذن كتابة).
الوسوم مهمّة أكثر ممّا يظنّ. domain: payments, pii: false, regulated: pci-dss تسمح بترشيح سريع. فريق تسويق يبحث «متغيّرات على العملاء، لا هويّة، مجدَّدة كلّ ساعة» يجد بسرعة ما يستحقّ.
العقد: التوثيق داخل الكود
الوصف لا يُكتب في ملفّ منفصل. يعيش في تعريف الوصفة (الوحدة 4). كلّ حقل يحمل جملة أو جملتين توضح معنى لا حسابًا:
Field(
name="count_1h",
dtype=Int64,
description=(
"عدد المعاملات الناجحة للعميل في آخر 60 دقيقة، "
"بحسب طابع event_time بتوقيت UTC. "
"لا يُعدّ الطلب الحاليّ. يستثني المرفوضة من البنك."
),
)
المستهلك الذي يقرأ هذا يعرف مباشرة أنّه لا يستطيع استعمال العدّاد لعرض «مجموع المعاملات هذا الأسبوع» لأنّ الطلب الحاليّ ليس محسوبًا. لا حاجة إلى بريد إلكترونيّ مع المالك.