การกำกับดูแลขั้นพื้นฐานด้วย Dataplex Universal Catalog: การเริ่มต้นใช้งาน

1. บทนำ

ในฐานะนักพัฒนาแอปและวิศวกรข้อมูล เรามักจะได้รับคอลเล็กชันข้อมูลขนาดใหญ่ที่ดูเหมือนบึงข้อมูล และต้องเผชิญกับจุดที่ทำให้เกิดความขัดแย้งซ้ำๆ เช่น "คอลัมน์ 'amt' นี้มีคำจำกัดความที่แท้จริงว่าอย่างไร" "ใครจะเป็นผู้รับผิดชอบหากชุดข้อมูลนี้ใช้งานไม่ได้" หรือ "เราได้รับอนุญาตให้ใช้ตารางนี้ในเครื่องมือแนะนำที่ปรับเปลี่ยนตามโปรไฟล์ของผู้ใช้ได้หรือไม่"

โดยทั่วไปแล้ว แคตตาล็อกข้อมูลจะเป็นคลังข้อมูลแบบพาสซีฟที่เต็มไปด้วยแท็กข้อความอิสระซึ่งจะกลายเป็นข้อมูลที่ไม่สอดคล้องกันและล้าสมัยอย่างรวดเร็ว เนื่องจากไม่มีการบังคับใช้โครงสร้าง จึงทำให้การกำกับดูแลแบบเป็นโปรแกรมเป็นไปไม่ได้

เพื่อให้การดำเนินการนี้เป็นไปได้จริง เราจะทำตามสถานการณ์ในแล็บนี้ นั่นคือ การสร้างการกำกับดูแลที่แข็งแกร่งสำหรับข้อมูลยอดขายปลีกดิบเพื่อให้แผนกการเงินเชื่อถือได้สำหรับการรายงานอย่างเป็นทางการ โดยคุณจะย้ายข้อมูลนี้จากสถานะ "บึง" ที่คลุมเครือไปยังผลิตภัณฑ์ที่มีการกำกับดูแล

Dataplex Universal Catalog จะเปลี่ยนแปลงสิ่งนี้ด้วยการมอบเฟรมเวิร์กการจัดการข้อมูลเมตาที่มีโครงสร้างและมีการใช้งาน ซึ่งช่วยให้คุณแนบข้อมูลเมตาที่มีโครงสร้างซึ่งขับเคลื่อนด้วยสคีมา (Aspect) และคำจำกัดความทางธุรกิจที่ยอมรับ (Glossary) กับชิ้นงานข้อมูล (Entry) ได้โดยตรง

ก่อนที่จะเขียนสคริปต์ Python หรือโมดูล Terraform เพื่อทำให้กระบวนการนี้เป็นอัตโนมัติในระดับใหญ่ คุณต้องทำความเข้าใจโมเดลออบเจ็กต์พื้นฐาน

ใน Codelab นี้ เราจะดำเนินการตามขั้นตอนการกำกับดูแลด้วยตนเองในคอนโซล Google Cloud โดยเราจะเชื่อมโยง Entry, ประเภท Aspect, Aspect และ Glossary อย่างชัดเจนเพื่อให้คุณมีโมเดลความคิดที่ชัดเจนเกี่ยวกับวิธีทำให้ข้อมูลค้นพบได้ เข้าใจได้ และเชื่อถือได้

ข้อกำหนดเบื้องต้น

  • โปรเจ็กต์ Google Cloud ที่มีสิทธิ์เข้าถึงระดับเจ้าของหรือผู้แก้ไข
  • ความคุ้นเคยกับคอนโซล Google Cloud
  • ทักษะพื้นฐานในการใช้ gcloud และ bq CLI ใน Cloud Shell

สิ่งที่คุณจะได้เรียนรู้

  • ความแตกต่างที่สำคัญระหว่าง Dataplex Entry, ประเภท Aspect และ Aspect
  • วิธีสร้าง Business Glossary เพื่อแก้ไขความคลุมเครือในคำศัพท์
  • วิธีออกแบบประเภท Aspect เพื่อบังคับใช้สคีมาที่เข้มงวดสำหรับข้อมูลเมตาทางเทคนิค (มากกว่า "แท็ก")
  • วิธีลิงก์คำใน Business Glossary กับคอลัมน์ BigQuery ที่เฉพาะเจาะจง
  • วิธีแนบ Aspect ที่มีโครงสร้างกับชิ้นงานข้อมูลและตรวจสอบอินพุต
  • วิธีเรียกใช้คำค้นหาที่แม่นยำกับข้อมูลเมตาที่มีโครงสร้างใหม่นี้

สิ่งที่คุณต้องมี

  • บัญชี Google Cloud และโปรเจ็กต์ Google Cloud
  • เว็บเบราว์เซอร์ เช่น Chrome

แนวคิดหลัก

  • Entry: การแสดงชิ้นงานข้อมูลแบบนามธรรมและเป็นทางการในแคตตาล็อก ให้คิดว่านี่คือ "ตัวชี้" หรือ "คำนาม" เมื่อคุณสร้างตาราง BigQuery, Dataplex จะสร้าง Entry สำหรับตารางนั้นโดยอัตโนมัติ เราไม่ได้กำกับดูแลตารางโดยตรง แต่กำกับดูแล Entry ของตาราง
  • Business Glossary: พจนานุกรมคำศัพท์ทางธุรกิจขององค์กรแบบรวมศูนย์และมีการควบคุมเวอร์ชัน ซึ่งเป็นแหล่งข้อมูลที่เชื่อถือได้เพียงแหล่งเดียว และช่วยป้องกันปัญหา "ฝ่ายขายกำหนด GMV แตกต่างจากฝ่ายการเงิน"
  • ประเภท Aspect: สคีมาหรือเทมเพลตสำหรับข้อมูลเมตาหมวดหมู่ที่เฉพาะเจาะจง ประเภท Aspect จะกำหนดฟิลด์ ประเภทข้อมูล (สตริง, Enum, วันที่และเวลา ฯลฯ) และข้อจำกัด (ต้องระบุ/ไม่บังคับ) ซึ่งเป็นสัญญาที่ช่วยให้มั่นใจได้ถึงความสอดคล้องของข้อมูลเมตา
  • Aspect: ข้อมูลเมตาที่เฉพาะเจาะจงซึ่งแนบกับ Entry และเป็นไปตามโครงสร้างที่กำหนดโดยประเภท Aspect โดยมีข้อมูลจริงที่ตรงตามสคีมาของประเภท Aspect

2. การตั้งค่าและข้อกำหนด

เริ่มต้น Cloud Shell

แม้ว่าคุณจะใช้งาน Google Cloud จากระยะไกลจากแล็ปท็อปได้ แต่ใน Codelab นี้คุณจะใช้ Google Cloud Shell ซึ่งเป็นสภาพแวดล้อมบรรทัดคำสั่งที่ทำงานในระบบคลาวด์

จาก คอนโซล Google Cloud ให้คลิกไอคอน Cloud Shell ในแถบเครื่องมือด้านขวาบน

เปิดใช้งาน Cloud Shell

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

ภาพหน้าจอของเทอร์มินัล Google Cloud Shell ที่แสดงว่าสภาพแวดล้อมเชื่อมต่อแล้ว

เครื่องเสมือนนี้มาพร้อมกับเครื่องมือพัฒนาทั้งหมดที่คุณจะต้องใช้ โดยมีไดเรกทอรีหลักขนาด 5 GB ที่คงอยู่ และทำงานบน Google Cloud ซึ่งช่วยเพิ่มประสิทธิภาพเครือข่ายและการตรวจสอบสิทธิ์ได้อย่างมาก คุณสามารถทำงานทั้งหมดใน Codelab นี้ได้ภายในเบราว์เซอร์ โดยไม่จำเป็นต้องติดตั้งสิ่งใด

เปิดใช้ 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 จะค้นพบตารางนี้โดยอัตโนมัติและสร้าง Entry สำหรับตาราง

# 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. สร้างภาษาที่ใช้ร่วมกันด้วย Business Glossary

การกำกับดูแลที่มีประสิทธิภาพเริ่มต้นด้วยคำจำกัดความที่ชัดเจน หากนักพัฒนาแอปเห็นคอลัมน์ชื่อ gmv ก็ไม่ควรต้องเดาว่าคอลัมน์นั้นรวมภาษีหรือการคืนสินค้าหรือไม่ Business Glossary จะช่วยแก้ปัญหานี้ด้วยการแยกคำจำกัดความทางธุรกิจจากการใช้งานทางเทคนิค

  1. ในคอนโซล Google Cloud ให้ไปที่Dataplex Universal Catalog
  2. ในเมนูการนำทางด้านซ้าย ให้เลือก Glossary (ในส่วนจัดการข้อมูลเมตา)

96020207ba4bd128.png

  1. คลิกสร้าง Business Glossary
  2. ป้อนรายละเอียดต่อไปนี้
    • ชื่อ: Retail Business Glossary
    • สถานที่: us-central1 (หรือสถานที่ที่คุณกำหนดไว้ในการตั้งค่า)
  3. คลิกสร้าง

e3b146e5f3b57785.png

  1. คลิก Retail Business Glossary ที่สร้างขึ้นใหม่เพื่อเข้าสู่ระบบ

c98bdf049e946234.png

  1. คลิกสร้างหมวดหมู่ แล้วตั้งชื่อว่า Sales Metrics จากนั้นคลิกสร้าง หมวดหมู่ช่วยจัดกลุ่มคำที่เกี่ยวข้อง
  2. เลือกหมวดหมู่ Sales Metrics แล้วคลิก เพิ่มคำ จากนั้นตั้งชื่อว่า Gross Merchandise Value แล้วคลิก สร้าง
  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

ตอนนี้คุณได้สร้างคำจำกัดความที่ชัดเจนซึ่งสามารถลิงก์กับชิ้นงานทางเทคนิคทั่วทั้งองค์กรได้แล้ว

4. กำหนดข้อมูลเมตาทางเทคนิคที่มีโครงสร้างด้วยประเภท Aspect

แท็ก "คีย์:ค่า" อย่างง่ายไม่เพียงพอต่อความเข้มงวดด้านวิศวกรรม หากคุณต้องการติดตาม "เจ้าของข้อมูล" คุณไม่ต้องการให้ตารางหนึ่งมีแท็ก owner:bob และอีกตารางหนึ่งมีแท็ก contact:alice@example.com คุณต้องมีสคีมาเพื่อบังคับใช้ว่าต้องระบุเจ้าของและเจ้าของต้องมีรูปแบบอีเมลที่ถูกต้อง

เราจะใช้ประเภท Aspect เพื่อกำหนดสัญญานี้

  1. ในการนำทางด้านซ้ายของ Dataplex ในส่วนแคตตาล็อก ให้เลือกประเภท Aspect และเทมเพลตแท็ก
  1. เลือกแท็บกำหนดเอง แล้วคลิกสร้างประเภท Aspect

a920c555d40425a.png

  1. ป้อนรายละเอียดต่อไปนี้
    • ชื่อที่แสดง: Data Asset Governance
    • สถานที่: us-central1
  2. ในส่วนเทมเพลต เราจะกำหนดสคีมาสำหรับ Aspect คลิกเพิ่มฟิลด์ เพื่อสร้างฟิลด์ 3 ฟิลด์ต่อไปนี้
    • ฟิลด์ที่ 1:
      • ชื่อที่แสดง: Data Steward
      • ประเภท: Text
      • ประเภทข้อความ: Plain text
      • Cardinality: ต้องระบุ (เลือกช่อง)
    • ฟิลด์ที่ 2 (คลิกเพิ่มฟิลด์ อีกครั้ง)
      • ชื่อที่แสดง: Data Sensitivity
      • ประเภท: Enum
      • ค่า: เพิ่ม Public, Internal และ Confidential
      • จำนวนสมาชิกในเซ็ต: ไม่บังคับ
    • ฟิลด์ที่ 3 (คลิกเพิ่มฟิลด์ อีกครั้ง)
      • ชื่อที่แสดง: Last Review Date
      • ประเภท: Date and time
      • จำนวนสมาชิกในเซ็ต: ไม่บังคับ
  3. คลิกบันทึก

20babd75c2b8dce6.png

คุณได้สร้างสัญญาข้อมูลเมตาที่ใช้ซ้ำได้แล้ว แม้ว่าตอนนี้จะยังไม่มีการใช้งาน แต่โครงสร้างก็พร้อมแล้ว

5. เชื่อมโยงการกำกับดูแลกับชิ้นงาน

ตอนนี้เราจะนำทุกอย่างมารวมกัน เรามีตาราง BigQuery (retail_data.transactions), คำจำกัดความทางธุรกิจ (Gross Merchandise Value) และสคีมาการกำกับดูแล (Data Asset Governance)

เราจะเพิ่มคุณค่าให้กับ Entry ของ Dataplex สำหรับตาราง BigQuery

เพิ่มคุณค่าให้กับสคีมาด้วยบริบททางธุรกิจ (ระดับคอลัมน์)

มาบอกให้ผู้ใช้ทราบว่าคอลัมน์ gmv หมายถึงอะไรกันแน่ด้วยการลิงก์คอลัมน์กับ Glossary

  1. ในการนำทางด้านซ้ายของ Dataplex ให้คลิกค้นหา
  2. ที่ด้านขวาบน ให้คลิกแท็บ Dataplex Universal Catalog หากยังไม่ได้เปิดใช้งาน

849a24e7b1a86a19.png

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

54d3edd1520593a9.png

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

64768eecf630c90b.png

คอลัมน์ gmv ไม่ได้เป็นเพียง "FLOAT" อีกต่อไป แต่ลิงก์กับคำจำกัดความของ Gross Merchandise Value ของบริษัทแล้ว

เพิ่มคุณค่าให้กับ Entry ด้วยข้อมูลเมตาทางเทคนิคที่มีโครงสร้าง (ระดับตาราง)

จากนั้นเราจะแนบ Aspect Data Asset Governance กับตารางเพื่อกำหนดการเป็นเจ้าของและความละเอียดอ่อน

  1. อยู่ในหน้า Entry retail_data.transactions
  2. คลิกแท็บเพิ่มแท็กหรือ Aspect แล้วเลือกประเภท Data Asset Governance จากเมนูแบบเลื่อนลง

4b770307159a28d8.png

  1. ตอนนี้แบบฟอร์มจะแสดงฟิลด์ที่กำหนดไว้ในสคีมาประเภท Aspect โดยให้กรอกข้อมูลดังนี้
    • Data Steward: finance-team@example.com
    • Data Sensitivity: เลือก Internal
    • Last Review Date: เลือกวันที่ปัจจุบัน
  2. คลิกบันทึก

f953c5569520d42a.png

คุณแนบ Aspect ที่มีโครงสร้างกับ Entry ได้สำเร็จแล้ว ข้อมูลนี้จะได้รับการตรวจสอบกับสคีมาที่คุณสร้างขึ้น ซึ่งแตกต่างจากแท็กอย่างง่าย

6. การค้นพบและการยืนยันแบบรวม

เราไม่ได้ดำเนินการนี้เพียงเพื่อกรอกแบบฟอร์ม แต่ทำเพื่อให้ข้อมูลค้นพบได้และเชื่อถือได้ มาดูกันว่าข้อมูลเมตานี้จะเปลี่ยนประสบการณ์ของนักพัฒนาแอปในการค้นหาและการค้นพบอย่างไร

กลับไปที่หน้าค้นหา หลักใน Dataplex Universal Catalog

สมมติว่าคุณเป็นวิศวกรแพลตฟอร์มที่บังคับใช้การกำกับดูแล คุณต้องค้นหาชิ้นงานทั้งหมดที่ทำเครื่องหมายเป็น "Internal" ซึ่งอยู่ภายใต้การกำกับดูแลโดยประเภท Aspect ที่เฉพาะเจาะจง คุณต้องใช้เพรดิเคตที่แม่นยำตามสคีมา

คุณสามารถยืนยันได้ 2 วิธี ได้แก่ การใช้ไวยากรณ์การค้นหาที่แม่นยำ (จำเป็นสำหรับการทำงานอัตโนมัติ) หรือการใช้ตัวกรอง UI แบบโต้ตอบ

วิธีที่ 1: ยืนยันผ่านการค้นหาแบบมีโครงสร้าง

  1. ในแถบค้นหา (ในโหมดการค้นหาคีย์เวิร์ด) ให้ป้อนการค้นหาแบบมีโครงสร้างต่อไปนี้
aspect:data-asset-governance.data-sensitivity=Internal
  1. คุณควรเห็นตาราง retail_data.transactions

49120fe4ea224359.png

วิธีที่ 2: ยืนยันผ่านแง่มุมตัวกรอง UI

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

4df224cb06720ec4.png

ไม่ว่าคุณจะใช้การค้นหาที่พิมพ์หรือตัวกรอง UI กลไกพื้นฐานก็เหมือนกัน

ซึ่งแสดงให้เห็นถึงความแตกต่างพื้นฐานระหว่าง Dataplex กับ Wiki อย่างง่าย นั่นคือ ข้อมูลเมตาของคุณเป็นโครงสร้างที่ค้นหาได้ ตอนนี้คุณสามารถสร้างการตรวจสอบอัตโนมัติ (เช่น "ค้นหาตารางทั้งหมดที่ 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

  1. ไปที่ Dataplex Universal Catalog UI > จัดการข้อมูลเมตา > แคตตาล็อก
  2. ในส่วนประเภท Aspect และเทมเพลตแท็ก ให้เลือกประเภท Aspect data_asset_governance แล้วลบ
  3. ไปที่จัดการข้อมูลเมตา > Glossary เลือก Retail Business Glossary แล้วลบ ตรวจสอบว่าได้ลบคำว่า Gross Merchandise Value ก่อน แล้วจึงลบ Glossary ในภายหลัง

8. ยินดีด้วย

คุณได้ก้าวข้ามการติดแท็กข้อมูลอย่างง่ายและสร้างโมเดลการกำกับดูแลพื้นฐานที่มีโครงสร้างใน Dataplex

สิ่งที่คุณได้เรียนรู้มีดังนี้

  • Glossary ช่วยแก้ไขความคลุมเครือทางธุรกิจ
  • ประเภท Aspect มีสัญญาข้อมูลเมตาทางเทคนิค
  • Aspect ใช้สคีมาดังกล่าวกับ Data Entry จริง
  • การค้นหาของ Dataplex ใช้ข้อมูลเมตาที่มีโครงสร้างนี้เพื่อการค้นพบที่แม่นยำ

ขั้นตอนถัดไป

  • การกำกับดูแลเป็นโค้ด: ใช้ ผู้ให้บริการ Google Cloud Terraform เพื่อกำหนดประเภท Aspect และ Glossary ในการควบคุมเวอร์ชัน ซึ่งจะช่วยให้มั่นใจได้ว่าสคีมาจะสอดคล้องกันในสภาพแวดล้อมการพัฒนา/การทดสอบ/การใช้งานจริง
  • การติดแท็กอัตโนมัติ: เขียน Cloud Function หรือขั้นตอน Cloud Build ที่ทริกเกอร์โดยการสร้างชุดข้อมูลใหม่ ซึ่งจะแนบ Aspect "การกำกับดูแลชิ้นงานข้อมูล" โดยอัตโนมัติด้วยค่าเริ่มต้น (เช่น sensitivity=Internal, steward=TBD) และติดแฟล็กเพื่อตรวจสอบ