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

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 ในแถบเครื่องมือด้านขวาบน

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

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

ภาพหน้าจอของเทอร์มินัล Google 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 ก็ไม่ควรต้องเดาว่าคอลัมน์นั้นรวมภาษีหรือการคืนเงินหรือไม่ พจนานุกรมศัพท์ธุรกิจช่วยแก้ปัญหานี้ด้วยการแยกคำจำกัดความทางธุรกิจจากการติดตั้งใช้งานทางเทคนิค

  1. ในคอนโซล Google Cloud ให้ไปที่แคตตาล็อกสากลของ Dataplex
  2. ในเมนูการนำทางด้านซ้าย ให้เลือกอภิธานศัพท์ (ในส่วน "จัดการข้อมูลเมตา")

96020207ba4bd128.png

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

e3b146e5f3b57785.png

  1. คลิกอภิธานศัพท์ธุรกิจค้าปลีกที่สร้างขึ้นใหม่เพื่อเข้าสู่ระบบ

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 คุณต้องมีสคีมาเพื่อบังคับให้ต้องระบุเจ้าของและต้องเป็นรูปแบบอีเมลที่ถูกต้อง

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

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

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 หมายถึงอะไรกันแน่โดยลิงก์ไปยังพจนานุกรมศัพท์

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

849a24e7b1a86a19.png

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

54d3edd1520593a9.png

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

64768eecf630c90b.png

คอลัมน์ gmv ไม่ใช่แค่ "FLOAT" อีกต่อไป แต่ตอนนี้ลิงก์กับคำจำกัดความขององค์กรสำหรับ Gross Merchandise Value แล้ว

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

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

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

4b770307159a28d8.png

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

f953c5569520d42a.png

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

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

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

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

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

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

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

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

49120fe4ea224359.png

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

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

4df224cb06720ec4.png

ไม่ว่าคุณจะใช้การค้นหาที่พิมพ์หรือตัวกรอง 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

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

8. ยินดีด้วย

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

คุณได้เรียนรู้ว่า

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

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

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