MariaDB
MariaDB jest otwarto‑źródłowym systemem zarządzania relacyjnymi bazami danych (RDBMS), opartym na języku SQL. Powstał jako fork MySQL w odpowiedzi na obawy społeczności dotyczące dalszego rozwoju tego projektu po przejęciu firmy Sun Microsystems przez Oracle Corporation. MariaDB jest rozwijana pod licencją GPL i utrzymywana przez społeczność oraz firmę MariaDB Corporation.
Historia
Projekt MariaDB został uruchomiony w 2009 roku przez oryginalnych twórców MySQL – Michaela "Monty" Wideniusa, Davida Axlera i innych deweloperów pracujących w firmie MySQL AB. Nazwa pochodzi od imienia córki Monty’ego, Maria. Po przejęciu MySQL przez Oracle w 2010 roku, społeczność obawia się, że projekt może zostać zamknięty lub ograniczony pod względem funkcjonalności, co przyspieszyło rozwój MariaDB jako w pełni otwartej alternatywy.
Architektura
MariaDB zachowuje kompatybilność z architekturą MySQL, w tym z silnikami przechowywania takimi jak InnoDB, MyISAM oraz własnym silnikiem Aria. Od wersji 10.0 wprowadzono wsparcie dla replikacji wielomaszynowej opartej na Galera Cluster, co umożliwia uzyskanie wysokiej dostępności i skalowalności.
Silniki przechowywania
- InnoDB – transakcyjny silnik domyślny, zapewniający pełne wsparcie dla ACID.
- Aria – silnik oparty na pamięci, dedykowany do szybkich operacji tymczasowych i analiz.
- MyISAM – starszy silnik nie‑transakcyjny, wciąż dostępny dla zastosowań wymagających bardzo szybkiego odczytu.
- ColumnStore – silnik kolumnowy przeznaczony do analizy hurtowni danych.
Funkcje i możliwości
- Pełna kompatybilność z MySQL – możliwość użycia istniejących aplikacji i migracji danych bez zmian w kodzie.
- Wsparcie dla SQL oraz rozszerzeń językowych, w tym procedur przechowywanych, wyzwalaczy i zdarzeń.
- Rozbudowane mechanizmy replikacji: tradycyjna replikacja binarna, równoległa oraz replikacja synchroniczna w oparciu o Galera.
- Wbudowany silnik pełnotekstowy oraz obsługa indeksów przestrzennych (GIS).
- Dynamiczne wtyczki silników pamięci masowej, umożliwiające łatwe rozszerzanie funkcjonalności.
- Obsługa kontenerów i chmur – obrazy Docker, wsparcie dla Kubernetes oraz usług typu Amazon RDS (w wersji MariaDB).
Kompatybilność i migracja
MariaDB stara się utrzymać wsteczną kompatybilność z MySQL, dzięki czemu migracja między tymi systemami jest zwykle realizowana poprzez proste podmiany binariów oraz aktualizację konfiguracji. Od wersji 10.5 wprowadzono rozbudowane narzędzie mysql_upgrade, które automatycznie dostosowuje istniejące bazy danych do nowej wersji.
Wykorzystanie
MariaDB jest szeroko stosowana w różnych środowiskach:
- Systemy LAMP – połączenie Linux, Apache, PHP i MariaDB.
- Rozwiązania chmurowe – obrazy dostępne dla Ubuntu, Debian, Red Hat Enterprise Linux i innych dystrybucji.
- Platformy e‑commerce, takie jak Magento czy PrestaShop, które domyślnie wspierają MariaDB.
- Systemy analityczne i hurtownie danych dzięki silnikowi ColumnStore.
Rozwój i wsparcie
Projekt jest rozwijany przez dwa główne zespoły:
- MariaDB Corporation – dostarcza komercyjne wersje z dodatkowymi funkcjami oraz wsparcie techniczne.
- Społeczność open‑source – utrzymuje główny kod źródłowy dostępny w repozytorium Git pod GPL.
Licencjonowanie
Podstawowy pakiet MariaDB jest udostępniany na licencji GPL‑2.0, co gwarantuje wolność użytkowania, modyfikacji i dystrybucji. Komercyjne edycje, takie jak MariaDB Enterprise, oferują dodatkowe moduły i wsparcie SLA.
Zobacz także
Bibliografia
- MariaDB Foundation – „MariaDB Documentation“, wersje od 2009 do 2024 roku.
- „The History of MySQL and MariaDB“, publikacja w Linux Magazine, 2015.
- „MariaDB vs. MySQL – porównanie pod kątem wydajności”, artykuł w OpenSource Weekly, 2021.