แคชอัจฉริยะใน Microsoft Fabric

ฟีเจอร์แคชอัจฉริยะทํางานเบื้องหลังได้อย่างราบรื่นและแคชข้อมูลเพื่อช่วยเพิ่มความเร็วในการดําเนินการงาน Apache Spark ใน Microsoft Fabric ขณะที่อ่านจากที่เก็บข้อมูล OneLake หรือ Azure Data Lake Storage (ADLS) Gen2 ของคุณผ่านทางลัด นอกจากนี้ยังตรวจจับการเปลี่ยนแปลงไฟล์พื้นฐานโดยอัตโนมัติและรีเฟรชไฟล์ในแคชโดยอัตโนมัติ โดยให้ข้อมูลล่าสุดแก่คุณ เมื่อขนาดแคชถึงขีดจํากัด แคชจะปล่อยข้อมูลที่อ่านน้อยที่สุดโดยอัตโนมัติเพื่อให้มีพื้นที่ว่างสําหรับข้อมูลล่าสุด คุณลักษณะนี้ช่วยลดต้นทุนรวมของการเป็นเจ้าของโดยการปรับปรุงประสิทธิภาพสูงสุด 60% ในการอ่านไฟล์ที่เก็บไว้ในแคชที่พร้อมใช้งานในภายหลัง

เมื่อกลไกจัดการ Apache Spark ใน Microsoft Fabric คิวรีไฟล์หรือตารางจากเลคเฮาส์ของคุณ จะทําการเรียกไปยังที่เก็บข้อมูลระยะไกลเพื่ออ่านไฟล์พื้นฐาน เมื่อมีการร้องขอการสืบค้นทุกครั้งเพื่ออ่านข้อมูลเดียวกัน กลไก Spark จะต้องทําการเรียกใช้ที่เก็บข้อมูลระยะไกลทุกครั้ง กระบวนการที่ซ้ําซ้อนนี้จะเพิ่มเวลาแฝงให้กับเวลาในการประมวลผลทั้งหมดของคุณ Spark มีข้อกําหนดการแคชที่คุณต้องตั้งค่าและปล่อยแคชด้วยตนเองเพื่อลดเวลาแฝงและปรับปรุงประสิทธิภาพโดยรวม อย่างไรก็ตาม ข้อกําหนดนี้อาจส่งผลให้ข้อมูลเก่าหากข้อมูลพื้นฐานมีการเปลี่ยนแปลง

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

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

วิธีการทำงาน

ใน Microsoft Fabric การแคชอัจฉริยะจะเปิดใช้งานตามค่าเริ่มต้นสําหรับพูล Spark ทั้งหมดที่มีขนาดแคช 50% ขนาดที่แท้จริงของที่เก็บข้อมูลที่มีอยู่และขนาดแคชในแต่ละโหนดขึ้นอยู่กับตระกูลโหนดและขนาดโหนด

เมื่อใดควรใช้แคชอัจฉริยะ

ฟีเจอร์นี้จะเป็นประโยชน์ต่อคุณในกรณีต่อไปนี้

  • ปริมาณงานของคุณจําเป็นต้องอ่านไฟล์เดียวกันหลายครั้ง และขนาดไฟล์จะพอดีกับแคช

  • ปริมาณงานของคุณใช้รูปแบบไฟล์ Delta Lake, Parquet หรือ CSV

คุณไม่เห็นประโยชน์ของแคชอัจฉริยะหาก:

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

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

กําหนดค่าแคชอัจฉริยะ

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

SET spark.synapse.vegas.useCache = TRUE

เปอร์เซ็นต์ของพื้นที่ดิสก์ที่แคชอัจฉริยะสามารถใช้ได้มีค่าเริ่มต้นเป็น 50%:

SET spark.synapse.vegas.cacheSize = 50