1. บทนำ
ในฐานะนักพัฒนาซอฟต์แวร์และวิศวกรข้อมูล เรามักจะได้รับข้อมูลจำนวนมากซึ่งดูเหมือนจะเป็นบึงข้อมูลมากกว่า เราพบจุดที่ทำให้เกิดความไม่สะดวกซ้ำๆ กันคือ "คอลัมน์ "amt" นี้มีคำจำกัดความที่แท้จริงว่าอย่างไร" "ใครจะเป็นผู้รับผิดชอบหากชุดข้อมูลนี้ใช้งานไม่ได้" หรือ "เราได้รับอนุญาตให้ใช้ตารางนี้ในเครื่องมือแนะนำที่ปรับตามโปรไฟล์ของผู้ใช้หรือไม่"
โดยปกติแล้ว แคตตาล็อกข้อมูลจะเป็นสินค้าคงคลังแบบพาสซีฟที่เต็มไปด้วยแท็กข้อความอิสระซึ่งจะกลายเป็นข้อมูลที่ไม่สอดคล้องกันและล้าสมัยอย่างรวดเร็ว และไม่ได้บังคับใช้โครงสร้าง ทำให้การกำกับดูแลแบบเป็นโปรแกรมแทบจะเป็นไปไม่ได้
เพื่อให้การดำเนินการนี้เป็นไปได้จริง เราจะพิจารณาสถานการณ์ในแล็บนี้ นั่นคือการสร้างการกำกับดูแลที่แข็งแกร่งเกี่ยวกับข้อมูลยอดขายปลีกดิบเพื่อให้แผนกการเงินเชื่อถือได้สำหรับการรายงานอย่างเป็นทางการ คุณจะย้ายข้อมูลนี้จากสถานะ "บึง" ที่ไม่ชัดเจนไปยังผลิตภัณฑ์ที่มีการควบคุม
Dataplex Universal Catalog เปลี่ยนแปลงสิ่งนี้ด้วยการจัดหาเฟรมเวิร์กการจัดการข้อมูลเมตาที่มีโครงสร้างและใช้งานได้ ซึ่งช่วยให้คุณแนบข้อมูลเมตาที่มีโครงสร้างและอิงตามสคีมา (แง่มุม) และคำจำกัดความทางธุรกิจที่ยอมรับ (อภิธานศัพท์) กับชิ้นงานข้อมูล (รายการ) ได้โดยตรง
ก่อนที่จะเขียนสคริปต์ Python หรือโมดูล Terraform เพื่อทำให้กระบวนการนี้เป็นอัตโนมัติในวงกว้างได้ คุณต้องทำความเข้าใจโมเดลออบเจ็กต์พื้นฐานก่อน
ใน Codelab นี้ เราจะดำเนินการตามขั้นตอนการกำกับดูแลด้วยตนเองใน Google Cloud Console เราจะเชื่อมโยงรายการ ประเภทแง่มุม แง่มุม และอภิธานศัพท์อย่างชัดเจนเพื่อให้คุณมีโมเดลทางความคิดที่มั่นคงเกี่ยวกับวิธีทำให้ข้อมูลค้นพบได้ เข้าใจได้ และเชื่อถือได้
ข้อกำหนดเบื้องต้น
- โปรเจ็กต์ Google Cloud ที่มีสิทธิ์เข้าถึงในฐานะเจ้าของหรือเอดิเตอร์
- คุ้นเคยกับ Google Cloud Console
- ทักษะพื้นฐานของ gcloud และ bq CLI ใน Cloud Shell
สิ่งที่คุณจะได้เรียนรู้
- ความแตกต่างที่สำคัญระหว่างรายการ Dataplex, ประเภทแง่มุม และแง่มุม
- วิธีสร้างพจนานุกรมธุรกิจเพื่อแก้ปัญหาความคลุมเครือในคำศัพท์
- วิธีออกแบบประเภทแง่มุมเพื่อบังคับใช้สคีมาที่เข้มงวดสำหรับข้อมูลเมตาทางเทคนิค (นอกเหนือจาก "แท็ก")
- วิธีลิงก์คำศัพท์ในพจนานุกรมธุรกิจกับคอลัมน์ BigQuery ที่เฉพาะเจาะจง
- วิธีแนบ Aspect ที่มีโครงสร้างกับชิ้นงานข้อมูลและตรวจสอบอินพุต
- วิธีเรียกใช้การค้นหาที่แม่นยำกับข้อมูลเมตาที่มีโครงสร้างใหม่นี้
สิ่งที่คุณต้องมี
- บัญชี Google Cloud และโปรเจ็กต์ Google Cloud
- เว็บเบราว์เซอร์ เช่น Chrome
แนวคิดหลัก
- รายการ: การแสดงเนื้อหาข้อมูลในแคตตาล็อกในรูปแบบ Canonical แบบแอบสแตรก ให้คิดว่านี่คือ "ตัวชี้" หรือ "คำนาม" เมื่อสร้างตาราง BigQuery แล้ว Dataplex จะสร้างรายการสำหรับตารางนั้นโดยอัตโนมัติ เราไม่ได้ควบคุมตารางโดยตรง แต่ควบคุมรายการในตาราง
- พจนานุกรมคำศัพท์ทางธุรกิจ: พจนานุกรมแบบรวมศูนย์ที่มีการควบคุมเวอร์ชันของคำศัพท์ทางธุรกิจขององค์กร ซึ่งเป็นแหล่งข้อมูลที่ถูกต้องเพียงแหล่งเดียว ซึ่งจะช่วยป้องกันปัญหา "ฝ่ายขายกำหนด GMV แตกต่างจากฝ่ายการเงิน"
- ประเภทแง่มุม: สคีมาหรือเทมเพลตสำหรับข้อมูลเมตาหมวดหมู่หนึ่งๆ ประเภทแง่มุมจะกำหนดฟิลด์ ประเภทข้อมูล (สตริง, enum, วันที่และเวลา ฯลฯ) และข้อจํากัด (ต้องระบุ/ไม่บังคับ) ซึ่งเป็นสัญญาที่รับประกันความสอดคล้องของข้อมูลเมตา
- แง่มุม: ข้อมูลเมตาที่เฉพาะเจาะจงซึ่งแนบไปกับรายการตามโครงสร้างที่กำหนดโดยประเภทแง่มุม ซึ่งมีข้อมูลจริงที่ตรงกับสคีมาของประเภทแง่มุม
2. การตั้งค่าและข้อกำหนด
เริ่มต้น Cloud Shell
แม้ว่าคุณจะใช้งาน Google Cloud จากระยะไกลจากแล็ปท็อปได้ แต่ใน Codelab นี้คุณจะใช้ Google Cloud Shell ซึ่งเป็นสภาพแวดล้อมบรรทัดคำสั่งที่ทำงานในระบบคลาวด์
จาก Google Cloud Console ให้คลิกไอคอน Cloud Shell ในแถบเครื่องมือด้านขวาบน

การจัดสรรและเชื่อมต่อกับสภาพแวดล้อมจะใช้เวลาเพียงไม่กี่นาที เมื่อเสร็จแล้ว คุณควรเห็นข้อความคล้ายกับตัวอย่างต่อไปนี้

เครื่องเสมือนนี้มาพร้อมเครื่องมือพัฒนาซอฟต์แวร์ทั้งหมดที่คุณต้องการ โดยมีไดเรกทอรีหลักแบบถาวรขนาด 5 GB และทำงานบน Google Cloud ซึ่งช่วยเพิ่มประสิทธิภาพเครือข่ายและการตรวจสอบสิทธิ์ได้อย่างมาก คุณสามารถทำงานทั้งหมดในโค้ดแล็บนี้ได้ภายในเบราว์เซอร์ คุณไม่จำเป็นต้องติดตั้งอะไร
เปิดใช้ 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"
3. สร้างภาษาที่ใช้ร่วมกันด้วยพจนานุกรมธุรกิจ
การกำกับดูแลที่มีประสิทธิภาพเริ่มต้นด้วยคำจำกัดความที่ชัดเจน หากนักพัฒนาแอปเห็นคอลัมน์ชื่อ gmv ก็ไม่ควรต้องเดาว่าคอลัมน์นั้นรวมภาษีหรือการคืนเงินหรือไม่ พจนานุกรมศัพท์ธุรกิจช่วยแก้ปัญหานี้ด้วยการแยกคำจำกัดความทางธุรกิจจากการติดตั้งใช้งานทางเทคนิค
- ในคอนโซล Google Cloud ให้ไปที่แคตตาล็อกสากลของ 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. กำหนดข้อมูลเมตาทางเทคนิคที่มีโครงสร้างด้วยประเภท Aspect
แท็ก "คีย์:ค่า" อย่างง่ายไม่เพียงพอต่อความเข้มงวดด้านวิศวกรรม หากต้องการติดตาม "เจ้าของข้อมูล" คุณไม่ควรแท็กตารางหนึ่งเป็น owner:bob และอีกตารางเป็น contact:alice@example.com คุณต้องมีสคีมาเพื่อบังคับให้ต้องระบุเจ้าของและต้องเป็นรูปแบบอีเมลที่ถูกต้อง
เราจะใช้ประเภทลักษณะเพื่อกำหนดสัญญานี้
- ในการนําทางด้านซ้ายของ Dataplex ให้เลือกประเภทแง่มุมและเทมเพลตแท็กในส่วนแคตตาล็อก
- เลือกแท็บกำหนดเอง แล้วคลิกสร้างประเภทแง่มุม

- ป้อนรายละเอียดต่อไปนี้
- ชื่อที่แสดง:
Data Asset Governance - สถานที่:
us-central1
- ชื่อที่แสดง:
- ในส่วนเทมเพลต เราจะกำหนดสคีมาสำหรับ
Aspectคลิกเพิ่มฟิลด์เพื่อสร้างฟิลด์ 3 รายการต่อไปนี้- ฟิลด์ 1:
- ชื่อที่แสดง:
Data Steward - ประเภท:
Text - ประเภทข้อความ:
Plain text - Cardinality: ต้องระบุ (เลือกช่อง)
- ชื่อที่แสดง:
- ฟิลด์ 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)
เราจะเพิ่มข้อมูลให้กับ Entry ของ Dataplex สำหรับตาราง BigQuery
เพิ่มบริบททางธุรกิจให้กับสคีมา (ระดับคอลัมน์)
มาบอกให้ผู้ใช้ทราบว่าคอลัมน์ gmv หมายถึงอะไรกันแน่โดยลิงก์ไปยังพจนานุกรมศัพท์
- คลิกค้นหาในการนำทางด้านซ้ายของ Dataplex
- ที่ด้านขวาบน ให้คลิกแท็บ Dataplex Universal Catalog หากยังไม่ได้เปิดใช้งาน

- ค้นหา
retail_data.transactionsคลิกผลลัพธ์สำหรับตาราง BigQuery

- คลิกแท็บสคีมาในรายละเอียดรายการ
- เลือกช่องทําเครื่องหมายของแถวคอลัมน์
gmvแล้วคลิกเพิ่มคำทางธุรกิจ - เลือก
Gross Merchandise Valueคำ

คอลัมน์ gmv ไม่ใช่แค่ "FLOAT" อีกต่อไป แต่ตอนนี้ลิงก์กับคำจำกัดความขององค์กรสำหรับ Gross Merchandise Value แล้ว
เพิ่มข้อมูลรายการด้วยข้อมูลเมตาทางเทคนิคที่มีโครงสร้าง (ระดับตาราง)
จากนั้น เราจะแนบData Asset Governance Aspect ไปยังตารางเพื่อกำหนดความเป็นเจ้าของและความละเอียดอ่อน
- อยู่ใน
retail_data.transactionsหน้าแรก - คลิกแท็บเพิ่มแท็กหรือแง่มุม แล้วเลือกประเภท
Data Asset Governanceจากเมนูแบบเลื่อนลง

- ตอนนี้แบบฟอร์มจะแสดงช่องที่กำหนดไว้ในสคีมาประเภทแง่มุม กรอกข้อมูลดังนี้
- ผู้ดูแลข้อมูล:
finance-team@example.com - ความละเอียดอ่อนของข้อมูล: เลือก
Internal - วันที่ตรวจสอบครั้งล่าสุด: เลือกวันที่ปัจจุบัน
- ผู้ดูแลข้อมูล:
- คลิกบันทึก

คุณแนบแง่มุมที่มีโครงสร้างกับรายการเรียบร้อยแล้ว ซึ่งต่างจากแท็กธรรมดา ข้อมูลนี้จะได้รับการตรวจสอบกับสคีมาที่คุณสร้างขึ้น
6. การค้นหาและการยืนยันแบบรวม
เราไม่ได้ทำงานนี้เพียงเพื่อกรอกแบบฟอร์ม เราทำเช่นนี้เพื่อให้ค้นพบและเชื่อถือข้อมูลได้ มาดูกันว่าข้อมูลเมตานี้จะเปลี่ยนประสบการณ์ของนักพัฒนาแอปในการค้นหาและการค้นพบอย่างไร
กลับไปที่หน้าค้นหาหลักใน Dataplex Universal Catalog
สมมติว่าคุณเป็นวิศวกรแพลตฟอร์มที่บังคับใช้การกำกับดูแล คุณต้องค้นหาชิ้นงานทั้งหมดที่ทำเครื่องหมายว่า "ภายใน" ซึ่งอยู่ภายใต้การควบคุมของประเภทแง่มุมที่เฉพาะเจาะจง คุณต้องใช้เพรดิเคตที่แน่นอนตามสคีมา
คุณยืนยันได้ 2 วิธี ได้แก่ การใช้ไวยากรณ์การค้นหาที่แม่นยำ (จำเป็นสำหรับการทำงานอัตโนมัติ) หรือการใช้ตัวกรอง UI แบบอินเทอร์แอกทีฟ
วิธีที่ 1: ยืนยันผ่านการค้นหาที่มีโครงสร้าง
- ในแถบค้นหา (ในโหมดค้นหาคีย์เวิร์ด) ให้ป้อนการค้นหาที่มีโครงสร้างต่อไปนี้
aspect:data-asset-governance.data-sensitivity=Internal
- คุณควรเห็น
retail_data.transactionsตาราง

วิธีที่ 2: ยืนยันผ่านแง่มุมของตัวกรอง UI
- ล้างแถบค้นหาเพื่อรีเซ็ตมุมมอง
- ดูแผงกรองตามพร็อพเพอร์ตี้ทางด้านซ้ายของหน้าจอ
- เลื่อนลงและขยายส่วนการกำกับดูแลชิ้นงานข้อมูล (ซึ่งแสดงถึงประเภทแง่มุมที่คุณสร้าง)
- ในส่วนความละเอียดอ่อนของข้อมูล ให้เลือกช่องสำหรับ
Internal - ผลการค้นหาจะอัปเดตเพื่อแสดงตาราง
retail_data.transactions

ไม่ว่าคุณจะใช้การค้นหาที่พิมพ์หรือตัวกรอง UI กลไกพื้นฐานก็เหมือนกัน
ซึ่งแสดงให้เห็นความแตกต่างพื้นฐานระหว่าง Dataplex กับวิกิธรรมดา นั่นคือข้อมูลเมตาของคุณเป็นโครงสร้างที่ค้นหาได้ ตอนนี้คุณสร้างการตรวจสอบอัตโนมัติได้แล้ว (เช่น "ค้นหาตารางทั้งหมดที่ last_review_date เก่ากว่า 1 ปี") โดยอาศัยโครงสร้างที่คาดการณ์ได้นี้
7. การทำความสะอาดสภาพแวดล้อม
โปรดลบทรัพยากรที่สร้างขึ้นใน Codelab นี้เพื่อหลีกเลี่ยงการเรียกเก็บเงินอย่างต่อเนื่อง
ลบชุดข้อมูล 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 Universal Catalog UI > จัดการข้อมูลเมตา > แคตตาล็อก
- ในประเภทแง่มุมและเทมเพลตแท็ก ให้เลือกประเภทแง่มุม data_asset_governance แล้วลบออก
- ไปที่จัดการข้อมูลเมตา > อภิธานศัพท์ เลือก
Retail Business Glossaryแล้วลบ โปรดลบคำศัพท์Gross Merchandise Valueก่อน แล้วจึงลบอภิธานศัพท์
8. ยินดีด้วย
คุณได้ก้าวข้ามการติดแท็กข้อมูลแบบง่ายๆ และสร้างรูปแบบการกำกับดูแลที่มีโครงสร้างพื้นฐานใน Dataplex
คุณได้เรียนรู้ว่า
- อภิธานศัพท์ช่วยขจัดความคลุมเครือทางธุรกิจ
- ประเภทแง่มุมระบุสัญญาของสคีมาสำหรับข้อมูลเมตาทางเทคนิค
- Aspects ใช้สคีมาดังกล่าวกับรายการข้อมูลจริง
- Dataplex Search ใช้ข้อมูลเมตาที่มีโครงสร้างนี้เพื่อการค้นพบที่แม่นยำ
ขั้นตอนถัดไป
- การกำกับดูแลในรูปแบบโค้ด: ใช้ผู้ให้บริการ Terraform ของ Google Cloud เพื่อกำหนดประเภท Aspect และอภิธานศัพท์ในการควบคุมเวอร์ชัน เพื่อให้มั่นใจว่าสคีมาจะสอดคล้องกันในสภาพแวดล้อมการพัฒนา/การทดสอบ/การผลิต
- การติดแท็กอัตโนมัติ: เขียนฟังก์ชัน Cloud หรือขั้นตอน Cloud Build ที่ทริกเกอร์โดยการสร้างชุดข้อมูลใหม่ ซึ่งจะแนบแง่มุม "การกำกับดูแลชิ้นงานข้อมูล" โดยอัตโนมัติพร้อมค่าเริ่มต้น (เช่น
sensitivity=Internal, steward=TBD) โดยแจ้งว่าไม่เหมาะสมเพื่อให้เราตรวจสอบ