MySQL AB เปิดตัว MySQL 5.1 Generally Available (GA) แล้ว

เมื่อวันที่ 1 ธันวาคม 2551 ที่ผ่านมา MySQL AB ได้ทำการประกาศสถานะ Generally Available (GA) ให้กับ  MySQL 5.1 เป็นที่เรียบร้อยแล้ว โดยที่ในรุ่นนี้จะมีความสามารถดังต่อไปนี้

  • Table and Index Partitioning
    การแบ่งแยกการเก็บข้อมูลในตารางไว้ได้หลาย ๆ ที่ ตามเงื่อนไขที่กำหนด(different portions of a table are stored as separate tables in different locations) ซึ่งตัวนี้เป็นสิ่งที่หลาย ๆ คนรอคอย เพราะช่วยกระจายตัวข้อมูลใน table ที่ใช้อยู่บ่อย ๆ ไปไว้ใน Hard Drive คนละตัวกัน ซึ่งช่วยให้กระจายการทำงานของ I/O ได้ แต่ก็ต้องแลกกับการ Backup ที่ยากขึ้นด้วยเช่นกัน
  • Row-Based and Hybrid Replication
    การทำ replication บน MySQL ก่อนหน้านี้จะเป็น statement-based replication คือการเก็บ statement ใน bin-log แล้วส่งจาก master ไปยัง slave ให้ slave ทำงานตามไปด้วย แต่ row-based replication เป็นการเก็บ statement ที่จะส่งจาก master ไป slave ชื่อที่เรียกว่า event ลงใน bin-log แล้วส่งเฉพาะส่วนที่เป็นผลของข้อมูลในตารางนั้น ๆ ไปให้กับ slave แทน (ส่วนที่ถูกแก้ไขนั้นแหละ) ทำให้ slave ไม่ต้องทำงานตามที่ master ไปเสียทุกอย่าง ทำเพียงแต่รับผลการเปลี่ยนแปลงจาก master เท่านั้น แต่ก็สามารถเลือกทำแบบ mixed ได้เช่นกัน
  • Plugin API and Pluggable storage engine API
    เขียน Plugin เพิ่มได้ รู้สึกว่าตอนนี้ตัว plugin full-text parsers ก็เป็นตัวอย่างหนึ่งในการสร้าง Plugin API เหมาะมากในอนาคต ที่จะระบบตัดคำไทยใน MySQL เพื่อทำ full-text search (ผมไม่แน่ใจว่ามีใครทำไปแล้วหรือยัง)
  • Event scheduler
    เป็นการตั้ง schedule job แบบเดียวกับการทำ crontab (cron job) ใน UNIX นั้นเอง แต่อันนี้ทำในระดับ DBMS เลยไม่ต้องมี App ตัวอื่น ๆ มามีส่วนเกี่ยวข้องเหมาะสำหรับทำ report table หรือ log table ที่ต้องมีการ clear ข้อมูลเป็นประจำ
  • Server log tables
  • Upgrade program
  • MySQL Cluster
    ใน MySQL 5.1 ได้ทำการแยกสายการพัฒนาออกมาเป็นอีกรุ่นหนึ่งของ MySQL ไปเลย
  • Backup of tablespaces
  • Improvements to INFORMATION_SCHEMA
  • XML functions with XPath support
  • Load emulator

อ้างอิงจาก http://dev.mysql.com/doc/refman/5.1/en/mysql-nutshell.html

ใน MySQL 5.1 ส่วนที่น่าสนใจจริง ๆ คงเป็นเรื่อง Table and Index Partitioning, Row-based replication, Plugin API และ Event Scheduler ที่ช่วยให้การทำงานหลาย ๆ อย่างง่ายขึ้นครับ

ย้อนกลับไปนิดนึง สำหรับบางคนที่ยังไม่รู้เลยว่า MySQL 5.0 มันทำอะไรได้บ้างนั้นตัว MySQL 5.0 นั้นสามารถทำ Stored procedures, Views (แต่ทำ cache ไม่ได้), Cursors, XA transactions และ Triggers

โดยในรุ่นต่อไป MySQL 5.2 แต่จากที่ดู ๆ ไปแล้วเนี่ย คาดว่าจะเป็น 6.0 มากกว่านะ เพราะเจ้า MySQL 5.2 ในเว็บ MySQL AB มันหายไปแล้ว

ซึ่งในรุ่นต่อไปก็คงได้เวลาของ Falcon ซึ่งเป็น Transaction Storage Engine ที่คาดการณ์กันไว้ว่าจะมาแทน InnoDB ที่โดน Oracle ซื้อไป คงต้องดูกันอีกทีว่าเจ้า Falcon จะมีดีแค่ไหน รอดูกันต่อไปครับ