1. مقدمة
بصفتنا مطوّرين ومهندسي بيانات، غالبًا ما نرث مجموعات كبيرة من البيانات تبدو أشبه بمستنقعات البيانات. نواجه نقاط الاحتكاك نفسها بشكل متكرّر: "ما هو التعريف الفعلي لعمود "المبلغ"؟"، "مَن المسؤول إذا تعذّر استخدام مجموعة البيانات هذه؟" أو "هل يُسمح لنا باستخدام هذا الجدول في محرّك الاقتراحات المخصّصة؟"
في السابق، كانت فهارس البيانات عبارة عن مستودعات سلبية مليئة بعلامات نصية حرة سرعان ما أصبحت غير متسقة وقديمة. ولا تفرض هذه السياسات بنية محددة، ما يجعل الإدارة الآلية أمرًا مستحيلاً تقريبًا.
ولجعل ذلك عمليًا، سنستعرض سيناريو في هذا المختبر: وضع نظام حوكمة قوي لبيانات مبيعات التجزئة الأولية لكي يتمكّن القسم المالي من الوثوق بها في إعداد التقارير الرسمية. ستنقل هذه البيانات من حالة "مستنقع" غامضة إلى منتج محكوم.
يغيّر "كتالوج Dataplex الشامل" ذلك من خلال توفير إطار عمل نشط ومنظَّم لإدارة البيانات الوصفية. تتيح لك هذه الميزة إرفاق بيانات وصفية منظَّمة مستندة إلى المخطط (الجوانب) وتعريفات الأنشطة التجارية المقبولة (المسارد) مباشرةً بأصول البيانات (الإدخالات).
قبل أن تتمكّن من كتابة نصوص Python البرمجية أو وحدات Terraform النمطية لأتمتة هذه العملية على نطاق واسع، عليك فهم نموذج العناصر الأساسي.
في هذا الدرس العملي، سننفّذ خطوات الحوكمة يدويًا في Google Cloud Console. سنربط بشكل واضح بين الإدخالات وأنواع الجوانب والجوانب وقواميس المصطلحات لنقدّم لك نموذجًا ذهنيًا متينًا حول كيفية جعل بياناتك قابلة للاستكشاف والفهم وموثوقة.
المتطلبات الأساسية
- مشروع Google Cloud لديه إذن وصول "المالك" أو "المحرّر".
- الإلمام بـ Google Cloud Console
- مهارات أساسية في gcloud وbq CLI في Cloud Shell
ما ستتعلمه
- الفرق الأساسي بين "إدخال Dataplex" و"نوع الجانب" و"الجانب"
- كيفية إنشاء مسرد مصطلحات خاص بالنشاط التجاري لإزالة الغموض في المصطلحات
- كيفية تصميم نوع سمة لفرض مخطط صارم للبيانات الوصفية الفنية (تجاوز "العلامات")
- كيفية ربط مصطلح من "مسرد المصطلحات التجارية" بعمود محدّد في BigQuery
- كيفية إرفاق Aspect منظَّم بأحد أصول البيانات والتحقّق من صحة المدخلات
- كيفية تنفيذ طلبات بحث دقيقة استنادًا إلى بيانات التعريف الهيكلية الجديدة هذه
المتطلبات
- حساب Google Cloud ومشروع Google Cloud
- متصفّح ويب، مثل Chrome
المفاهيم الرئيسية
- الإدخال: هو التمثيل الأساسي والمجرّد لمادة بيانات في الفهرس. يمكنك اعتبار ذلك "المؤشر" أو "الاسم". عند إنشاء جدول BigQuery، ينشئ Dataplex تلقائيًا إدخالاً له. نحن لا نتحكّم في الجدول مباشرةً، بل نتحكّم في الإدخال الخاص به.
- قاموس المصطلحات التجارية: هو قاموس مركزي يتضمّن إصدارات مختلفة من المصطلحات التجارية الخاصة بمؤسستك. وهي مصدر المعلومات الموثوق الوحيد. يمنع ذلك حدوث مشكلة "تحديد المبيعات لقيمة GMV بشكل مختلف عن قسم الشؤون المالية".
- نوع السمة: المخطط أو النموذج لفئة معيّنة من البيانات الوصفية. يحدّد نوع الجانب الحقول وأنواع البيانات (سلسلة، تعداد، تاريخ ووقت، وما إلى ذلك) والقيود (مطلوبة/اختيارية). وهو العقد الذي يضمن اتساق البيانات الوصفية.
- السمة: جزء محدّد من البيانات الوصفية المرفقة بإدخال يتبع البنية المحدّدة حسب نوع السمة. يحتوي على البيانات الفعلية التي تستوفي مخطط نوع السمة.
2. الإعداد والمتطلبات
بدء Cloud Shell
على الرغم من إمكانية تشغيل Google Cloud عن بُعد من الكمبيوتر المحمول، ستستخدم في هذا الدرس العملي Google Cloud Shell، وهي بيئة سطر أوامر تعمل في السحابة الإلكترونية.
من Google Cloud Console، انقر على رمز Cloud Shell في شريط الأدوات أعلى يسار الصفحة:

لن يستغرق توفير البيئة والاتصال بها سوى بضع لحظات. عند الانتهاء، من المفترض أن يظهر لك ما يلي:

يتم تحميل هذه الآلة الافتراضية مزوّدة بكل أدوات التطوير التي ستحتاج إليها. توفّر هذه الخدمة دليلًا منزليًا ثابتًا بسعة 5 غيغابايت، وتعمل على Google Cloud، ما يؤدي إلى تحسين أداء الشبكة والمصادقة بشكل كبير. يمكن إكمال جميع المهام في هذا الدرس العملي ضمن المتصفّح. ليس عليك تثبيت أي تطبيق.
تفعيل واجهات برمجة التطبيقات المطلوبة وإعداد البيئة
نفِّذ الأوامر التالية لضبط رقم تعريف مشروعك وتحديد المنطقة وتفعيل واجهات برمجة التطبيقات اللازمة للخدمة.
export PROJECT_ID=$(gcloud config get-value project)
gcloud config set project $PROJECT_ID
export LOCATION="us-central1"
gcloud services enable dataplex.googleapis.com \
bigquery.googleapis.com \
datacatalog.googleapis.com
إنشاء مجموعة بيانات في BigQuery وإعداد بيانات نموذجية
نحتاج إلى مادة عرض بيانات ملموسة لإدارتها. سننشئ مجموعة بيانات BigQuery ونحمّل عينة صغيرة من ملف CSV يمثّل المعاملات. سيكتشف Dataplex هذا الجدول تلقائيًا وينشئ له إدخالاً.
# Create the BigQuery Dataset in the us-central1 region
bq --location=$LOCATION mk --dataset \
--description "Retail data for governance codelab" \
$PROJECT_ID:retail_data
# Create a temporary CSV file with the sample data
echo "transaction_id,user_email,gmv,transaction_date
1001,test@example.com,150.50,2025-08-28
1002,user@example.com,75.00,2025-08-28" > /tmp/transactions.csv
# Load the data from the temporary CSV file into BigQuery
bq load \
--source_format=CSV \
--autodetect \
retail_data.transactions \
/tmp/transactions.csv
# (Optional) Clean up the temporary file
rm /tmp/transactions.csv
تحقَّق من الإعداد من خلال تنفيذ طلب بحث سريع:
bq query --nouse_legacy_sql "SELECT * FROM retail_data.transactions"
3- تحديد لغة مشتركة باستخدام "مسرد المصطلحات التجارية"
تبدأ الإدارة الفعّالة بتعريفات واضحة. إذا رأى المطوّر عمودًا باسم gmv، يجب ألا يضطر إلى التخمين ما إذا كان يتضمّن ضرائب أو عوائد. يحلّ "قاموس المصطلحات التجارية" هذه المشكلة من خلال فصل تعريف النشاط التجاري عن التنفيذ الفني.
- في Google Cloud Console، انتقِل إلى الفهرس الشامل في Dataplex.
- في قائمة التنقّل اليمنى، اختَر المسارد (ضمن "إدارة البيانات الوصفية").

- انقر على إنشاء مسرد مصطلحات خاص بالمؤسسة.
- أدخِل التفاصيل التالية:
- الاسم:
Retail Business Glossary - الموقع الجغرافي:
us-central1(أو الموقع الجغرافي الذي حدّدته في عملية الإعداد)
- الاسم:
- انقر على إنشاء.

- انقر على مسرد مصطلحات البيع بالتجزئة الذي تم إنشاؤه حديثًا للدخول إليه.

- انقر على إنشاء فئة وأدخِل الاسم
Sales Metrics، ثم انقر على إنشاء. تساعد الفئات في تجميع العبارات ذات الصلة. - اختَر الفئة
Sales Metricsوانقر على إضافة عبارة، ثمّ أطلِق عليها اسمGross Merchandise Value، ثمّ انقر على إنشاء. - انقر على زر "إضافة" (+) في "نظرة عامة"، ثم املأ التفاصيل التالية:
- نظرة عامة:
The total value of merchandise sold over a given period of time before the deduction of any fees or expenses. This is a key indicator of e-commerce business growth.
- نظرة عامة:
- انقر على حفظ.

لقد وضعت الآن تعريفًا واضحًا يمكن ربطه بمواد العرض الفنية في مؤسستك.
4. تحديد بيانات التعريف الفنية المنظَّمة باستخدام نوع السمة
لا تكفي علامات "المفتاح:القيمة" البسيطة لضمان الدقة الهندسية. إذا كنت بحاجة إلى تتبُّع "مالكي البيانات"، لن تريد أن يتم وضع العلامة owner:bob على أحد الجداول والعلامة contact:alice@example.com على جدول آخر. تحتاج إلى مخطط لفرض شرط توفّر مالك وأن يكون بتنسيق عنوان بريد إلكتروني صالح.
سنستخدم نوع سمة لتحديد هذا العقد.
- في قائمة التنقّل اليمنى في Dataplex، ضِمن الكتالوج، اختَر أنواع الجوانب ونماذج العلامات.
- اختَر علامة التبويب مخصّص وانقر على إنشاء نوع عنصر.

- أدخِل التفاصيل التالية:
- الاسم المعروض:
Data Asset Governance - الموقع الجغرافي:
us-central1
- الاسم المعروض:
- في قسم النموذج، سنحدّد المخطط الخاص بـ
Aspect. انقر على إضافة حقل لإنشاء الحقول الثلاثة التالية:- الحقل 1:
- الاسم المعروض:
Data Steward - النوع:
Text - نوع النص:
Plain text - عدد العناصر في الحقل: مطلوب (ضَع علامة في المربّع)
- الاسم المعروض:
- الحقل 2 (انقر على إضافة حقل مرة أخرى):
- الاسم المعروض:
Data Sensitivity - النوع:
Enum - القيم: أضِف
PublicوInternalوConfidential - عدد العناصر في الحقل: اختياري
- الاسم المعروض:
- الحقل 3 (انقر على إضافة حقل مرة أخرى):
- الاسم المعروض:
Last Review Date - النوع:
Date and time - عدد العناصر في الحقل: اختياري
- الاسم المعروض:
- الحقل 1:
- انقر على حفظ.

لقد أنشأت للتو عقد بيانات وصفية قابلاً لإعادة الاستخدام. لا يستخدمها أي شيء حتى الآن، ولكن البنية موجودة.
5- ربط الحوكمة بمادة العرض
الآن، سنجمع كل ذلك معًا. لدينا جدول BigQuery (retail_data.transactions) وتعريف نشاط تجاري (Gross Merchandise Value) ومخطط إدارة (Data Asset Governance).
سنعمل على تحسين الإدخال في Dataplex لجدول BigQuery.
إثراء المخطط بالسياق التجاري (على مستوى العمود)
لنوضّح للمستخدمين ما يعنيه عمود gmv من خلال ربطه بمسرد المصطلحات.
- في شريط التنقّل الأيمن في Dataplex، انقر على بحث.
- في أعلى يسار الصفحة، انقر على علامة التبويب الفهرس العام في Dataplex إذا لم يتم تفعيلها.

- البحث عن
retail_data.transactionsانقر على نتيجة "جدول BigQuery".

- انقر على علامة التبويب Schema ضمن "تفاصيل الإدخال".
- ضَع علامة في مربّع الاختيار الخاص بصف
gmvالعمود وانقر على إضافة مصطلح نشاط تجاري. - اختَر المصطلح
Gross Merchandise Value.

لم يعُد العمود gmv مجرد "FLOAT"، بل أصبح مرتبطًا الآن بالتعريف المؤسسي لـ Gross Merchandise Value.
إثراء الإدخال بالبيانات الوصفية الفنية المنظَّمة (على مستوى الجدول)
بعد ذلك، سنرفق Data Asset Governance الجانب بالجدول لتحديد الملكية والحساسية.
- البقاء في صفحة
retail_data.transactionsEntry - انقر على علامة التبويب إضافة علامة أو مظهر، ثمّ اختَر نوع
Data Asset Governanceمن القائمة المنسدلة.

- سيعرض النموذج الآن الحقول المحدّدة في مخطط "نوع العنصر". املأها على النحو التالي:
- مسؤول البيانات:
finance-team@example.com - حساسية البيانات: اختَر
Internal. - تاريخ آخر مراجعة: اختَر تاريخ اليوم.
- مسؤول البيانات:
- انقر على حفظ.

لقد أرفقت "جانبًا منظَّمًا" بالإدخال بنجاح. وعلى عكس العلامة البسيطة، يتم التحقّق من صحة هذه البيانات استنادًا إلى المخطط الذي أنشأته.
6. عملية موحّدة للعثور على الحسابات وإثبات ملكيتها
لم نقم بهذا العمل لمجرّد ملء النماذج. وقد فعلنا ذلك لجعل البيانات قابلة للاستكشاف وموثوقة. لنطّلع على كيفية تغيير هذه البيانات الوصفية لتجربة المطوّرين في ما يتعلّق بالبحث والاستكشاف.
ارجع إلى صفحة البحث الرئيسية في "كتالوج Dataplex الشامل".
تخيّل أنّك مهندس منصة يفرض الحوكمة. عليك العثور على جميع مواد العرض التي تم وضع علامة "داخلي" عليها والتي تخضع لنوع العنصر المحدّد. عليك استخدام مسندات دقيقة استنادًا إلى المخطط.
يمكنك التحقّق من ذلك بطريقتَين: استخدام بنية طلب بحث دقيقة (ضرورية للأتمتة) أو استخدام فلاتر تفاعلية في واجهة المستخدم.
الطريقة 1: التحقّق من خلال "استعلام منظَّم"
- في شريط البحث (في وضع البحث بالكلمات الرئيسية)، أدخِل طلب البحث المنظَّم التالي.
aspect:data-asset-governance.data-sensitivity=Internal
- يجب أن يظهر جدول
retail_data.transactions.

الطريقة 2: التحقّق من خلال "أوجه فلتر واجهة المستخدم"
- محو محتوى شريط البحث لإعادة ضبط العرض
- انظر إلى لوحة الفلترة حسب الخصائص على يمين الشاشة.
- انتقِل للأسفل ووسِّع قسم إدارة أصول البيانات (يمثّل هذا القسم نوع Aspect الذي أنشأته).
- ضِمن حساسية البيانات، ضَع علامة في المربّع
Internal. - سيتم تعديل نتائج البحث لعرض الجدول
retail_data.transactions.

سواء كنت تستخدم طلب البحث المكتوب أو فلاتر واجهة المستخدم، ستكون الآلية الأساسية هي نفسها.
يوضّح هذا الفرق الأساسي بين Dataplex وموقع wiki بسيط: بياناتك الوصفية هي بنية قابلة للبحث. يمكنك الآن إنشاء عمليات تدقيق مبرمَجة (مثل "Find all tables where last_review_date is > 1 year ago") relying on this predictable structure.
7. تنظيف البيئة
لتجنُّب تكبُّد رسوم مستمرة، احذف الموارد التي تم إنشاؤها في هذا الدرس البرمجي.
حذف مجموعة بيانات BigQuery
لا يمكن التراجع عن هذا الأمر، ويستخدم العلامة -f (فرض) لإزالة مجموعة البيانات وجميع جداولها بدون تأكيد.
# Re-run these exports if your Cloud Shell session timed out
export PROJECT_ID=$(gcloud config get-value project)
# Manually type this command to confirm you are deleting the correct dataset
bq rm -r -f --dataset $PROJECT_ID:retail_data
حذف عناصر Dataplex
- انتقِل إلى واجهة مستخدم "الفهرس العام" في Dataplex > إدارة البيانات الوصفية > الفهرس.
- في أنواع الجوانب ونماذج العلامات، اختَر نوع الجانب data_asset_governance واحذفه.
- انتقِل إلى إدارة البيانات الوصفية > قواميس المصطلحات، واختَر
Retail Business Glossary، ثم احذفها. احرص على حذف المصطلحGross Merchandise Valueأولاً ثم حذف مسرد المصطلحات لاحقًا.
8. تهانينا!
لقد تجاوزت عملية وضع علامات بسيطة على البيانات وأنشأت نموذجًا أساسيًا ومنظَّمًا لإدارة البيانات في Dataplex.
لقد تعلّمتَ ما يلي:
- تساعد قواميس المصطلحات في إزالة الغموض عن المصطلحات التجارية.
- توفّر "أنواع الجوانب" عقد المخطط للبيانات الوصفية الفنية.
- تطبّق الجوانب هذا المخطط على "إدخالات البيانات" الفعلية.
- تستفيد ميزة "بحث Dataplex" من هذه البيانات الوصفية المنظَّمة لتسهيل العثور على البيانات بدقة.
الخطوات التالية
- إدارة الحوكمة كرمز: استخدِم موفر Google Cloud Terraform لتحديد أنواع Aspect والمصطلحات في نظام التحكّم بالإصدارات، ما يضمن اتّساق المخططات في جميع بيئات التطوير والاختبار والإنتاج.
- وضع العلامات تلقائيًا: يمكنك كتابة دالة Cloud Function أو خطوة Cloud Build يتم تشغيلها عند إنشاء مجموعة بيانات جديدة، ما يؤدي إلى إرفاق "جانب إدارة أصول البيانات" تلقائيًا بالقيم التلقائية (مثل
sensitivity=Internal, steward=TBD)، والإبلاغ عنه لمراجعته.