Loading AI tools
З Вікіпедії, вільної енциклопедії
MariaDB — реляційна система керування базами даних, створена на початку 2009 як відгалуження (форк) MySQL. MariaDB поширюється під вільною та відкритою ліцензією GNU GPL.
Тип | Реляційна система керування базами даних |
---|---|
Автор | Michael Wideniusd |
Розробники | MariaDB Foundation MariaDB Corporation |
Перший випуск | 22 січня 2009 |
Стабільний випуск | 10.10.2 (17 листопада 2022 ) |
Нестабільний випуск | 10.11.1 (17 листопада 2022 ) |
Платформа | Amazon Web Services і Google Cloud Platform |
Операційна система | крос-платформова |
Мова програмування | C, C++, Perl, Bash |
Доступні мови | англійська |
Ліцензія | GNU GPL v2 |
Онлайн-документація | mariadb.com/kb/en/documentation/ |
Репозиторій | github.com/MariaDB/server |
Вебсайт | mariadb.com |
Поштовхом для створення MariaDB стала непевність спільноти розробників та користувачів невизначеною долею і ліцензією MySQL після її придбання Oracle.
Проєкт MariaDB почала розвивати компанія Monty Program Ab, створена Майклом Віденіусом, після його відходу з Sun Microsystems. У розробці MariaDB також брали участь компанії SkySQL і Percona, котрі розвивають власні продукти та надають сервіс супроводу та підтримки для рішень на базі MySQL.
Проєкт підтримує високий ступінь сумісності з MySQL , включаючи "вставку" замінних можливостей бінарним еквівалентом бібліотек і відповідністю з наявним API і командами MySQL. Навіть перша стабільна версія СУБД отримала номер 5.2, ніби продовжуючи лінійку MySQL. MariaDB включає два нових вдосконалених рушія баз даних: Aria (раніше відомого як Maria) на заміну MyISAM, та XtraDB як заміну InnoDB (включно до версії 10.1). Серія MariaDB 5.2.x за функціональністю сумісна з MySQL 5.1.x і заснована на тій же кодовій базі, що дозволяє здійснити міграцію з MySQL на MariaDB без виникнення проблем з сумісністю. Незважаючи на збереження зворотної сумісності, в MariaDB додана підтримка декількох нових сховищ (FederatedX, PBXT, XtraDB, Aria, OQGRAPH, Sphinx), реалізовані додаткові оптимізації, додані нові можливості (наприклад, віртуальні стовпці та Plug-in аутентифікації) і інтегровані патчі, створені компанією Percona і співтовариством незалежних розробників.
Перші випуски MariaDB нумерувалися синхронно з гілками MySQL, на яких вони були засновані. Але в листопаді 2012, щоб явно позначити незалежність розробки від MySQL, вирішено було присвоїти черговому релізу MariaDB номер 10.0.[1] Це значить, що MariaDB вже не є просто набором патчів, застосованих поверх MySQL, а містить досить великий набір додаткових функцій і можливостей, реалізованих інакше, ніж в MySQL (наприклад, пул тредів, підтримка мікросекунд і анотовані запити). Змінився також і метод синхронізації з кодовою базою MySQL, коли первинним у розробці став код MariaDB, в який бекпортуються нововведення MySQL.
У грудні 2012 Майкл Віденіус (Michael Widenius), Девід Аксмарк (David Axmark) і Аллан Ларсон (Allan Larsson), що заснували в 1995 році компанію MySQL AB, спільно з Патріком Соллнером (Patrick Sallner), директором компанії SkySQL, і Петром Зайцевим, співзасновником компанії Percona, анонсували створення нової некомерційної організації MariaDB Foundation[2][3] і передачу мільйона євро на її початковий розвиток.
Як місія MariaDB Foundation називається розвиток технологій СУБД, включаючи реалізацію стандартів, поліпшення сумісності між різними СУБД і забезпечення зв'язку з іншими типами БД, такими як транзакційні і NoSQL системи. Як практична основа для реалізації задуманих планів, організація відповідатиме за розробку СУБД MariaDB, рецензування запропонованих нововведень, включення в кодову базу змін, організацію тестування та випуску релізів MariaDB. На плечах MariaDB Foundation також буде лежати підтримка інфраструктури проєкту MariaDB і організація взаємодії з спільнотою користувачів і розробників, а також відстоювання інтересів проєкту. Відтепер розробка MariaDB буде контролюватися незалежним від окремих комерційних компаній комітетом.
Компанія Monty Program Ab була створена для розвитку проєкту MariaDB Майклом Віденіусом, засновником MySQL. Компанія Monty Program Ab є ініціатором проєкту MariaDB і його основним розробником. Компанія SkySQL заснована колишніми інвесторами MySQL AB і кількома топ-менеджерами, що курирували проєкт MySQL в Sun Microsystems і згодом звільнилися з Oracle. SkySQL займався як просуванням власних продуктів (SkySQL Enterprise), так і наданням сервісу супроводу та підтримки рішень на базі MariaDB і MySQL. Обидві фірми взяли на роботу велику групу інженерів, які пішли з Oracle і Sun Microsystems (з Oracle звільнилося понад 50% інженерів, що працюють в підрозділі MySQL, і майже всі ключові розробники).
У квітні 2013 компанії SkySQL і Monty Program Ab підписали угоду про злиття для об'єднання зусиль з розробки та підтримки проєкту MariaDB[4]. Восени 2014 компанія SkySQL оголосила про зміну імені на MariaDB Corporation.[5] Після злиття з компанією Monty Program Ab компанія SkySQL стала основним розробником СУБД MariaDB і куратором організації MariaDB Foundation.
З особливостей MariaDB, в порівнянні з MySQL, можна відзначити включення до складу наступних сховищ:
Monty Program AB спільно з компанією Codership, яка розвиває систему Galera, випустили кластерну СКБД MariaDB Galera, котра базується на кодовій базі MariaDB у поєднанні з технологією синхронної multi-master реплікації Galera.[7] Проєкт позиціонується як конкурент кластерним рішенням Oracle на базі MySQL та Percona XtraDB Cluster.
Продукт розширює можливості MariaDB, яка може виступати як прозора заміна MySQL 5.5, засобами для організації синхронної реплікації даних між кількома вузлами (застосовується топологія active-active multi-master, яка допускає читання та запис для будь-якого вузла). При синхронної реплікації всі вузли завжди містять актуальні дані, тобто гарантується відсутність втрачених транзакцій, тому що транзакція фіксується тільки після поширення даних по всіх вузлах. При цьому, в рамках транзакції операції виконуються відразу, затримка через очікування підтвердження виникає тільки при виконанні операції "commit". На різних вузлах транзакції можуть виконуватися в паралельному режимі. При виконанні транзакції забезпечується гарантована незмінність стану кластера в цілому, незалежно від інших виконуваних в даний момент транзакцій.
Реплікація виконується в паралельному режимі, на рівні рядків, з передачею тільки інформації про зміни. Управління приналежністю вузлів кластеру виконується автоматично, збійні вузли відразу виключаються з кластера без участі адміністратора, нові вузли при необхідності можна підключити на льоту без додаткової переконфігурації. Кластер може бути територіально розподілений на декілька дата-центрів, при цьому для клієнта забезпечується мінімальна затримка — при розміщенні вузлів в безпосередній близькості від клієнта, всі операції читання і запису будуть виконуватися з максимальною швидкістю, затримка буде відчуватися тільки при виконанні комітів транзакції.
З достоїнств MariaDB Galera відзначається можливість масштабування як операцій читання, так і запису. Зокрема, можлива розподілена організація запису, при якій вузли, на які вже зроблено запис за ланцюжком ініціюють запис на решту вузлів. Наприклад, у першій фазі запис паралельно проводиться на вузли різних дата-центрів, після чого ці вузли реплікують дані всередині кожного дата-центру, тобто по повільному каналу проходить тільки реплікація на один вузол з кожної групи.
У січні 2014 компанія SkySQL і спільнота розробників СУБД MariaDB представили[8] відкритий продукт MariaDB Enterprise 1.0, націлений на спрощення установки, налаштування і управління високодоступними кластерними конфігураціями на базі MariaDB і Galera Cluster. Сирцеві тексти компонентів MariaDB Enterprise опубліковані під ліцензією GPLv2. Готові складання надаються через репозиторій після безоплатної реєстрації.
Основу MariaDB Enterprise становить RESTful API, що дозволяє управляти об'єднаними в кластер вузлами MariaDB, а також дає можливість забезпечити інтеграцію зі сторонніми продуктами і популярними фреймворками автоматизації та управління конфігурацією. Поверх API реалізований вебінтерфейс, який надає засоби для централізованого і наочного моніторингу, супроводу програмного оточення вузлів і управління роботою кластера. Вузли можуть бути розгорнуті як на фізичних серверах, так і в системах віртуалізації і хмарних сервісах. У тому числі надаються засоби для автоматичного розгортання вузлів з установкою всіх необхідних для роботи перед-настроєних компонентів з репозиторію, локально кешованого на стороні керуючого вузла, на якому запускається MariaDB Enterprise.
Основу MariaDB Enterprise становить MariaDB Manager — інтерфейс для моніторингу та управління, який складається з таких компонентів:
Для організації роботи кластера на вузлах використовується кластерна СУБД MariaDB Galera, котра базується на кодовій базі MariaDB і технологіях Galera. Система надає засоби для організації синхронної реплікації даних між кількома вузлами (застосовується топологія active-active multi-master, що допускає читання і запис для будь-якого вузла), при якій всі вузли завжди містять актуальні дані. На різних вузлах транзакції можуть виконуватися в паралельному режимі, гарантуючи при цьому незмінність стану кластера в цілому, незалежно від виконуваних у даний момент транзакцій. Реплікація виконується в паралельному режимі, на рівні рядків, з передачею тільки інформації про зміни.
Існує кілька розробок третіх фірм, власницьких і вільних, спроєктованих для MySQL, і повністю готових для інтеграції з MariaDB. Зокрема, це:
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.