วัลคีย์ 9.1

ชุมชน วัลกี้ ประกาศการวางจำหน่าย วัลคีย์ 9.1 — เวอร์ชันเสถียรใหม่ของระบบจัดเก็บข้อมูลแบบคีย์-ค่าประสิทธิภาพสูงแบบโอเพนซอร์ส (ใบอนุญาต BSD) ที่รองรับการใช้งานหลากหลาย เช่น การแคชและคิวข้อความ และยังสามารถทำหน้าที่เป็นฐานข้อมูลหลักได้อีกด้วย โครงการนี้ได้รับการสนับสนุนโดย Linux มูลนิธิที่รับประกันว่าโค้ดดังกล่าวจะยังคงพร้อมใช้งานในรูปแบบโอเพนซอร์สต่อไป


โปรเจ็กต์นี้เป็นโปรเจ็กต์ที่แตกแขนงมาจาก Redis และถูกสร้างขึ้นหลังจากนั้น การเปลี่ยนแปลงในใบอนุญาต.

การอัปเดตครั้งนี้ประกอบด้วยคุณสมบัติใหม่ การปรับปรุงด้านความปลอดภัย การตรวจสอบ ประสิทธิภาพ และประสิทธิภาพของเครื่องมือ โดยมีผู้ร่วมพัฒนามากกว่า 80 คน

การเปลี่ยนแปลงที่สำคัญ

  • ภาษา Lua ได้ถูกย้ายไปยังโมดูลแยกต่างหากแล้ว
    ใน Valkey 9.1 เอ็นจิ้นการเขียนสคริปต์ Lua ได้ถูกแยกออกจากเซิร์ฟเวอร์หลักและย้ายไปยังโมดูลแยกต่างหาก การแยกนี้ช่วยลดช่องโหว่ด้านความปลอดภัยของแกนหลักของ Valkey และช่วยให้ผู้ดูแลระบบสามารถปิดใช้งาน Lua ได้อย่างสมบูรณ์หากไม่ได้ใช้งานสคริปต์ เพื่อให้เข้าใจได้ง่ายขึ้นว่าเอ็นจิ้นการเขียนสคริปต์ใดบ้างที่โหลดอยู่ในระบบ คำสั่ง INFO จึงมีส่วนตอบสนองใหม่คือ Scripting Engines

  • การแก้ไขช่องโหว่ด้านความปลอดภัยใหม่
    เวอร์ชันเสถียร 9.1.0 ประกอบด้วยการแก้ไขช่องโหว่ 3 รายการ ได้แก่ ช่องโหว่การใช้หน่วยความจำหลังจากถูกปล่อย (use-after-free) ในกลไกการปลดล็อกฝั่งไคลเอ็นต์ ช่องโหว่การเข้าถึงหน่วยความจำที่ไม่ถูกต้องในคำสั่ง 7RESTORE และช่องโหว่การใช้หน่วยความจำหลังจากถูกปล่อย (use-after-free) ระหว่างการซิงโครไนซ์แบบเต็มรูปแบบในระหว่างการเรียกใช้โค้ด Lua/ฟังก์ชันพร้อมการหยุดการทำงานชั่วคราว ช่องโหว่เหล่านี้ระบุไว้ในหมายเหตุเป็น CVE-2026-23479, CVE-2026-25243 และ CVE-2026-23631

  • ACL ระดับฐานข้อมูล
    มีการเพิ่มระบบควบคุมการเข้าถึงระดับฐานข้อมูล ซึ่งช่วยให้สามารถกำหนดสิทธิ์ได้อย่างละเอียดมากขึ้นในการตั้งค่าแบบหลายผู้ใช้ และเหนือกว่ากฎการเข้าถึงโดยรวมสำหรับอินสแตนซ์ Valkey ทั้งหมด

  • การโหลดใบรับรอง TLS ใหม่โดยอัตโนมัติ
    Valkey 9.1 รองรับการโหลดใบรับรอง TLS ใหม่โดยอัตโนมัติแล้ว สำหรับผู้ดูแลระบบ นั่นหมายถึงขั้นตอนการเปลี่ยนใบรับรองด้วยตนเองที่ลดลง และการใช้งานระบบรักษาความปลอดภัยที่สะดวกยิ่งขึ้น

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

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

  • ทีมงาน CLUSTERSCAN ชุดใหม่
    ขณะนี้คลัสเตอร์มีคำสั่งเดียวสำหรับการสแกนคีย์ทั่วทุกโหนดแล้ว ก่อนหน้านี้ ลูกค้าต้องเรียกใช้คำสั่ง SCAN บนแต่ละโหนดด้วยตนเองและรวมผลลัพธ์เข้าด้วยกัน CLUSTERSCAN ช่วยลดความซับซ้อนของไลบรารีไคลเอ็นต์ เครื่องมือผู้ดูแลระบบ และงานปฏิบัติการต่างๆ เช่น การค้นหาคีย์ตามรูปแบบหรือประเภททั่วทั้งคลัสเตอร์

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

  • ใช้หน่วยความจำน้อยลงสำหรับชุดข้อมูลที่เรียงลำดับแล้ว
    การปรับปรุงประสิทธิภาพของ Skiplist ช่วยลดการใช้หน่วยความจำสำหรับชุดข้อมูลที่เรียงลำดับแล้วได้สูงสุดถึง 10% นอกจากนี้ การดำเนินการกับชุดข้อมูลที่เรียงลำดับแล้ว รวมถึงการค้นหาข้อมูลเช่น ZRANGEBYSCORE และ ZRANGEBYLEX ก็ได้รับการปรับปรุงให้เร็วขึ้นด้วย

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

  • ปรับปรุงโมเดลการทำงานแบบมัลติเธรดของ I/O แล้ว
    เวอร์ชันทดสอบ 9.1.0-rc2 ได้ปรับปรุงโมเดลการทำงานร่วมกันของเธรด I/O โดยใช้คิวแบบไร้การล็อก บันทึกการเผยแพร่ระบุว่าปริมาณงานเพิ่มขึ้น 8–17%

  • เร่งความเร็วในการดำเนินการ GET และ SET
    ปัจจุบัน Valkey ใช้ฮาร์ดแวร์เป็นค่าเริ่มต้นเท่าที่จะเป็นไปได้ ซึ่งช่วยลดภาระของระบบเรียกใช้งานที่เกี่ยวข้องกับเวลา โครงการนี้อ้างว่าประสิทธิภาพโดยรวมเพิ่มขึ้นสูงสุดถึง 3% สำหรับการดำเนินการ GET และ SET

  • การกำจัดขยะชิ้นใหญ่ได้รวดเร็วยิ่งขึ้น
    ขณะนี้ Valkey จะระงับการปรับขนาดตารางแฮชภายในชั่วคราวในระหว่างการดำเนินการต่างๆ เช่น SREM, ZREM และ HDEL เพื่อหลีกเลี่ยงการคำนวิดแฮชซ้ำโดยไม่จำเป็นและเพิ่มความเร็วในการลบองค์ประกอบจำนวนมาก

  • การสร้างแบบจำลองที่มีประสิทธิภาพมากขึ้นในระหว่างปฏิบัติการ AOF
    เมื่อสร้างสำเนาโดยเปิดใช้งาน AOF ไฟล์ RDB ที่ได้จะถูกนำมาใช้ซ้ำแทนที่จะสร้างสแนปช็อตใหม่สำหรับไฟล์ฐาน AOF เริ่มต้น ซึ่งจะช่วยลดภาระงานที่ไม่จำเป็นเมื่อปรับใช้สำเนา

  • ปรับปรุง valkey-cli และ valkey-benchmark แล้ว
    ได้เพิ่มการรองรับการย้ายสล็อตอะตอมิกใน valkey-cli ผ่านพารามิเตอร์ --cluster-use-atomic-slot-migration สำหรับการดำเนินการ --cluster rebalance และ --cluster reshard แล้ว นอกจากนี้ยังได้เพิ่มเอาต์พุตการกระจาย RPS ใน valkey-benchmark พร้อมกับพารามิเตอร์ --warmup และ --duration ทำให้การทดสอบประสิทธิภาพทำได้ง่ายขึ้น

แยกกันโดยใช้ร่วมกับ Valkey 9.1 ในระบบนิเวศ โครงการที่เกี่ยวข้องกำลังได้รับการส่งเสริม: ผู้ดูแลระบบ Valkey สำหรับการจัดการคลัสเตอร์ด้วยภาพ Valkey Search 1.2 พร้อมฟังก์ชันการค้นหาข้อความเต็มรูปแบบ ตัวกรองตัวเลข แท็ก และการค้นหาเวกเตอร์ รวมถึงไลบรารีไคลเอ็นต์ วัลคีย์ ไกลด์.

Valkey 9.1 เป็นการอัปเดตครั้งสำคัญในแง่ของประสิทธิภาพ: ใช้หน่วยความจำน้อยลงสำหรับโครงสร้างทั่วไป ลดความหน่วงระหว่างการสร้างใหม่ภายใน มีคำสั่งใหม่สำหรับคลัสเตอร์และข้อมูลชั่วคราว และมีโมเดลความปลอดภัยที่แม่นยำยิ่งขึ้นสำหรับการติดตั้งใช้งานจริง

ที่มา: linux.org.ru

ซื้อโฮสติ้งที่เชื่อถือได้สำหรับไซต์ที่มีการป้องกัน DDoS เซิร์ฟเวอร์ VPS VDS 🔥 ซื้อบริการเว็บโฮสติ้งที่เชื่อถือได้ พร้อมระบบป้องกัน DDoS และเซิร์ฟเวอร์ VPS/VDS | ProHoster