ตอนนี้ที่ MySQL เป็นเจ้าของโดย Oracle หลายคนเริ่มพิจารณาใช้ forks ยอดนิยมเช่น MariaDB และ Drizzle
มีใครบ้างที่ใช้สิ่งเหล่านี้ในการผลิตเป็นระยะเวลานาน? ถ้าเป็นเช่นนั้นคุณสมบัติที่มีความเสถียรและมีประสบการณ์ที่ได้เปรียบกับ MySQL?
ตอนนี้ที่ MySQL เป็นเจ้าของโดย Oracle หลายคนเริ่มพิจารณาใช้ forks ยอดนิยมเช่น MariaDB และ Drizzle
มีใครบ้างที่ใช้สิ่งเหล่านี้ในการผลิตเป็นระยะเวลานาน? ถ้าเป็นเช่นนั้นคุณสมบัติที่มีความเสถียรและมีประสบการณ์ที่ได้เปรียบกับ MySQL?
คำตอบ:
เราไม่ได้ใช้ MySQL forks แต่สำหรับกรณีของเรา (ฐานข้อมูลชีวสารสนเทศศาสตร์) การสลับไปใช้ PostgeSQL นั้นทำได้ดีมาก เว็บแอพพลิเคชั่น (Cellwall Navigator, โค้ด Perl ขนาด 10k และตาราง 10 db) ทำงานบน MySQL เป็นเวลา 5 ปี เราใช้เวลา 2 วันในการปรับ SQL เพื่อย้ายไปยัง Postgres
แอปพลิเคชันไม่จำเป็นต้องทำการปรับเปลี่ยนใด ๆ ยกเว้นการเชื่อมต่อกับฐานข้อมูล
การปรับตัวคือ:
รหัสผ่านแทนที่ MySQL () กับ Postgres md5 () เช่นนี้
SELECT id FROM users WHERE email = ? AND password = password(?)
จะกลายเป็นSELECT id FROM users WHERE email = ? AND password = md5(?)
แปลงง่ายสำหรับ MySQL STRAIGHT_JOIN เป็น JOIN ปกติ
Original SQL ซึ่งได้รับอนุญาตจาก MySQL (ทำงานได้ดีสำหรับแอพก่อนการโยกย้าย):
SELECT sequence.id, ... FROM sequence JOIN xlink ON xlink.sequence = sequence.id WHERE xlink.accession = ? GROUP BY sequence.id
เราปรับให้เป็น SQL ที่เหมาะสมที่ทำงานใน PostgeSQL และแก้ไขสำหรับแอปพลิเคชัน:
SELECT DISTINCT sequence.id, ... FROM sequence JOIN xlink ON xlink.sequence = sequence.id WHERE xlink.accession = ?
ฉันใช้http://www.percona.com/software/percona-server/ตอนนี้และมันยอดเยี่ยม ฉันยังรู้จัก บริษัท อินเทอร์เน็ตยอดนิยมบางแห่งที่ใช้งาน
ฉันใช้ MariaDB ที่ Ravelry.com มาประมาณหนึ่งปีแล้ว master db มีขนาดใหญ่กว่า 5x บัฟเฟอร์พูลขนาด 40 GB และจัดการปริมาณการรับส่งข้อมูลอย่างเหมาะสม - ประมาณ 3K เคียวรีต่อวินาทีในเวลาไม่ว่าง ในความคิดของฉันมันเป็น MySQL ที่ดีที่สุดและไม่มีเหตุผลที่จะใช้ MySQL อื่น ๆ
มันทำงานได้ดีกว่า MySQL ปกติ (ขอบคุณปลั๊กอิน Percona XtraDB / InnoDB ที่รวมอยู่) ได้รับการบำรุงรักษาอย่างแข็งขันและมีแพทช์และเครื่องมือจัดเก็บข้อมูลที่มีประโยชน์เพิ่มเติมนอกเหนือจากงานของ Percona
ฉันสามารถใช้คุณสมบัติที่ขาดไม่ได้ที่ MySQL ธรรมดาไม่ได้ทำเครื่องหมาย - การปรับปรุงประสิทธิภาพด้วยเครื่องมัลติโปรเซสเซอร์, เวลาในการกู้คืน Innodb ได้รับการปรับปรุงอย่างมาก, ข้อผิดพลาดในการฉีด MySQL ถูกจัดการอย่างรวดเร็วสถิติตารางและดัชนีมีประโยชน์อย่างมาก ... ฉันตื่นเต้นที่จะเห็น HandlerSocket เพิ่ม ( ผ่าน Percona )
MySQL 5.5 เพิ่งเปิดตัวและไม่เป็นไร (ในที่สุด) เข้ามาใกล้กับประสิทธิภาพของเครื่องยนต์ XtraDB ที่ชาญฉลาด แต่ฉันก็ยังคิดว่า MariaDB เป็นวิธีที่ดีกว่า
ใช้ MariaDB