PostgreSQL 17 นำเสนอการปรับปรุงประสิทธิภาพครั้งใหญ่ การสำรองข้อมูลส่วนเพิ่มแบบใหม่ และอื่นๆ อีกมากมาย

PostgreSQL 17

เช่นเดียวกับทุกปีที่ผ่านมาในช่วงระหว่างเดือนกันยายนถึงตุลาคมมีการประกาศเปิดตัว PostgreSQL เวอร์ชัน 17 ใหม่และเช่นเดียวกับเวอร์ชันก่อนหน้าทั้งหมดสิ่งสำคัญอันดับแรกยังคงเป็นการปรับปรุงประสิทธิภาพและเพิ่มประสิทธิภาพการใช้ทรัพยากร โดยเฉพาะอย่างยิ่งสำหรับการดำเนินการต่างๆ เช่น VACUUM, I/O และการสืบค้นข้อมูล ในขณะที่ฟีเจอร์ใหม่ที่สำคัญที่สุดของเวอร์ชันนี้คือการสำรองข้อมูลแบบเพิ่มทีละส่วน (incremental backup)

สำหรับผู้ใช้ทางธุรกิจ การอัปเดตจะมีการปรับปรุงหลายอย่างที่ทำให้การจัดการและการใช้งานฐานข้อมูลง่ายขึ้น แม้ว่า PostgreSQL ในอดีตเคยเป็นฐานข้อมูลเชิงสัมพันธ์ แต่เวอร์ชันนี้ขยายการบูรณาการด้วยฟังก์ชันการทำงานขั้นสูงสำหรับการทำงานกับเอกสาร JSON ซึ่งเป็นฟีเจอร์ที่มักเกี่ยวข้องกับ MongoDB Atlas

มีอะไรใหม่ใน PostgreSQL 17

ใน PostgreSQL เวอร์ชัน 17 ใหม่นี้ได้มีการนำโครงสร้างข้อมูลใหม่มาใช้ในคำสั่ง VACUUMซึ่งช่วยลดการใช้หน่วยความจำได้มากถึง 20 เท่า ทำให้การดำเนินการเหล่านี้เร็วขึ้นและมีประสิทธิภาพมากขึ้นในแง่ของทรัพยากรที่ใช้ร่วมกัน

ในส่วนของการปรับปรุงประสิทธิภาพ การจัดการรีจิสเตอร์การเขียนออก (WAL)ได้รับการปรับให้เหมาะสม ทำให้ประสิทธิภาพการเขียนเพิ่มขึ้นสูงสุดถึงสองเท่าในระบบที่มีการสืบค้นพร้อมกันจำนวนมาก นอกจาก นี้ ยังมีการเสนออินเทอร์เฟซ I/O แบบสตรีมมิ่งเพื่อปรับปรุงการค้นหาตามลำดับและการอัปเดตสถิติหลังจากการดำเนินการ ANALYZE

นอกจากนี้ยังมีการปรับปรุงการค้นหาข้อมูลด้วยเงื่อนไข "IN"เมื่อใช้ดัชนี B-tree รวมถึงการสร้างดัชนี BRIN แบบขนาน การเพิ่มประสิทธิภาพการตรวจสอบ "NOT NULL" และการเร่งความเร็วในการประมวลผลนิพจน์ตารางทั่วไป (CTE) สำหรับการคำนวณที่ซับซ้อน ได้มีการนำคำสั่ง SIMD เช่น AVX-512 มาใช้เพื่อเร่งความเร็วในการทำงานต่างๆ เช่น ฟังก์ชัน `bit_count`

ความแปลกใหม่ที่โดดเด่นอีกอย่างหนึ่งก็คือ คุณสมบัติใหม่สำหรับ JSON ตั้งแต่ ขณะนี้ผู้ใช้สามารถสืบค้นประเภทข้อมูล JSON โดยใช้คำสั่ง SQL มาตรฐาน สิ่งนี้เป็นไปได้ด้วยฟังก์ชันตารางใหม่ jsonซึ่งแปลงข้อมูล JSON ให้เป็นโครงสร้างแบบตาราง จากนั้นผู้ใช้สามารถสอบถามโดยใช้ส่วนคำสั่งได้ FROM ใน SQL ช่วยให้สามารถส่งคืนข้อมูลในรูปแบบเชิงสัมพันธ์ได้ เพิ่มฟังก์ชัน `JSON_TABLE` เพื่อแปลงข้อมูล JSON เป็นตาราง PostgreSQL มาตรฐาน

สิ่งที่น่าสนใจอีกอย่างคือฟังก์ชันการสำรองข้อมูลแบบเพิ่มทีละส่วน (incremental backup)ใน PostgreSQL 17 ซึ่งช่วยให้คุณสำรองข้อมูลเฉพาะการเปลี่ยนแปลงที่เกิดขึ้นนับตั้งแต่การสำรองข้อมูลแบบเต็มหรือแบบเพิ่มทีละส่วนครั้งล่าสุดช่วยเพิ่มประสิทธิภาพการใช้งานแบนด์วิดท์และลดความต้องการพื้นที่จัดเก็บข้อมูล แม้ว่า PostgreSQL จะมีโซลูชันอย่าง WAL Archiving ซึ่งจำลอง Write-Ahead Log (WAL) เพื่อรักษาข้อมูลส่วนที่จำเป็นของฐานข้อมูล แต่เวอร์ชัน 17 นี้ได้นำเสนอกลไกการสำรองข้อมูลแบบเพิ่มทีละส่วนเป็นครั้งแรก ระบบนี้ไม่เพียงแต่ลดการหยุดชะงักในการทำงานโดยมีผลกระทบต่อประสิทธิภาพน้อยลง แต่ยังช่วยลดเวลาในการกู้คืนได้อย่างมาก ซึ่งเป็นสิ่งสำคัญ เนื่องจาก1การกู้คืนข้อมูลสำรองมักเป็นกระบวนการที่ช้าและน่าหงุดหงิดสำหรับผู้ใช้

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

การเปลี่ยนแปลงที่สำคัญอื่นๆ ได้แก่ :

  • การส่งออกสตริงแบบยาวด้วยคำสั่ง `COPY` ได้รับการเร่งความเร็วสูงสุดสองเท่า
  • เพิ่มประสิทธิภาพการคัดลอกเมื่อการเข้ารหัสต้นทางและปลายทางตรงกัน
  • เพิ่มตัวเลือก `ON_ERROR` เพื่อให้การนำเข้าดำเนินต่อไปได้แม้จะมีข้อผิดพลาดในการแทรกข้อมูลก็ตาม
  • เพิ่มความสามารถในการใช้คอลัมน์ที่มีตัวระบุเฉพาะในตารางที่แบ่งพาร์ติชัน
  • ใช้คุณลักษณะเฟลโอเวอร์เพื่อสลับไปยังเซิร์ฟเวอร์สำรองในการกำหนดค่าที่ทนต่อข้อผิดพลาด
  • เพิ่มยูทิลิตี้ pg_createsubscriber ใหม่เพื่อแปลงแบบจำลองทางกายภาพเป็นแบบจำลองเชิงตรรกะ
  • แนะนำตัวเลือก “sslnegotiation” เพื่อเจรจาการเชื่อมต่อ TLS ที่ปลอดภัยโดยตรงโดยใช้ส่วนขยาย ALPN TLS
  • เพิ่มบทบาทที่กำหนดไว้ล่วงหน้า pg_maintain ซึ่งให้สิทธิ์ผู้ใช้ในการดำเนินการที่เกี่ยวข้องกับการบำรุงรักษา DBMS

สุดท้ายนี้ หากคุณสนใจเรียนรู้เพิ่มเติม สามารถดูรายละเอียดได้ที่ลิงก์ต่อไปนี้


เพิ่มเป็นแหล่งข้อมูลที่ต้องการใน Google