MariaDB และ MySQL ต่างกันอย่างไร


82

MariaDB และ MySQL ต่างกันอย่างไร ฉันไม่คุ้นเคยกับทั้งสองอย่างมาก ฉันเป็นนักพัฒนาส่วนใหญ่เป็นหลัก

พวกมันคล้ายกันทางไวยากรณ์หรือไม่? ภาษาคิวรีสองภาษานี้แตกต่างกันที่ไหน

วิกิพีเดียพูดถึงความแตกต่างระหว่างสิทธิ์ใช้งานเท่านั้น:

MariaDB เป็นสาขาที่พัฒนาโดยชุมชนของฐานข้อมูล MySQL ซึ่งเป็นแรงผลักดันในการบำรุงรักษาสถานะว่างภายใต้ GPL ของชุมชนซึ่งต่างจากความไม่แน่นอนของสถานะใบอนุญาต MySQL ภายใต้ความเป็นเจ้าของปัจจุบันของ Oracle


สิ่งนี้อาจมีประโยชน์: hackr.io/blog/mariadb-vs-mysql
Saurabh Hooda

คำตอบ:


94

MariaDB สามารถใช้แทน MySQL ในการแทนที่แบบดรอปดาวน์ได้ สิ่งนี้หมายความว่าอะไร:

  • ไฟล์ data และ table definition (.frm) เป็นไฟล์ที่เข้ากันได้กับไบนารี
  • APIs โปรโตคอลและโครงสร้างของไคลเอ็นต์ทั้งหมดเหมือนกัน
  • ชื่อไฟล์ทั้งหมดไบนารีเส้นทางพอร์ตซ็อกเก็ตและอื่น ๆ ... ควรเหมือนกัน
  • ตัวเชื่อมต่อ MySQL ทั้งหมดไม่ทำงานกับ MariaDB
  • แพ็คเกจ mysql-client ยังทำงานกับเซิร์ฟเวอร์ MariaDB

ในสถานการณ์ที่ใช้งานได้จริงส่วนใหญ่ MariaDB เวอร์ชั่น 5.xy จะทำงานเหมือนกับ MySQL 5.xy, MariaDB ตามด้วยเวอร์ชันของ MySQL นั่นคือหมายเลขรุ่นจะถูกใช้เพื่อระบุว่าเป็นรุ่นใดของ MySQL ที่เข้ากันได้

MariaDB มีต้นกำเนิดมาจาก MySQL โดย Michael "Monty" Widenius หนึ่งในผู้พัฒนาดั้งเดิมของ MySQL และผู้ร่วมก่อตั้ง MySQL Ab มูลนิธิ MariaDBทำหน้าที่เป็นผู้ปกครองของ MariaDB

แรงจูงใจหลักที่อยู่เบื้องหลัง MariaDB คือการให้ MySQL รุ่นไหมขัดฟันในกรณีที่ Oracle ไปองค์กรทั้งหมดที่มี MySQL เป็นที่น่าสังเกตว่า Monty เป็นแกนนำในการต่อต้านการซื้อ MySQL (ผ่านการซื้อกิจการของ Sun) โดย Oracle

แม้ว่า MariaDB ควรจะเข้ากันได้กับ MySQL ด้วยเหตุผลหนึ่งประการหรืออย่างอื่น แต่ก็มีปัญหาความเข้ากันได้ค่อนข้างน้อยและคุณสมบัติที่แตกต่างกัน :

  • MariaDB รวมเอ็นจิ้นโอเพ่นซอร์สยอดนิยม
  • MariaDB อ้างว่าการปรับปรุงความเร็วของ MySQL และ
  • มีบางส่วนขยายไหมขัดฟันใหม่ที่ MySQL ขาดอยู่

    ในที่สุดชื่อนี้มาจากลูกสาวของ Monty Maria (อีกคนหนึ่งเป็น My) เนื่องจาก MySQL เป็นเครื่องหมายการค้าจดทะเบียนของ Oracle Corporation


1
ขอบคุณสำหรับคำอธิบายที่ครอบคลุมมาก สิ่งที่ฉันกำลังมองหา
chrisjlee

5
MariaDB ไม่ชัดเจนอย่างสมบูรณ์ของ SQL-99 ดังที่คำกล่าวอ้างบนหน้าคำตอบนี้ลิงก์ไปยัง ตัวอย่างเช่นมันไม่สนับสนุนการยืนยันเลยและ CTE ยังไม่ได้ทำให้มันเป็นรุ่นที่เสถียร เรื่องราวนั้นเหมือนกันมากสำหรับ MySQL
อากาศ

ฉันเชื่อว่าลิงก์ไปยัง montyprogram dot com ได้รับการเน่าเปื่อย แต่ฉันไม่มีเงื่อนงำที่เทียบเท่าสำหรับการเชื่อมโยงเหล่านี้สามารถพบได้ทั่วไป
Hay

MariaDB รองรับ InnoDB ใช่มั้ย ทำไมมันเขียนแบบนั้น
Paulson Peter

1
@PaulsonPeter ใช่แล้ว MariaDB รองรับ InnoDB ไม่แน่ใจว่าคำถามที่สองของคุณเกี่ยวกับอะไร
yannis

15

มันเป็นทางแยก - โครงการที่แยกกันสองโครงการเริ่มต้นจาก codebase เดิม แต่ย้ายไปในทิศทางที่ต่างกัน สิ่งนี้เกิดขึ้นค่อนข้างบ่อยกับโครงการโอเพ่นซอร์สที่ Oracle ซื้อ บริษัท ผู้สนับสนุน

ความเข้าใจของฉัน MariaDB ได้รับการบำรุงรักษาและปรับปรุงโดยนักพัฒนา MySQL ดั้งเดิมและ MySQL ได้รับการบำรุงรักษาและปรับปรุงโดย Oracle ขึ้นอยู่กับว่าคุณต้องการทำงานแบบไหน


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.