ไมโครพาร์ติชันและการจัดกลุ่มข้อมูล

Snowflake Architecture

Emily Melhuish

Technical Curriculum Developer, Snowflake

การคิวรีตารางขนาดใหญ่

ตัวอย่าง: Subscription

USER_ID REGISTRATION_DATE USER_NAME
912930 2026-04-01 JANEDOE
912931 2026-04-06 JOHNDOE
912932 2026-04-12 JIMMYDOE
... ... ...

คิวรีต้องอ่านข้อมูลจากตารางนี้เท่าใด?

Snowflake Architecture

ไมโครพาร์ติชัน

ตัวอย่างแสดงไมโครพาร์ติชันและการจัดเก็บข้อมูลตามคอลัมน์

  • ภายในไมโครพาร์ติชัน คอลัมน์จะถูกจัดเก็บและบีบอัดแยกกัน
  • Snowflake อ่านเฉพาะคอลัมน์ที่คิวรีต้องการ
Snowflake Architecture

เมทาดาตา

ตัวอย่างไมโครพาร์ติชันพร้อมเมทาดาตา

  • Snowflake จัดเก็บเมทาดาตาสำหรับแต่ละไมโครพาร์ติชัน
  • จัดเก็บไว้ในชั้น Cloud Services
Snowflake Architecture

การตัดพาร์ติชัน (Partition Pruning)

ตัวอย่างการตัดพาร์ติชัน

Snowflake Architecture

การตัดพาร์ติชัน (Partition Pruning)

ตัวอย่างการตัดพาร์ติชันพร้อมตัวเลือกที่เลือกไว้

  • Snowflake จะข้ามไมโครพาร์ติชันที่ไม่มีข้อมูลที่คิวรีต้องการ
  • อ่านเฉพาะส่วนที่เกี่ยวข้อง = Partition Pruning
Snowflake Architecture

การจัดกลุ่ม (Clustering)

ตัวอย่างแสดงไมโครพาร์ติชันและการจัดเก็บข้อมูลตามคอลัมน์

  • คิวรีตามวันที่มักตัดพาร์ติชันได้ดี (เช่น ข้อมูลอนุกรมเวลา)

  • การตัดพาร์ติชันไม่มีประสิทธิภาพหากค่ากระจายอยู่ทั่วพาร์ติชัน (เช่น ภูมิภาค)

  • Clustering Key: Snowflake จัดระเบียบไมโครพาร์ติชันตามคอลัมน์นั้น

Snowflake Architecture

Clustering Key: เมื่อใดควรใช้

clustering_key_v5.png

Snowflake Architecture

Clustering Key: ค่าความหลากหลายและต้นทุน

clustering_key_v5.png

Snowflake Architecture

ฝึกปฏิบัติกันเลย!

Snowflake Architecture

Preparing Video For Download...