หลังจากหนึ่งปีของการพัฒนาและการเปิดตัวล่วงหน้าหกครั้ง
การพัฒนา MariaDB ได้รับการดูแลโดยมูลนิธิ MariaDB ที่เป็นอิสระ ตามกระบวนการพัฒนาที่เปิดกว้างและโปร่งใสอย่างสมบูรณ์ ซึ่งเป็นอิสระจากผู้จำหน่ายแต่ละราย MariaDB ได้รับการจัดเตรียมแทน MySQL ในลีนุกซ์หลายรุ่น (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) และได้รับการนำไปใช้ในโครงการขนาดใหญ่เช่น
สำคัญ
- รวมถึงเทคโนโลยีการจำลองแบบหลายต้นแบบแบบซิงโครนัส
กาเลรา 4 ซึ่งอนุญาตโทโพโลยีหลายต้นแบบที่ใช้งานอยู่ซึ่งสามารถอ่านและเขียนโดยโหนดใดก็ได้ ด้วยการจำลองแบบซิงโครนัส โหนดทั้งหมดจะมีข้อมูลที่อัปเดตอยู่เสมอ เช่น ไม่มีการรับประกันธุรกรรมที่สูญหาย เนื่องจากธุรกรรมจะเกิดขึ้นหลังจากข้อมูลได้รับการเผยแพร่ไปยังโหนดทั้งหมดแล้วเท่านั้น การจำลองแบบจะดำเนินการในโหมดขนาน ที่ระดับแถว โดยถ่ายโอนเฉพาะข้อมูลเกี่ยวกับการเปลี่ยนแปลงเท่านั้น - ในระบบที่มีลักษณะคล้าย Unix ปลั๊กอินการตรวจสอบความถูกต้องจะเปิดใช้งานตามค่าเริ่มต้น
unix_socket ซึ่งอนุญาตให้คุณใช้บัญชีที่มีอยู่ในระบบเพื่อเชื่อมต่อกับ DBMS โดยใช้ซ็อกเก็ตยูนิกซ์ในเครื่อง - เพิ่ม
โอกาส การกำหนดอายุการใช้งานรหัสผ่านของผู้ใช้ หลังจากนั้นรหัสผ่านจะถูกทำเครื่องหมายว่าหมดอายุ หากต้องการตั้งค่าวันหมดอายุของรหัสผ่านในการดำเนินการ "สร้างผู้ใช้" และ "เปลี่ยนผู้ใช้" จึงมีการเพิ่มนิพจน์ "รหัสผ่านหมดอายุช่วง N DAY" - เพิ่มการสนับสนุน
การปิดกั้น ผู้ใช้ DBMS ผ่านนิพจน์ "ACCOUNT LOCK" ในการดำเนินการ "CREATE USER" และ "ALTER USER" - การดำเนินการตรวจสอบสิทธิ์ในการกำหนดค่ากับผู้ใช้จำนวนมากหรือกฎการเข้าถึงได้รับการเร่งความเร็วอย่างมาก
-
ยกเลิก ใช้ตาราง mysql.user และ mysql.host ขณะนี้ตาราง mysql.global_priv ใช้เพื่อจัดเก็บบัญชีและสิทธิพิเศษทั่วโลก - В
ปลั๊กอิน การรับรองความถูกต้องเพิ่ม รองรับการแสดงออก “SET PASSWORD”; -
เพิ่ม ความสามารถในการใช้ปลั๊กอินการรับรองความถูกต้องมากกว่าหนึ่งปลั๊กอินสำหรับแต่ละบัญชี ซึ่งจะมีประโยชน์สำหรับการค่อยๆ ย้ายผู้ใช้ไปยังปลั๊กอินed25519 . เมื่อสร้างผู้ใช้ root@localhost ด้วยสคริปต์ mysql_install_db ปลั๊กอินการรับรองความถูกต้องสองตัวจะถูกเปิดใช้งานตามค่าเริ่มต้น - unix_socket และ mysql_native_password; - ที่เก็บข้อมูล InnoDB ดำเนินการลบคอลัมน์ทันที (ALTER TABLE ... DROP COLUMN ... ALGORITHM=INSTANT) และเปลี่ยนลำดับของคอลัมน์ ขนาดของบันทึกเริ่มต้นสำหรับการดำเนินการย้อนกลับ (บันทึกการทำซ้ำ) ลดลง เพิ่มการรองรับการหมุนเวียนคีย์สำหรับ innodb_encrypt_log ใช้อัลกอริทึมสำหรับการตรวจสอบเช็คซัม
innodb_checksum_algorithm=full_crc32. ให้การขยายประเภท VARCHAR ทันทีและเปลี่ยนการเข้ารหัสข้อความสำหรับคอลัมน์ที่ไม่ได้จัดทำดัชนี - ปรับปรุงเครื่องมือเพิ่มประสิทธิภาพ เพิ่มความสามารถในการติดตามเครื่องมือเพิ่มประสิทธิภาพ ซึ่งเปิดใช้งานผ่านตัวแปรระบบ
เครื่องมือเพิ่มประสิทธิภาพการติดตาม . ค่าเริ่มต้นที่รวมอยู่ รักษาสถิติโดยไม่ขึ้นอยู่กับเครื่องมือจัดเก็บข้อมูล
มีโหมด use_stat_tables ใหม่สองโหมด - COMPLEMENTARY_FOR_QUERIES และ PREFERABLY_FOR_QUERIES เปิดใช้งานโหมด Optimize_join_buffer_size แล้ว มีอันใหม่มาเพิ่มธง rowid_filter และ Condition_pushdown_from_having; - การสนับสนุนตารางเวอร์ชันระบบซึ่งไม่เพียงแต่จัดเก็บส่วนข้อมูลปัจจุบัน แต่ยังบันทึกข้อมูลเกี่ยวกับการเปลี่ยนแปลงที่ทำไว้ก่อนหน้านี้ทั้งหมดได้รับการขยาย
การดำเนินงาน ด้วยช่วงเวลา - เพิ่มคำสั่ง "FLUSH SSL" ใหม่เพื่อโหลดใบรับรอง SSL ใหม่โดยไม่ต้องรีสตาร์ทเซิร์ฟเวอร์
- เพิ่มการรองรับนิพจน์ "IF NOT EXISTS" และ "IF EXISTS" ในการดำเนินการ "INSTALL PLUGIN", "UNINSTALL PLUGIN" และ "UNINSTALL SONAME"
- มีการเสนอตารางระบบป้องกันการชนเพื่อจัดเก็บเครื่องยนต์ที่ใช้
เพลง ; - มีการเปลี่ยนไปใช้มาตรฐาน C++11 (เกี่ยวข้องกับการดำเนินการแบบอะตอมมิก)
- ประสิทธิภาพของคุณสมบัติ Collation locale สำหรับ Unicode ได้รับการปรับปรุงอย่างมาก ทำให้คุณสามารถระบุกฎการเรียงลำดับและวิธีการจับคู่ตามความหมายของอักขระ
-
เพิ่ม ปลั๊กอินสำหรับกำหนดประเภทฟิลด์ของคุณเอง - เพิ่มการรองรับสำหรับ windowed
ฟังก์ชัน UDF (ฟังก์ชั่นที่ผู้ใช้กำหนด); - ในการดำเนินการ "FLUSH TABLES"
ดำเนินการ โหมด “BACKUP LOCK” ซึ่งสามารถใช้เมื่อสำรองไฟล์ฐานข้อมูล -
เพิ่ม รองรับคำสั่งเซิร์ฟเวอร์ที่ขึ้นต้นด้วย mariadb ทางเลือกแทนคำสั่งที่ขึ้นต้นด้วย "mysql" (เช่น mariadump แทนที่จะเป็น mysqldump)
ที่มา: opennet.ru