การเปิดตัว MariaDB DBMS 10.6 ที่เสถียร

หลังจากหนึ่งปีของการพัฒนาและการเปิดตัวเบื้องต้นสามครั้ง MariaDB 10.6 DBMS สาขาใหม่ที่มีความเสถียรรุ่นแรกก็ได้รับการเผยแพร่ โดยมีการพัฒนาสาขาของ MySQL ที่รักษาความเข้ากันได้แบบย้อนหลังและโดดเด่นด้วยการรวมกลไกการจัดเก็บข้อมูลเพิ่มเติม และความสามารถขั้นสูง โดยจะให้การสนับสนุนสาขาใหม่เป็นเวลา 5 ปี จนถึงเดือนกรกฎาคม 2026

การพัฒนา MariaDB ได้รับการดูแลโดยมูลนิธิ MariaDB ที่เป็นอิสระ ตามกระบวนการพัฒนาที่เปิดกว้างและโปร่งใสอย่างสมบูรณ์ ซึ่งเป็นอิสระจากผู้จำหน่ายแต่ละราย MariaDB ได้รับการจัดหามาทดแทน MySQL ใน Linux จำนวนมาก (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) และได้รับการนำไปใช้ในโครงการขนาดใหญ่เช่น Wikipedia, Google Cloud SQL และ Nimbuzz

การปรับปรุงที่สำคัญใน MariaDB 10.6:

  • การดำเนินการแบบอะตอมมิกของนิพจน์ “CREATE TABLE|VIEW|SEQUENCE|TRIGGER”, “ALTER TABLE|SEQUENCE”, “RENAME TABLE|TABLES”, “DROP TABLE|VIEW|VIEW|TRIGGER|DATABASE” ได้รับการรับรอง (นิพจน์อย่างใดอย่างหนึ่งคือ เสร็จสมบูรณ์หรือทุกอย่างกลับคืนสู่สภาพเดิม) ในกรณีของการดำเนินการ “DROP TABLE” ที่ลบหลายตารางในคราวเดียว รับประกันความเป็นอะตอมมิกที่ระดับของแต่ละตาราง วัตถุประสงค์ของการเปลี่ยนแปลงคือเพื่อให้มั่นใจในความสมบูรณ์ในกรณีที่เซิร์ฟเวอร์ขัดข้องระหว่างการดำเนินการ ก่อนหน้านี้ หลังจากเกิดข้อขัดข้อง ตารางและไฟล์ชั่วคราวอาจยังคงอยู่ การซิงโครไนซ์ตารางในกลไกการจัดเก็บข้อมูลและไฟล์ frm อาจหยุดชะงัก และแต่ละตารางอาจยังคงไม่มีการเปลี่ยนชื่อเมื่อมีการเปลี่ยนชื่อหลายตารางพร้อมกัน รับประกันความสมบูรณ์โดยการรักษาบันทึกการกู้คืนสถานะ ซึ่งเป็นเส้นทางที่สามารถกำหนดได้ผ่านตัวเลือกใหม่ “—log-ddl-recovery=file” (ddl-recovery.log ตามค่าเริ่มต้น)
  • โครงสร้าง "SELECT ... OFFSET ... FETCH" ที่กำหนดไว้ในมาตรฐาน SQL 2008 ได้ถูกนำมาใช้แล้ว ทำให้คุณสามารถแสดงแถวจำนวนหนึ่งโดยเริ่มจากออฟเซ็ตที่ระบุ พร้อมด้วยความสามารถในการใช้พารามิเตอร์ "WITH TIES" เพื่อ แนบค่าถัดไปอีกค่าหนึ่ง ตัวอย่างเช่น นิพจน์ “SELECT i FROM t1 ORDER BY i ASC OFFSET 1 ROWS FETCH FIRST 3 ROWS WITH TIES” แตกต่างจากโครงสร้าง “SELECT i FROM t1 ORDER BY i ASC LIMIT 3 OFFSET 1” โดยส่งออกองค์ประกอบอีกหนึ่งรายการในส่วนท้าย (แทนที่จะพิมพ์ 3 4 บรรทัด)
  • สำหรับกลไก InnoDB มีการใช้ไวยากรณ์ "SELECT ... SKIP LOCKED" ซึ่งช่วยให้คุณสามารถแยกแถวที่ไม่สามารถตั้งค่าการล็อคได้ ("LOCK IN SHARE MODE" หรือ "FOR UPDATE")
  • ความสามารถในการเพิกเฉยดัชนีได้ถูกนำมาใช้แล้ว (ใน MySQL 8 ฟังก์ชันนี้เรียกว่า "ดัชนีที่มองไม่เห็น") การทำเครื่องหมายดัชนีที่จะละเว้นเสร็จสิ้นโดยใช้แฟล็ก IGNORED ในคำสั่ง ALTER TABLE หลังจากนั้นดัชนียังคงมองเห็นและอัปเดตได้ แต่เครื่องมือเพิ่มประสิทธิภาพไม่ได้ใช้
  • เพิ่มฟังก์ชัน JSON_TABLE() เพื่อแปลงข้อมูล JSON เป็นรูปแบบเชิงสัมพันธ์ ตัวอย่างเช่น เอกสาร JSON สามารถแปลงเพื่อใช้ในบริบทของตาราง ซึ่งสามารถระบุภายในบล็อก FROM ในคำสั่ง SELECT
  • ปรับปรุงความเข้ากันได้กับ Oracle DBMS: เพิ่มการสนับสนุนสำหรับแบบสอบถามย่อยที่ไม่ระบุชื่อภายในบล็อก FROM โครงสร้าง MINUS ถูกนำมาใช้แล้ว (เทียบเท่ากับ EXCEPT) เพิ่มฟังก์ชัน ADD_MONTHS(), TO_CHAR(), SYS_GUID() และ ROWNUM()
  • ในกลไก InnoDB การแทรกลงในตารางว่างได้รับการเร่งความเร็ว รูปแบบสตริงที่บีบอัดถูกตั้งค่าเป็นโหมดอ่านอย่างเดียวตามค่าเริ่มต้น รูปแบบ SYS_TABLESPACES แทนที่ SYS_DATAFILES และสะท้อนถึงสถานะในระบบไฟล์โดยตรง มีการรองรับการเขียนแบบ Lazy สำหรับพื้นที่ตารางชั่วคราว การสนับสนุนอัลกอริธึมเช็คซัมแบบเก่าซึ่งคงไว้เพื่อให้เข้ากันได้กับ MariaDB 5.5 ได้ถูกยกเลิกแล้ว
  • ในระบบเรพลิเคชัน ขนาดของค่าพารามิเตอร์ master_host เพิ่มขึ้นจาก 60 เป็น 255 อักขระ และ master_user เป็น 128 ตัวแปร binlog_expire_logs_seconds ได้ถูกเพิ่มเพื่อกำหนดค่าเวลาหมดอายุของบันทึกไบนารีในหน่วยวินาที (ก่อนหน้านี้ เวลารีเซ็ตคือ กำหนดเป็นจำนวนวันเท่านั้นผ่านตัวแปรexpir_logs_days)
  • กลไกการจำลองแบบหลายต้นแบบแบบซิงโครนัสของ Galera ใช้ตัวแปร wsrep_mode เพื่อกำหนดค่าพารามิเตอร์ API WSREP (Write Set REPlication) อนุญาตให้แปลง Galera จากการสื่อสารที่ไม่ได้เข้ารหัสเป็น TLS โดยไม่ต้องหยุดคลัสเตอร์
  • มีการใช้สคีมา sys-schema ซึ่งประกอบด้วยคอลเลกชันของมุมมอง ฟังก์ชัน และขั้นตอนสำหรับการวิเคราะห์การดำเนินงานของฐานข้อมูล
  • เพิ่มตารางบริการสำหรับการวิเคราะห์ประสิทธิภาพการจำลองแบบ
  • มุมมอง INFORMATION_SCHEMA.KEYWORDS และ INFORMATION_SCHEMA.SQL_FUNCTIONS ได้รับการเพิ่มลงในชุดตารางข้อมูล โดยแสดงรายการคำหลักและฟังก์ชันที่มีอยู่
  • ที่เก็บ TokuDB และ CassandraSE ถูกลบออกแล้ว
  • การเข้ารหัส utf8 ถูกย้ายจากการแสดงสี่ไบต์ utf8mb4 (U+0000..U+10FFFF) ไปเป็น utf8mb3 สามไบต์ (ครอบคลุมช่วง Unicode U+0000..U+FFFF)
  • เพิ่มการรองรับการเปิดใช้งานซ็อกเก็ตใน systemd
  • ปลั๊กอิน GSSAPI ได้เพิ่มการรองรับชื่อกลุ่ม Active Directory และ SID
  • เพิ่มการตรวจสอบว่ามีไฟล์การกำหนดค่า $MARIADB_HOME/my.cnf นอกเหนือจาก $MYSQL_HOME/my.cnf
  • มีการใช้ตัวแปรระบบใหม่ binlog_expire_logs_seconds, innodb_deadlock_report, innodb_read_only_compressed, wsrep_mode และ Innodb_buffer_pool_pages_lru_freed

ที่มา: opennet.ru

เพิ่มความคิดเห็น