การบํารุงรักษาตารางเดลต้าใน Microsoft Fabric

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

เหตุใดการบํารุงรักษาจึงมีความสําคัญ

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

ใช้ OPTIMIZE สําหรับการบดอัดถังขยะ

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

OPTIMIZE table_name

ใช้ VACUUM เพื่อล้างที่เก็บข้อมูล

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

VACUUM table_name

ใช้ REORG สําหรับการปรับโครงสร้างองค์กรตามเป้าหมาย

ใช้ REORG เมื่อคุณต้องการเขียนสถานะตารางใหม่สําหรับเป้าหมายการบํารุงรักษาเฉพาะแทนการกระชับไฟล์ทั่วไป ใน Delta Lake REORG TABLE ... APPLY (PURGE) จะลบแถวที่เวกเตอร์การลบที่ทําเครื่องหมายว่าลบแล้ว สําหรับตัวเลือกที่รองรับและเวลาที่ควรใช้ โปรดดู จัดระเบียบตารางเดลต้าใหม่ด้วย REORG

Note

REORG โดยทั่วไปไม่จําเป็น เนื่องจาก OPTIMIZE จะล้างไฟล์โดยอัตโนมัติที่มีการอ้างอิงระเบียนมากกว่า 5% โดยเวกเตอร์การลบ

REORG TABLE table_name APPLY (PURGE)

ทําให้สถิติเป็นปัจจุบันอยู่เสมอ

Fabric Spark Runtime รองรับสถิติสองชนิดบนตารางเดลต้า: สถิติไฟล์และสถิติตาราง

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

ใช้การบดอัดอัตโนมัติเพื่อการจัดการไฟล์อย่างต่อเนื่อง

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

เรียกใช้การบํารุงรักษาจาก UI เลคเฮาส์

หากคุณต้องการใช้เวิร์กโฟลว์แบบ UI คุณสามารถรันการดําเนินการบํารุงรักษาโดยตรงจาก Lakehouse explorer ดูที่ Lakehouse table maintenance.

ปฏิบัติตามจังหวะการบํารุงรักษาในทางปฏิบัติ

เรียกใช้ OPTIMIZE หลังจากการนําเข้าชุดใหญ่หรือเมื่อใดก็ตามที่ไฟล์ขนาดเล็กเริ่มสะสมและทําให้การอ่านช้าลง เรียกใช้ VACUUM ตามจังหวะปกติ เช่น รายสัปดาห์หรือหลังจากรอบการบดอัดที่สําคัญ เพื่อเรียกคืนพื้นที่เก็บข้อมูลจากไฟล์ที่ตารางไม่ได้อ้างอิงอีกต่อไป REORG TABLE ... APPLY (PURGE) ไม่จําเป็นต้องเป็นการบํารุงรักษาตามปกติ เนื่องจาก OPTIMIZE จะล้างไฟล์โดยอัตโนมัติที่มีการอ้างอิงบันทึกมากกว่า 5% โดยเวกเตอร์การลบ สํารอง PURGE สําหรับสถานการณ์ที่ต้องมีการควบคุมที่ชัดเจน เช่น การปฏิบัติตามข้อกําหนดหรือภาระผูกพันของ GDPR ตรวจสอบสภาพตารางด้วย DESCRIBE DETAIL และ DESCRIBE HISTORY เพื่อให้คุณสามารถติดตามจํานวนไฟล์ ขนาด และประวัติการบํารุงรักษาก่อนและหลังการดําเนินการแต่ละครั้ง

-- View current table state
DESCRIBE DETAIL table_name;

-- View history of transactions
DESCRIBE HISTORY table_name;