مدیریت بنیادی با کاتالوگ جهانی دیتاپلکس: شروع کار

۱. مقدمه

ما به عنوان توسعه‌دهندگان و مهندسان داده، اغلب مجموعه‌های بزرگی از داده‌ها را به ارث می‌بریم که بیشتر شبیه باتلاق‌های داده هستند. ما بارها و بارها با نقاط اصطکاک یکسانی روبرو می‌شویم: "تعریف واقعی این ستون "amt" چیست؟"، "اگر این مجموعه داده خراب شود، چه کسی مسئول است؟"، یا "آیا مجاز به استفاده از این جدول در موتور توصیه شخصی‌سازی شده هستیم؟"

به طور سنتی، کاتالوگ‌های داده، موجودی‌های غیرفعالی پر از برچسب‌های متن آزاد بوده‌اند که به سرعت ناسازگار و قدیمی می‌شوند. آن‌ها ساختار را اعمال نمی‌کنند و مدیریت برنامه‌ریزی‌شده را تقریباً غیرممکن می‌سازند.

برای عملی کردن این موضوع، در این آزمایشگاه یک سناریو را بررسی خواهیم کرد: ایجاد یک مدیریت قوی بر داده‌های خام فروش خرده‌فروشی به گونه‌ای که بخش مالی بتواند برای گزارش‌های رسمی به آن اعتماد کند. شما این داده‌ها را از حالت مبهم «باتلاق» به یک محصول مدیریت‌شده منتقل خواهید کرد.

کاتالوگ جهانی دیتاپلکس با ارائه یک چارچوب مدیریت فراداده فعال و ساختاریافته، این وضعیت را تغییر می‌دهد. این چارچوب به شما امکان می‌دهد فراداده‌های ساختاریافته و مبتنی بر طرحواره ( جنبه‌ها ) و تعاریف تجاری پذیرفته‌شده ( واژه‌نامه‌ها ) را مستقیماً به دارایی‌های داده خود ( مدخل‌ها ) پیوست کنید.

قبل از اینکه بتوانید اسکریپت‌های پایتون یا ماژول‌های Terraform را برای خودکارسازی این کار در مقیاس بزرگ بنویسید، باید مدل شیء زیربنایی را درک کنید.

در این آزمایشگاه کد، مراحل مدیریت را به صورت دستی در کنسول گوگل کلود انجام خواهیم داد. ما به طور واضح نقاط بین ورودی‌ها، انواع جنبه‌ها، جنبه‌ها و واژه‌نامه‌ها را به هم متصل خواهیم کرد تا یک مدل ذهنی محکم از چگونگی قابل کشف، قابل فهم و قابل اعتماد کردن داده‌هایتان به شما ارائه دهیم.

پیش‌نیازها

  • یک پروژه گوگل کلود با دسترسی مالک یا ویرایشگر.
  • آشنایی با کنسول ابری گوگل
  • مهارت‌های اولیه gcloud و bq CLI در Cloud Shell.

آنچه یاد خواهید گرفت

  • تمایز اساسی بین ورودی Dataplex، نوع جنبه و جنبه.
  • چگونه یک واژه‌نامه تجاری برای رفع ابهام در اصطلاحات ایجاد کنیم؟
  • چگونه یک نوع جنبه (Aspect Type) طراحی کنیم تا یک طرحواره دقیق برای فراداده‌های فنی اعمال شود (فراتر از "برچسب‌ها").
  • نحوه پیوند دادن یک اصطلاح واژه‌نامه تجاری به یک ستون خاص در BigQuery.
  • چگونه یک Aspect ساختاریافته را به یک دارایی داده‌ای متصل کنیم و ورودی‌ها را اعتبارسنجی کنیم.
  • چگونه می‌توان پرس‌وجوهای جستجوی دقیقی را در برابر این ابرداده‌های ساختاریافته جدید اجرا کرد.

آنچه نیاز دارید

  • یک حساب کاربری گوگل کلود و پروژه گوگل کلود
  • یک مرورگر وب مانند کروم

مفاهیم کلیدی

  • ورودی: نمایش متعارف و انتزاعی یک دارایی داده در کاتالوگ. این را به عنوان "اشاره‌گر" یا "اسم" در نظر بگیرید. وقتی یک جدول BigQuery ایجاد می‌کنید، Dataplex به طور خودکار یک ورودی برای آن ایجاد می‌کند. ما مستقیماً جدول را مدیریت نمی‌کنیم؛ ما ورودی آن را مدیریت می‌کنیم.
  • واژه‌نامه تجاری: یک فرهنگ لغت متمرکز و نسخه‌بندی‌شده از اصطلاحات تجاری سازمان شما. این تنها منبع حقیقت است. از مشکل «فروش، GMV را متفاوت از امور مالی تعریف می‌کند» جلوگیری می‌کند.
  • نوع جنبه: طرحواره یا الگویی برای یک دسته خاص از فراداده. یک نوع جنبه، فیلدها، انواع داده (رشته، شمارشی، تاریخ و زمان و غیره) و محدودیت‌ها (الزامی/اختیاری) را تعریف می‌کند. این قرارداد است که سازگاری فراداده را تضمین می‌کند.
  • جنبه: یک قطعه خاص از فراداده که به یک ورودی متصل شده و از ساختار تعریف شده توسط نوع جنبه پیروی می‌کند. این شامل داده‌های واقعی است که طرحواره نوع جنبه را برآورده می‌کنند.

۲. تنظیمات و الزامات

شروع پوسته ابری

اگرچه می‌توان از راه دور و از طریق لپ‌تاپ، گوگل کلود را مدیریت کرد، اما در این آزمایشگاه کد، از گوگل کلود شل ، یک محیط خط فرمان که در فضای ابری اجرا می‌شود، استفاده خواهید کرد.

از کنسول گوگل کلود ، روی آیکون Cloud Shell در نوار ابزار بالا سمت راست کلیک کنید:

فعال کردن پوسته ابری

آماده‌سازی و اتصال به محیط فقط چند لحظه طول می‌کشد. وقتی تمام شد، باید چیزی شبیه به این را ببینید:

تصویر صفحه ترمینال Google Cloud Shell که نشان می‌دهد محیط متصل شده است

این ماشین مجازی با تمام ابزارهای توسعه‌ای که نیاز دارید، مجهز شده است. این ماشین مجازی یک دایرکتوری خانگی پایدار ۵ گیگابایتی ارائه می‌دهد و روی فضای ابری گوگل اجرا می‌شود که عملکرد شبکه و احراز هویت را تا حد زیادی بهبود می‌بخشد. تمام کارهای شما در این آزمایشگاه کد را می‌توان در یک مرورگر انجام داد. نیازی به نصب چیزی ندارید.

فعال کردن API های مورد نیاز و پیکربندی محیط

دستورات زیر را برای تنظیم شناسه پروژه، تعریف منطقه و فعال کردن APIهای سرویس لازم اجرا کنید.

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"

۳. با یک واژه‌نامه تجاری، یک زبان مشترک ایجاد کنید

مدیریت مؤثر با تعاریف واضح شروع می‌شود. اگر یک توسعه‌دهنده ستونی به نام gmv را ببیند، نباید مجبور باشد حدس بزند که آیا شامل مالیات یا بازده می‌شود یا خیر. واژه‌نامه کسب و کار با جدا کردن تعریف کسب و کار از پیاده‌سازی فنی، این مشکل را حل می‌کند.

  1. در کنسول گوگل کلود، به کاتالوگ جهانی دیتاپلکس بروید.
  2. در منوی ناوبری سمت چپ، واژه‌نامه‌ها (در زیر مدیریت فراداده) را انتخاب کنید.

۹۶۰۲۰۲۰۷ba4bd128.png

  1. روی ایجاد واژه‌نامه کسب و کار کلیک کنید.
  2. جزئیات زیر را وارد کنید:
    • نام : Retail Business Glossary
    • مکان : us-central1 (یا مکانی که در تنظیمات تعریف کرده‌اید).
  3. روی ایجاد کلیک کنید.

e3b146e5f3b57785.png

  1. برای ورود به واژه‌نامه‌ی کسب‌وکارهای خرده‌فروشی که به تازگی ایجاد شده است، روی آن کلیک کنید.

c98bdf049e946234.png

  1. روی «ایجاد دسته‌بندی» کلیک کنید و نام آن را Sales Metrics بگذارید، سپس روی «ایجاد» کلیک کنید. دسته‌بندی‌ها به گروه‌بندی اصطلاحات مرتبط کمک می‌کنند.
  2. دسته بندی Sales Metrics را انتخاب کنید و روی Add term (افزودن اصطلاح) کلیک کنید، سپس نام آن را Gross Merchandise Value بگذارید، در نهایت روی Create (ایجاد) کلیک کنید.
  3. روی دکمه + افزودن در نمای کلی کلیک کنید، سپس جزئیات زیر را پر کنید:
    • مرور کلی: 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. روی ذخیره کلیک کنید.

3a642fd2a41c040e.png

اکنون تعریف روشنی ارائه داده‌اید که می‌تواند به دارایی‌های فنی در سراسر سازمان شما مرتبط باشد.

۴. تعریف فراداده فنی ساختاریافته با نوع جنبه (Aspect Type)

تگ‌های ساده‌ی «key:value» برای دقت مهندسی کافی نیستند. اگر نیاز به ردیابی «مالکان داده» دارید، نمی‌خواهید یک جدول با برچسب owner:bob و جدول دیگری contact:alice@example.com داشته باشید. شما به یک طرحواره نیاز دارید تا الزام کند که وجود مالک الزامی است و باید یک قالب ایمیل معتبر باشد.

ما از یک نوع جنبه (Aspect Type) برای تعریف این قرارداد استفاده خواهیم کرد.

  1. در منوی ناوبری سمت چپ Dataplex، در بخش Catalogue ، گزینه Aspect types & Tag Templates را انتخاب کنید.
  1. تب Custom را انتخاب کنید و روی Create aspect type کلیک کنید.

a920c555d40425a.png

  1. جزئیات زیر را وارد کنید:
    • نام نمایشی : Data Asset Governance
    • مکان : us-central1
  2. در بخش الگو ، طرحواره (schema) را برای Aspect خود تعریف خواهیم کرد. برای ایجاد سه فیلد زیر، روی «افزودن فیلد» کلیک کنید:
    • فیلد ۱:
      • نام نمایشی : Data Steward
      • نوع : Text
      • نوع متن : Plain text
      • کاردینالیتی : الزامی است (کادر را علامت بزنید)
    • فیلد ۲ (دوباره روی افزودن فیلد کلیک کنید):
      • نام نمایشی : Data Sensitivity
      • نوع : Enum
      • مقادیر : Public ، Internal و Confidential را اضافه کنید
      • کاردینالیتی : اختیاری
    • فیلد ۳ (دوباره روی افزودن فیلد کلیک کنید):
      • نام نمایشی : Last Review Date
      • نوع : Date and time
      • کاردینالیتی : اختیاری
  3. روی ذخیره کلیک کنید.

20babd75c2b8dce6.png

شما به تازگی یک قرارداد فراداده قابل استفاده مجدد ایجاد کرده‌اید. هنوز هیچ چیز از آن استفاده نمی‌کند، اما ساختار آن وجود دارد.

۵. اتصال حاکمیت به دارایی

حالا همه اینها را کنار هم قرار می‌دهیم. ما یک جدول BigQuery ( retail_data.transactions )، یک تعریف تجاری ( Gross Merchandise Value ) و یک طرحواره مدیریتی (Data Asset Governance ) داریم.

ما ورودی Dataplex را برای جدول BigQuery غنی‌سازی خواهیم کرد.

غنی‌سازی طرحواره با زمینه کاری (در سطح ستون)

بیایید با پیوند دادن ستون gmv به واژه‌نامه، به کاربران بگوییم که منظور واقعی آن چیست.

  1. در منوی ناوبری سمت چپ Dataplex، روی جستجو کلیک کنید.
  2. در سمت راست بالا، اگر تب Dataplex Universal Catalog فعال نبود، روی آن کلیک کنید.

۸۴۹a۲۴e۷b۱a۸۶a۱۹.png

  1. retail_data.transactions را جستجو کنید. روی نتیجه‌ی مربوط به جدول BigQuery کلیک کنید.

54d3edd1520593a9.png

  1. روی برگه طرحواره (Schema) در جزئیات ورودی کلیک کنید.
  2. کادر انتخاب ردیف ستون gmv را علامت بزنید و روی « افزودن اصطلاح تجاری» کلیک کنید.
  3. عبارت Gross Merchandise Value را انتخاب کنید.

64768eecf630c90b.png

ستون gmv دیگر فقط یک «FLOAT» نیست؛ اکنون به تعریف شرکتی از Gross Merchandise Value مرتبط شده است.

ورودی را با فراداده‌های فنی ساختاریافته (در سطح جدول) غنی‌سازی کنید

در مرحله بعد، جنبه Data Asset Governance را به جدول پیوست می‌کنیم تا مالکیت و حساسیت را تعریف کنیم.

  1. در صفحه ورود retail_data.transactions بمانید.
  2. روی برگه «افزودن برچسب یا جنبه» کلیک کنید، سپس نوع Data Asset Governance را از منوی کشویی انتخاب کنید.

4b770307159a28d8.png

  1. فرم اکنون فیلدهای تعریف شده در طرحواره Aspect Type شما را نمایش می‌دهد. آنها را به شرح زیر پر کنید:
    • متصدی داده: finance-team@example.com
    • حساسیت داده‌ها: Internal را انتخاب کنید.
    • تاریخ آخرین بررسی: تاریخ امروز را انتخاب کنید.
  2. روی ذخیره کلیک کنید.

f953c5569520d42a.png

شما با موفقیت یک Aspect ساختاریافته را به Entry پیوست کرده‌اید. برخلاف یک تگ ساده، این داده‌ها با توجه به schema ای که ایجاد کرده‌اید، اعتبارسنجی می‌شوند.

۶. کشف و تأیید یکپارچه

ما این کار را فقط برای پر کردن فرم‌ها انجام ندادیم. ما این کار را انجام دادیم تا داده‌ها قابل کشف و قابل اعتماد باشند. بیایید ببینیم که چگونه این فراداده تجربه توسعه‌دهنده را برای جستجو و کشف تغییر می‌دهد.

به صفحه اصلی جستجو در کاتالوگ جهانی دیتاپلکس برگردید.

تصور کنید که شما یک مهندس پلتفرم هستید که مدیریت را اجرا می‌کنید. شما باید تمام دارایی‌هایی را که با عنوان "داخلی" مشخص شده‌اند و توسط نوع جنبه خاص شما مدیریت می‌شوند، پیدا کنید. شما باید از گزاره‌های دقیق بر اساس طرحواره خود استفاده کنید.

شما می‌توانید این را از دو طریق تأیید کنید: استفاده از یک سینتکس پرس‌وجوی دقیق (که برای اتوماسیون ضروری است) یا استفاده از فیلترهای رابط کاربری تعاملی.

روش ۱: تأیید از طریق پرس‌وجوی ساختاریافته

  1. در نوار جستجو (در حالت جستجوی کلمات کلیدی )، عبارت ساختاریافته زیر را وارد کنید.
aspect:data-asset-governance.data-sensitivity=Internal
  1. شما باید جدول retail_data.transactions خود را ببینید.

49120fe4ea224359.png

روش ۲: تأیید از طریق جنبه‌های فیلتر UI

  1. نوار جستجو را پاک کنید تا نما بازنشانی شود
  2. به پنل Filter by properties در سمت چپ صفحه نگاه کنید.
  3. به پایین اسکرول کنید و بخش مدیریت دارایی‌های داده (Data Asset Governance) را باز کنید (این بخش نشان‌دهنده‌ی نوع جنبه‌ای است که ایجاد کرده‌اید).
  4. در قسمت حساسیت داده‌ها ، کادر مربوط به Internal را علامت بزنید.
  5. نتایج جستجو به‌روزرسانی می‌شوند تا جدول retail_data.transactions را نشان دهند.

4df224cb06720ec4.png

چه از کوئری تایپ‌شده استفاده کنید و چه از فیلترهای رابط کاربری، مکانیزم اساسی یکسان است.

این تفاوت اساسی بین Dataplex و یک ویکی ساده را نشان می‌دهد: فراداده شما یک ساختار قابل پرس‌وجو است. اکنون می‌توانید با تکیه بر این ساختار قابل پیش‌بینی، ممیزی‌های خودکار (مثلاً "یافتن همه جداولی که last_review_date آنها > 1 سال پیش است") ایجاد کنید.

۷. تمیز کردن محیط زیست

برای جلوگیری از هزینه‌های جاری، منابع ایجاد شده در این آزمایشگاه کد را حذف کنید.

مجموعه داده BigQuery را حذف کنید

این دستور برگشت‌ناپذیر است و از آپشن -f (force) برای حذف مجموعه داده‌ها و تمام جداول آن بدون تأیید استفاده می‌کند.

# 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

  1. به رابط کاربری کاتالوگ جهانی Dataplex > مدیریت فراداده > کاتالوگ بروید.
  2. در بخش «انواع جنبه‌ها و قالب‌های برچسب» ، نوع جنبه‌ی «data_asset_governance» را انتخاب کرده و آن را حذف کنید.
  3. به مدیریت ابرداده > واژه‌نامه‌ها بروید، Retail Business Glossary انتخاب کنید و آن را حذف کنید. مطمئن شوید که ابتدا عبارت Gross Merchandise Value را حذف کرده و سپس واژه‌نامه را حذف کنید.

۸. تبریک می‌گویم!

شما فراتر از برچسب‌گذاری ساده داده‌ها حرکت کرده‌اید و یک مدل مدیریتی ساختارمند و بنیادی در دیتاپلکس ایجاد کرده‌اید.

یاد گرفتی که:

  • واژه‌نامه‌ها ابهامات تجاری را برطرف می‌کنند.
  • انواع جنبه‌ها، قرارداد طرحواره را برای فراداده‌های فنی ارائه می‌دهند.
  • جنبه‌ها آن طرحواره را برای ورودی‌های داده واقعی اعمال می‌کنند.
  • Dataplex Search از این متادیتای ساختاریافته برای کشف دقیق استفاده می‌کند.

قدم بعدی چیست؟

  • مدیریت به عنوان کد: از ارائه‌دهنده Google Cloud Terraform برای تعریف انواع جنبه‌ها و واژه‌نامه‌های خود در کنترل نسخه استفاده کنید و از طرحواره‌های سازگار در محیط‌های توسعه/تست/تولید اطمینان حاصل کنید.
  • برچسب‌گذاری خودکار: یک تابع ابری یا مرحله ساخت ابری بنویسید که با ایجاد مجموعه داده جدید فعال می‌شود و به طور خودکار جنبه «مدیریت دارایی داده» شما را با مقادیر پیش‌فرض (مثلاً، sensitivity=Internal, steward=TBD ) پیوست می‌کند و آن را برای بررسی علامت‌گذاری می‌کند.