แชร์ผ่าน


การแคชในคลังข้อมูล Fabric

นําไปใช้กับ:✅ จุดสิ้นสุดการวิเคราะห์ SQL และ Warehouse ใน Microsoft Fabric

การดึงข้อมูลจากที่จัดเก็บข้อมูลดิบเป็นการดําเนินการอินพุท/เอาท์พุทที่สําคัญ (IO) ด้วยผลกระทบจํานวนมากสําหรับประสิทธิภาพการคิวรี ใน Microsoft Fabric, Synapse Data Warehouse ใช้รูปแบบการเข้าถึงที่ปรับแต่งแล้วเพื่อปรับปรุงการอ่านข้อมูลจากที่เก็บข้อมูลและเพิ่มความเร็วในการดําเนินการคิวรี นอกจากนี้ยังช่วยลดความจําเป็นสําหรับการอ่านพื้นที่จัดเก็บข้อมูลระยะไกลได้โดยใช้ประโยชน์จากแคชภายในเครื่อง

การแคชเป็นเทคนิคที่ช่วยปรับปรุงประสิทธิภาพการทํางานของแอปพลิเคชันการประมวลผลข้อมูลโดยการลดการดําเนินการ IO การแคชจัดเก็บข้อมูลและเมตาดาต้าที่เข้าถึงได้บ่อยในเลเยอร์ที่เก็บข้อมูลเร็วขึ้น เช่น หน่วยความจําภายในเครื่องหรือดิสก์ SSD ภายในเครื่อง เพื่อให้คําขอที่ตามมาสามารถให้บริการได้อย่างรวดเร็วยิ่งขึ้นจากแคช ถ้ามีการเข้าถึงชุดข้อมูลที่เฉพาะเจาะจงโดยคิวรีก่อนหน้านี้ คิวรีใด ๆ ที่ตามมาจะดึงข้อมูลนั้นได้โดยตรงจากแคชในหน่วยความจํา วิธีการนี้จะลดเวลาแฝงของ IO ลงอย่างมาก เนื่องจากการดําเนินการของหน่วยความจําภายในเครื่องจะเร็วกว่าเมื่อเปรียบเทียบกับการดึงข้อมูลจากที่เก็บข้อมูลระยะไกล

การแคชจะโปร่งใสสําหรับผู้ใช้ ไม่ว่าจะเป็นตารางคลัง ทางลัด OneLake หรือแม้แต่ทางลัด OneLake ที่อ้างอิงถึงบริการที่ไม่ใช่ Azure คิวรีจะแคชข้อมูลทั้งหมดที่เข้าถึง

มีแคชสองชนิดที่อธิบายไว้ในบทความนี้ในภายหลัง:

  • แคชในหน่วยความจํา
  • แคชของดิสก์

แคชในหน่วยความจํา

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

แผนภาพที่แสดงวิธีการเติมแคชในหน่วยความจํา

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

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

วิธีการนี้เป็นประโยชน์โดยเฉพาะอย่างยิ่งสําหรับปริมาณงานวิเคราะห์ซึ่งคิวรีเกี่ยวข้องกับการสแกนข้อมูลจํานวนมากเพื่อทําการรวมการกรองและการจัดการข้อมูลอื่น ๆ

แคชของดิสก์

ชุดข้อมูลบางชุดมีขนาดใหญ่เกินไปที่จะรองรับภายในแคชในหน่วยความจํา เพื่อรักษาประสิทธิภาพคิวรีอย่างรวดเร็วสําหรับชุดข้อมูลเหล่านี้ Warehouse ใช้พื้นที่ดิสก์เป็นส่วนขยายเสริมไปยังแคชในหน่วยความจํา ข้อมูลใด ๆ ที่โหลดลงในแคชในหน่วยความจํายังอนุกรมไปยังแคช SSD

แผนภาพที่แสดงวิธีการเติมแคชในหน่วยความจําและ SSD

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

แผนภาพที่แสดงวิธีการเติมแคชในหน่วยความจําจากแคช SSD

การจัดการแคช

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

กลไกการแคชได้รับการเรียงลําดับและยึดถือโดย Microsoft Fabric เองและไม่ได้ให้ความสามารถในการล้างแคชด้วยตนเองแก่ผู้ใช้

ความสอดคล้องของทรานแซคชันที่แคชเต็มรูปแบบช่วยให้แน่ใจว่าการแก้ไขข้อมูลในที่เก็บข้อมูลเช่นผ่านการดําเนินการ Data Manipation Language (DML) หลังจากที่มีการโหลดลงในแคชในหน่วยความจําครั้งแรกจะส่งผลให้ข้อมูลสอดคล้องกัน

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