ما هو قالب مصدر البيانات؟
What Is a Data Source Template
نظرة عامة على قوالب مصدر البيانات في Validatar، وكيف تجمع تفاصيل كل منصة بيانات في حزمة واحدة قابلة لإعادة الاستخدام.
نظرة عامة
يتصل Validatar بالبيانات أينما وُجدت — مستودعات سحابية، قواعد بيانات محلية، أنظمة ملفات، واجهات برمجة تطبيقات (APIs)، وغيرها. كل من هذه المنصات لها لهجتها الخاصة: صياغة SQL مختلفة، وأدلة نظام (system catalogs) مختلفة، وأنواع بيانات مختلفة، وقدرات تنميط (profiling) مختلفة. قالب مصدر البيانات (Data Source Template) هو الطريقة التي يلتقط بها Validatar كل هذه التفاصيل الخاصة بالمنصة في حزمة واحدة قابلة لإعادة الاستخدام، بحيث يبدأ كل مصدر بيانات تنشئه على تلك المنصة بإعداد ثابت ومُجرَّب.
تخيّل قالب مصدر البيانات كمخطط أولي (blueprint). فهو يحدد كيف يجب أن يكتشف Validatar البيانات الوصفية (metadata)، وينمّط البيانات، ويضع علامات اقتباس على المعرّفات، ويخطط أنواع البيانات، ويوفّر وحدات (macros) قابلة لإعادة الاستخدام لمنصة معيّنة. عند إنشاء مصدر بيانات وتعيين اتصال يستخدم قالبًا محددًا، تُطبَّق كل هذه السلوكيات تلقائيًا. لست بحاجة لكتابة سكربتات استيعاب من الصفر لكل قاعدة بيانات Snowflake جديدة أو مثيل PostgreSQL جديد — القالب يتكفل بذلك.
لماذا تُعد القوالب مهمة
بدون القوالب، سيتطلب كل مصدر بيانات إعدادًا يدويًا: كتابة SQL لاستيعاب البيانات الوصفية، وتحديد ملفات التعريف المتاحة للبيانات (data profiles)، وتخطيط أنواع البيانات إلى نظام الأنواع الداخلي في Validatar، وضبط فواصل المعرّفات. هذا أمر مرهق لقاعدة بيانات واحدة، وغير قابل للاستدامة على نطاق المؤسسات التي تدير عادةً عشرات أو مئات مصادر البيانات.
- الاتساق (Consistency) — يتصرف كل مصدر بيانات على نفس المنصة بنفس الطريقة. يعيد استيعاب البيانات الوصفية نفس البنية، وينتج التنميط نفس المقاييس، وتُخطَّط أنواع البيانات بشكل صحيح عبر جميع النُسخ.
- إعادة الاستخدام (Reusability) — عرّف الإعداد مرة واحدة وطبّقه على أي عدد من مصادر البيانات. عند تحسين سكربت استيعاب أو إضافة macro جديد، يستفيد كل مصدر بيانات يستخدم ذلك القالب.
- قابلية التوسّع (Extensibility) — ابدأ بقالب مدمج وخصّصه، أو أنشئ قوالب جديدة تمامًا للمنصات التي لا تملك قالبًا بعد. إطار عمل Python للسكربتات يعني أن أي مصدر بيانات يمكن الوصول إليه برمجيًا يمكن أن يكون له قالب.
- قابلية المشاركة (Shareability) — صدّر القوالب كملفات واستوردها إلى بيئات Validatar أخرى. انشرها في Validatar Marketplace ليستفيد منها المجتمع الأوسع.
ما الذي يحتويه القالب
يتكون قالب مصدر البيانات من عدة مكونات، يمكن الوصول إلى كل منها من علامة تبويب خاصة به في محرر القالب:
| المكوّن | ما الذي يحدده |
|---|---|
| General | اسم القالب، الإصدار، فئة الاتصال، قيود نوع الاتصال، وفواصل المعرّفات |
| Data Types | تخطيطات من أنواع خاصة بالمحرك (مثل VARCHAR، NUMBER(38,0)) إلى أنواع البيانات الوصفية الداخلية في Validatar |
| Defaults | المعاملات القابلة للتهيئة وسكربتات ما قبل/بعد التنفيذ (تُستخدم غالبًا في القوالب المبنية على Python) |
| Metadata Ingestion | السكربتات التي تكتشف المخططات (schemas) والجداول والأعمدة من مصدر البيانات |
| Profiling | تعريفات أو سكربتات تحسب مقاييس تنميط البيانات (عدد الصفوف، نسب القيم الفارغة، التوزيعات، إلخ) |
| Macros | مقاطع SQL أو سكربت قابلة لإعادة الاستخدام ومُعلمنة (parameterized) متاحة عند إنشاء الاختبارات وإجراءاتها |
يتم تناول كل مكوّن من هذه المكونات بالتفصيل في مقالة خاصة به ضمن هذا القسم.
قوالب SQL مقابل قوالب Python
تنقسم القوالب إلى فئتين واسعتين وفقًا لطريقة الاتصال بالبيانات واستعلامها:
القوالب المبنية على SQL (فئة Database)
قوالب SQL مصممة للمنصات التي توفّر واجهة SQL قياسية وأدلة نظام (system catalogs). يشمل ذلك معظم قواعد البيانات العلائقية والمستودعات السحابية:
- SQL Server، PostgreSQL، MySQL
- Snowflake، Databricks، Amazon Redshift، Google BigQuery، Azure Synapse
بالنسبة لهذه القوالب، تكون سكربتات استيعاب البيانات الوصفية استعلامات SQL على عروض نظام مثل INFORMATION_SCHEMA. ويُعرَّف التنميط عبر تعبيرات SQL. يحدد القالب فواصل المعرّفات بحيث تُقتبَس أسماء الكائنات بشكل صحيح وفق صياغة SQL الخاصة بالمنصة.
القوالب المبنية على Python (فئة Script)
تستخدم قوالب Python إطار عمل Python المفتوح في Validatar للاتصال بمصادر لا توفّر واجهة SQL تقليدية:
- واجهات REST APIs (موصوفة عبر مواصفات Swagger/OpenAPI)
- أنظمة الملفات (مجلدات محلية، S3، Azure Blob Storage، SFTP)
- منصات بيانات مخصصة أو مملوكة
- أي مصدر يمكن الوصول إليه عبر مكتبة Python
بالنسبة لهذه القوالب، يكون الاستيعاب سكربت Python واحدًا يُعيد إطارات بيانات pandas (DataFrames). يستخدم التنميط سكربتات تنميط Python بدلًا من تعريفات SQL. تُهيَّأ معاملات القالب (مفاتيح API، سلاسل الاتصال، مسارات الملفات) في علامة التبويب Defaults وتُمرَّر إلى السكربتات وقت التشغيل.
الاختيار بينهما
القرار عادة ما يكون واضحًا: إذا كان بالإمكان استعلام مصدر البيانات باستخدام SQL وله أدلة نظام تصف مخططه، استخدم قالب SQL. وإذا كنت بحاجة إلى وصول برمجي عبر مكتبة أو واجهة API، استخدم قالب Python.
القوالب المدمجة
يأتي Validatar مزودًا بقوالب لأكثر المنصات شيوعًا، بما في ذلك Snowflake وSQL Server وPostgreSQL. تأتي هذه القوالب مُهيَّأة مسبقًا بما يلي:
- سكربتات استيعاب بيانات وصفية كاملة لجميع المستويات (المخطط، الجدول، العمود)
- تخطيطات أنواع بيانات قياسية
- مجموعة قياسية من تعريفات تنميط البيانات
- macros افتراضية لأنماط اختبار شائعة
يمكنك استخدام هذه القوالب كما هي، أو تخصيصها لاحتياجاتك، أو استخدامها كمرجع عند بناء قوالب لمنصات أخرى.
كيف تتصل القوالب بمصادر البيانات
فهم العلاقة بين القوالب والاتصالات ومصادر البيانات أمر أساسي:
- 1قالب مصدر البيانات يحدد السلوك الخاص بالمنصة (الاستيعاب، التنميط، الأنواع، الـ macros)
- 2نوع الاتصال (connection type) يمثل موصلًا محددًا (مثل "Snowflake" أو "SQL Server via ODBC"). يمكن ربط كل نوع اتصال بواحد أو أكثر من القوالب
- 3إصدار الاتصال (connection version) هو الإعداد الفعلي للوصول إلى قاعدة بيانات محددة — اسم الخادم، بيانات الاعتماد، والقالب المستخدم
- 4مصدر البيانات هو كائن Validatar الذي يمثل قاعدة بيانات أو منصة بيانات محددة، ويشير إلى اتصال، والذي بدوره يشير إلى قالب
عند إنشاء مصدر بيانات وتهيئة اتصاله، فإن اختيار نوع الاتصال يضيّق القوالب المتاحة. ثم اختيار قالب يحمّل كل إعداداته الافتراضية — سكربتات الاستيعاب، تعريفات التنميط، الـ macros، وأنواع البيانات — إلى إعدادات مصدر البيانات. يمكنك تجاوز أي من هذه الإعدادات الافتراضية على مستوى مصدر البيانات الفردي دون تعديل القالب نفسه.
في بعض أجزاء التطبيق وواجهة برمجة التطبيقات (API)، قد ترى مصطلح "Database Engine" بدلاً من "Data Source Template". هذا اسم قديم من إصدارات سابقة من Validatar. المصطلحان يشيران إلى نفس المفهوم.
أين تجد القوالب
انتقل إلى Settings > Data Source Templates لعرض القوالب وإنشائها واستيرادها وإدارتها. تحتاج إلى صلاحيات مسؤول (administrator) لتعديل القوالب، لأن التغييرات تؤثر على كل مصدر بيانات يستخدمها.
كيف يندرج هذا ضمن الصورة الأكبر
تُعد قوالب مصدر البيانات أساس بنية "الاتصال بأي شيء" في Validatar. فهي تقع عند تقاطع اتصال البيانات، وإدارة البيانات الوصفية، وتوليد الاختبارات:
- تغذي القوالب استيعاب البيانات الوصفية، الذي يملأ كتالوج البيانات
- يقود الكتالوج توصيات الاختبار وتجسيد اختبارات القالب
- توفّر القوالب تعريفات تنميط تُغذّي مقاييس جودة البيانات ودرجات الثقة
- توفر macros القالب لبنات بناء قابلة لإعادة الاستخدام لإنشاء الاختبارات للمستخدمين
للحصول على شرح شامل لكيفية عمل كل هذه المكونات معًا، راجع مقالة Data Source Templates: The Complete Picture.