Data

Synapse Analytics: รู้จักกับ Distribution แบบ Hash ในการจัดการข้อมูล

เรื่องที่เกี่ยวข้อง - Azure Synapse Analytics, Distribution mode, Hash
Viewed -

รอบที่แล้วพลโน๊ตอธิบายเรื่องของประโยชน์และเทคนิคในการสร้าง Table แบบ round robin ใน Azure Synapse Analytic ไว้ วันนี้ของมาขยายในส่วนของ distribution แบบ Hash ไว้อีกอันหนึงครับ

ใครตามมาจากเรื่องที่แล้ว ข้ามหัวข้อด้านล่าง ไปหัวข้อ Distribution แบบ Hash แทนได้เลย

ระบบประมวลผลใน Azure Synapse Analytics เหมือนทีมนักฟุตบอล

  • สำหรับพวกเราที่ยังนึกภาพไม่ออก ใน Azure Synapse Analytics นั้น เราสามารถกำหนดจำนวนส่วนจัดการข้อมูลได้
  • ซึ่งกลุ่มระบบพวกนี้ถูกเรียกว่า SQL Pool
  • ใน Pool หนึ่ง จะประกอบไปด้วย Compute Node หลายตัว ลองมองว่าเป็นนักอเมริกันฟุตบอลก็ได้

อ่ะพร้อมแล้วก็ไปต่อ

หมวกคัดสรร: การกำหนด Distribution แบบ Hash ให้ Table

ในการสร้าง Table สำหรับการจัดเก็บข้อมูล เราสามารถบอกให้ Synapse Analytics จัดการแบ่งข้อมูลไปยัง Compute node ต่างๆ ได้โดยมีการยึดเอา column หนึงใน Dataset เป็นตัวหลัก

และแนวทางการแบ่งข้อมูล (row) ไปยัง compute node ต่างๆ นี้ จะอาศัยการคำนวนที่เรียกว่า Hash ครับ (ที่มาของชื่อเลยล่ะ)

สำหรับใครเคยดูหนัง Harry Potter จะมีตอนหนึงที่บรรดาตัวเอกถูกเลือกให้ไปอยู่ประจำบ้านต่างๆ ผ่าน “การตัดสินใจของหมวกคัดสรร” ลองมองว่า Hash นี่คือกลไกของหมวกคัดสรรก็จะเห็นภาพมากขึ้น

ด้านล่างนี้คือโค้ด SQL ในการกำหนดให้ Table ที่ถูกสร้างขึ้นมีการทำงานดังกล่าว

CCREATE TABLE my_table (
    id INT PRIMARY KEY,
    name VARCHAR(255),
    value FLOAT,
    potter_value INT
) WITH (DISTRIBUTION = HASH(potter_value));   <--- สำคัญตรงนี้แหละ สังเกตว่าเราเอาชื่อ column หนึ่งใน table มาใช้ในการ hash

ลักษณะการทำงาน

  • เราจะมีการใช้ชื่อ column ของ table เป็นค่าที่เอาไปให้ หมวกคัดสรร เอ้ย hash ทำการคำนวน
  • ผลที่ได้จากการคำนวน จะถูกใช้ในการโยน data row นั้นไปไว้ใน compute node

แนวทางการเลือก column มา hash

  • ควรเลือก data column ที่มีข้อมูลแตกต่างกันมากที่สุดมาใช้ (distinct value)
  • และ column นั้นพิจารณาแล้วว่าจะถูกใช้ในการ query ข้อมูลบ่อยๆ
  • แบบนี้จะทำให้ได้ performance สูงในการ query จ้า

เริ่มต้นยุค AI ด้วยคอร์สฟรี และพรีเมี่ยม กับพล

หากชอบสิ่งที่พลเล่า เรื่องที่พลสอน สามารถสนับสนุนพลโดยการเข้าเรียนคอร์สออนไลน์ของพลนะคร้าบ

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

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

Privacy Preferences

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

Allow All
Manage Consent Preferences
  • Always Active

Save