Яка різниця між MariaDB і MySQL?


82

Яка різниця між MariaDB і MySQL? Я не дуже знайомий з обома. Я здебільшого розробник передньої частини, здебільшого.

Чи синтаксично вони схожі? Чи відрізняються ці дві мови запитів?

У Вікіпедії зазначається лише різниця між ліцензуванням:

MariaDB - це гілка бази даних MySQL, розвинена спільнотою, поштовхом якої є підтримка спільнотою свого вільного статусу під GPL, на відміну від будь-якої невизначеності статусу ліцензії MySQL під її поточним володінням Oracle.


Це може бути корисно: hackr.io/blog/mariadb-vs-mysql
Saurabh Hooda

Відповіді:


94

MariaDB - це сумісна ззаду бінарна версія, що підтримує MySQL . Що це означає:

  • Файли файлів визначення даних та таблиць (.frm) підтримують двійкові файли.
  • Усі клієнтські API, протоколи та структури однакові.
  • Усі назви файлів, двійкові файли, контури, порти, розетки тощо тощо повинні бути однаковими.
  • Всі роз'єми MySQL без змін працюють з MariaDB.
  • Пакет mysql-клієнт також працює з сервером MariaDB.

У більшості поширених практичних сценаріїв MariaDB версії 5.xy буде працювати точно так само, як MySQL 5.xy, MariaDB слід за версією MySQL, тобто номер версії використовується для вказівки, з якою версією MySQL вона сумісна.

MariaDB виникла як вилка MySQL Майкла "Monty" Widenius, одного з оригінальних розробників MySQL та співзасновника MySQL Ab. Фонд MariaDB виконує функції зберігача MariaDB.

Основна мотивація MariaDB полягала в наданні флос-версії MySQL, на випадок, якщо Oracle перейде на корпоративний MySQL. Варто відзначити, що Monty виступав проти придбання MySQL (через придбання Sun) Oracle.

Хоча MariaDB має бути сумісним з MySQL, з тих чи інших причин існує досить багато проблем із сумісністю та різними можливостями :

  • MariaDB включає всі популярні двигуни з відкритим кодом,
  • MariaDB заявляє про кілька покращень швидкості в порівнянні з MySQL та
  • є кілька нових розширень floss, яких не вистачає MySQL

    Нарешті, ім'я походить від дочки Монті Марії (інша - моя), оскільки MySQL є зареєстрованою торговою маркою корпорації Oracle.


1
Дякую за дуже вичерпне пояснення. Саме те, що я шукав.
chrisjlee

5
MariaDB явно не є повноцінним SQL-99, про що йдеться в самій сторінці, на яку ця відповідь посилається. Наприклад, він взагалі не підтримує твердження, а CTE ще не зробили його стабільним випуском. Історія майже однакова для MySQL.
Повітря

Я вважаю, що посилання на montyprogram dot com згнили, але я не маю поняття, де еквіваленти цих посилань можна знайти в Інтернеті.
Сіно

MariaDB підтримує InnoDB так? чому його написано так?
Полсон Пітер

1
@PaulsonPeter Так, MariaDB підтримує InnoDB. Не впевнений, у чому полягає ваше друге питання.
янніс

15

Це виделка - два окремих проекти, що починаються з тієї самої оригінальної кодової бази, але рухаються в окремих напрямках. Це трапляється досить часто з проектами з відкритим кодом, де Oracle купує компанії-спонсори.

Наскільки я розумію, MariaDB підтримується та покращується оригінальними розробниками MySQL, а MySQL підтримується та покращується Oracle. Це залежить від того, з ким ви хочете виконати цю роботу.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.