sql >> Databáze >  >> RDS >> Mysql

MySQL vs. MariaDB:co potřebujete vědět

Databáze MySQL i MariaDB mají nespornou shodu. V celosvětovém měřítku jsou to nejřazenější systémy pro správu databází. Abychom pochopili potřebu příměří MySQL vs. MariaDB, musíme se trochu vrátit v čase.

Než se MariaDB objevila, bylo to jen MySQL, které vládlo vesmíru systémů správy databází. Jeho popularita zůstala dlouho neotřesitelná. Mnohými je preferován jako spolehlivý DBMS také kvůli souvisejícímu základnímu programovacímu jazyku C++.

V roce 2008 pak proběhla akvizice MySQL AB, švédské společnosti provozující MySQL, společností Sun Microsystems. Nakonec v roce 2010 společnost Oracle posílila a získala Sun Microsystems. Od té doby Oracle nadále vlastní, spravuje a udržuje MySQL.

Během akvizice tohoto systému pro správu databází společností Oracle však její hlavní vývojáři a inženýři cítili, že Oracle Database Server (komerční databáze) vytváří střet zájmů s MySQL. Tato událost vedla k vytvoření MariaDB jako forku kódu MySQL.

Popularita těchto dvou systémů pro správu databází je i nadále zdánlivě vysoká z hlediska uživatelských preferencí. Nicméně, pokud jde o hodnocení, komunita vývojářů staví MySQL na o něco vyšší mísu než MariaDB.

MySQL versus MariaDB

Tento článek se snaží zdůraznit některé klíčové funkce, které tyto dva systémy pro správu databází poměrně odlišují.

Co je MySQL?

Tento systém správy relačních databází má primární cíl organizovat data uložená v databázi uživatele. Jeho použití je náchylné na webový server Apache a programovací jazyk PHP. Je oblíbený u distribucí operačních systémů Windows a Linux. Co se týče dotazování na databázi, MySQL využívá jazyk SQL.

Co je MariaDB?

Tento DBMS existuje jako vidlice kódové základny MySQL. Jedná se o systém pro správu relačních databází. Z možností zpracování dat těží jak podniky, tak malé úkoly. Můžete se na to dívat jako na vylepšenou verzi MySQL, pokud jde o vylepšení zabezpečení, výkonu a použitelnosti, kromě mnoha a výkonných vestavěných funkcí.

Shrnutí funkcí MySQL versus MariaDB

MySQL i MariaDB nabízejí svým příslušným uživatelským komunitám jedinečnou sadu funkcí.

Funkce MySQL

Níže jsou uvedeny jeho důležité vlastnosti:

  • Vysoká dostupnost
  • Flexibilita a škálovatelnost
  • vysoký výkon
  • Síla skladu na webu a datech
  • Podpora robustních transakcí

Funkce MariaDB

Níže jsou uvedeny jeho důležité vlastnosti:

  • Podpora zpětné kompatibility
  • Percona Server, také fork serveru MySQL.
  • Open source software
  • Podpora nových úložišť (FederatedX, XtraDB, Maria, PBXT)
  • Je to přímá větev verze komunity MySQL.

Porovnání výkonu MySQL versus MariaDB

MariaDB zrcadlí lepší rozsah výkonu než MySQL díky několika optimalizacím, které jsou s ní spojeny. Je to primární vize za jeho vývojem jako alternativního systému pro správu relačních databází k MySQL.

Zobrazení databáze

Běžná databáze je spojena s běžnými tabulkami. „Pohledy“ lze zobrazit jako virtuální databázové tabulky. Stejným způsobem, jakým se dotazujete na běžné databázové tabulky, se dotazujete na tyto virtuální databázové tabulky. Způsob, jakým dotazujete pohledy, proto do značné míry určuje optimalizaci výkonu souvisejícího systému správy databází.

Dotazování pohledu v MySQL vytváří výsledek dotazu, který spojuje všechny tabulky přidružené k tomuto pohledu. Tento dotaz vytváří další výsledky zobrazení, které nejsou potřeba. Optimalizace MariaDB se stará o takovou zbytečnou výsledkovou bagáž. Databázový dotaz bude hledat pouze tabulky s ním spojené a nepřinese nic navíc.

ColumnStore

Tato funkce je výkonná výkonnostní improvizace spojená s MariaDB. Umožňuje škálování v MariaDB díky atributu distribuované datové architektury. Výsledkem je, že databázový cluster s různými servery se lineárně škáluje, aby se usnadnilo ukládání petabajtů dat.

Lepší výkon v úložišti flash

Úložný engine MyRocks v MariaDB je zodpovědný za přidání databáze RocksDB. Primárním cílem návrhu této databáze je usnadnit lepší výkon flashového úložiště pomocí vysokoúrovňové komprese dat.

Segmentovaná mezipaměť klíčů

Tato funkce výkonu je také zodpovědná za zlepšení výkonu MariaDB. Normální operace mezipaměti zahrnuje soutěž mezi různými vlákny o uzamčení položky uložené v mezipaměti. Kolektivní identita těchto zúčastněných zámků je Mutexy. Tyto zámky musí tyto mutexy zestárnout, aby je mohly používat. O jeden mutex tedy často soutěží více vláken.

Vítězné vlákno může být pouze jedno. Ostatní vlákna, která nemohou získat třídicí mutex, musí čekat ve frontě na vítězné vlákno, které jej použije jako první. Jakmile je mutex uvolněn, probíhá další soutěž podprocesů – tento konkurenční přístup zabezpečení mutexu pro provádění naplánované operace má za následek zpoždění při provádění. Výsledkem je také zpomalení výkonu databáze.

V případě segmentované mezipaměti klíčů mají operace vláken jiný přístup. Celá stránka není pod zámkem. Místo toho je jedinou ovlivněnou částí stránky část spojená s konkrétním cíleným segmentem. Tento koncept vede k tomu, že více vláken plní své úkoly prostřednictvím paralelního provádění svých operací. Výsledkem je, že databáze zahrnuje lepší výkon díky paralelismu aplikací.

Virtuální sloupce

Tato zajímavá funkce je také pod křídly podpory databáze MariaDB. Možnosti virtuálních sloupců pomáhají MariaDB při provádění výpočtů na úrovni databáze. Tato funkce je užitečná, když více aplikací potřebuje přístup k jednomu sloupci. Databáze zpracovává jednotlivé výpočty související s aplikací namísto ponechání úkolu uživateli databáze. MySQL bohužel nemá to štěstí, aby tuto funkci přijala.

Paralelní provádění dotazů

Od MariaDB 10.0 je nyní možné provádět více dotazů současně nebo vedle sebe. Funkční přístup této funkce má zajímavý přístup. Hlavní hostitel hostí všechny dotazy naplánované k provedení a některé pak replikuje na Slave. Vytváří příležitost pro provádění těchto dotazů ve stejnou dobu, tedy paralelní provádění. MariaDB přijímá tuto funkci paralelního provádění dotazů a poskytuje jí neocenitelnou výhodu oproti MySQL.

Sdružování vláken

Tato funkce je také dalším zajímavým konceptem v doméně MariaDB. Před implementací požadované databázové připojení spojovalo každé připojení s vláknem. Základní architekturou pro úspěšné připojení k databázi byl tedy přístup „jedno vlákno na připojení“.

Sdružování vláken věci změnilo. Nové připojení provede výběr z fondu otevřených vláken před provedením databázových dotazů. Zabraňuje nutnosti otevírání nových vláken pokaždé, když je potřeba nový požadavek na připojení. Tato funkce podporuje rychlejší výsledky dotazů. MySQL Enterprise Edition je hostitelem této funkce, ale totéž nelze říci o její Community Edition.

Ukládací moduly

Úložné moduly pod MySQL jsou nejen výkonné, ale také hotové. Totéž se bohužel nedá říci o MySQL. Příklady takto výkonných motorů zahrnují Aria a XtraDB. MySQL je dostatečně rozšiřitelné, aby se do něj vešly některé z těchto úložných enginů, ale bude vyžadovat, aby uživatel databáze měl technické znalosti pro jejich implementaci prostřednictvím ruční instalace. Tento požadavek jej znemožňuje novým uživatelům databáze.

Kompatibilita

MariaDB dělá bezproblémové kroky k existenci v aplikacích podporovaných MySQL a překonává ji. Jak jste si možná všimli, každé vydání verze MySQL je spojeno s nemesis verzí MariaDB s podobným číslem verze, aby bylo možné indikovat její obecnou kompatibilitu. Stručně řečeno, MariaDB říká:„co umí MySQL, mohu udělat lépe“.

Další výhodou tohoto přístupu je, že přechod z MySQL na MariaDB se stává bezproblémovým, protože uživatel databáze nemusí vynakládat technické záležitosti na změnu jakékoli aplikační kódové základny.

Open source versus proprietární databáze

Jméno Oracle dělá z MySQL obří projekt, který zařazuje mnoho podniků a organizací po celém světě. Tato sláva má však své výhody i nevýhody. Jednou z hlavních nevýhod je vydání funkcí ve velkých nebo velkých organizacích. Navíc tento proces obvykle zabere spoustu času.

Na druhou stranu, open source povaha MariaDB nebrání tomu, aby přijala externí příspěvky, vylepšení a nové funkce. V důsledku toho je to obrovský rozhodující faktor pro mnoho uživatelů, kteří si nejsou jisti, zda jít s MySQL nebo MariaDB.

Klíčové rozdíly mezi MariaDB a MySQL

  • Počet úložných enginů v MariaDB je vyšší než v MySQL. MariaDB jich má 12, což je mnohem více než ty v dokumentaci MySQL.
  • Pokud jde o životaschopné fondy připojení, MariaDB má více než 200 000 podporovaných připojení. Číslo fondu připojení podporované MySQL je menší.
  • Abychom porozuměli metrikám výkonu těchto dvou databází, budeme se muset podívat na rychlost jejich replikace. MariaDB se replikuje mnohem rychleji než MySQL.
  •  Otevřená dostupnost MySQL Community Edition pro komunitu RDBMS z ní nedělá plně otevřený zdroj kvůli přítomnosti nějakého proprietárního kódu, který definuje Enterprise Edition této databázové aplikace. Na druhou stranu je MariaDB plně open source.
  • Podpora MySQL pro dynamické sloupce a maskování dat je výhodou oproti MariaDB.
  • Pokud jde o rychlost výkonu, můžeme zobecnit, že MariaDB překonává MySQL, pokud jde o rychlost.

Hlavní rozdíly mezi MariaDB a MySQL  

  • Pokud jde o podporu serverových operačních systémů pro tyto dva systémy pro správu databází, OS X jako jediný chybí na seznamu MariaDB, ale je přítomen na MySQL.
  • MySQL postrádá nové funkce a rozšíření MariaDB, jako jsou příkazy KILL, WITH a JSON.
  • Pro každou funkci poskytovanou v podnikové verzi MySQL nachází MariaDB pohodlí v alternativních pluginech s otevřeným zdrojovým kódem.
  • MariaDB chrání svůj proprietární obsah prostřednictvím uzavřeného prioritního kódu zdroje. Enterprise Edition MySQL také využívá určitý proprietární kód k ochraně svého obsahu.
  • MariaDB nepodporuje maskování dat. Tato podpora je evidentní v MySQL.
  • MySQL podporuje dynamické sloupce, zatímco MariaDB ne.
  • MariaDB provádí monitorování databáze prostřednictvím SQLyog, zatímco MySQL dosahuje stejného cíle prostřednictvím MySQL Workbench.
  • MariaDB zpracovává směrování přes MariaDB MaxScale. MySQL dělá totéž prostřednictvím MySQL Router.
  • MariaDB ColumnStore zpracovává analýzy MariaDB. Tato funkce v MySQL chybí.
  • Sekundární databázový model je připisován Document Store a Graph DBMS v MariaDB. MySQL připisuje pouze úložišti dokumentů.
  • MariaDB má rostoucí 2,8 tisíc hvězd Github, zatímco MySQL vede se 4 tisíci hvězdami Github.
  • Nedávno zaznamenaný fork MariaDB byl 868, zatímco MySQL vede s 1,6 K forkmi.

MySQL versus MariaDB Přednosti a nedostatky 

Pokud potřebujete další vysvětlení ohledně výběru mezi MySQL a MariaDB, podívejte se na následující krátké body s nadpisem.

Proč používat MySQL?

Dva faktory přesně zdůrazňují a shrnují užitečnost MySQL jako systému správy relačních databází.

  • Jeho podpora pro více úložišť je nepřetržitá, na rozdíl od systémů s podporou jednoho úložiště, jako jsou servery SQL.
  • Výše zmíněná podpora více úložišť dělá z MySQL vysoce výkonný systém správy relačních databází. Hlavním přispěvatelem k jeho bezchybnému výkonu je však jednoduchost designu RDBMS.

Proč používat MariaDB?

  • Je funkční pod licencemi BSD, GPL a LGPL.
  • Jeho podpora pro SQL jako standardní dotazovací jazyk je platná.
  • Je vybaven mnoha a vysoce výkonnými úložnými moduly. Tyto moduly úložiště jsou škálovatelné a dobře se integrují s alternativními systémy správy relačních databází.
  • Přichází s pokroky technologie Galera Cluster.
  • Pro webové vývojáře se MariaDB dobře synchronizuje s popularitou programovacího jazyka PHP.

Nevýhody MySQL

  • Škálování tohoto RDBMS není snadný úkol.
  • Nelze jej plně rozšířit do komunity MySQL kvůli omezením ze strany jeho vlastníka, společnosti Oracle.
  •  Jeho design a metriky výkonu mu nevyhovují ke zpracování velkých dat.
  • Je rozmazaný z klientských aplikací, a proto není vidět.
  • Databázový server může snadno utrpět vysoké zatížení způsobené spouštěči.

Nevýhody MariaDB

  • Vzhledem k tomu, že MariaDB je stále novou tváří v databázové komunitě, mnoho uživatelů je stále skeptických ohledně její plné implementace a použití.
  • Svoboda MariaDB jako hostitele bezplatných databázových strojů znamená, že uživatelská podpora bude muset něco zaplatit.

Poznámka na závěr  

Mezi známé společnosti spojené s MariaDB patří Grooveshark, Accenture, Docplanner a Nrise. Pokud jde o MySQL, máme Dropbox, Uber Technologies, Netflix a Airbnb. Historie mezi těmito dvěma systémy správy relačních databází je tlačí k tomu, aby pro své uživatelské komunity produkovaly ty nejlepší verze sebe sama.

Není pochyb o tom, že výkonnost a epické vlastnosti MariaDB z něj dělají sílu, se kterou je třeba v komunitě RDBMS počítat. Některé z jeho užitečných funkcí jsou také životaschopné v MySQL. A konečně, povaha MariaDB bohatá na funkce z ní dělá vynikající primární backendovou databázi.

Pokud již používáte licenci Oracle, jste stále v bezpečí pod MySQL. MariaDB se však doporučuje uživatelům a podnikům, které začínají zkoumat horizonty systémů pro správu relačních databází. Budete mít více možností k prozkoumání bez jakýchkoli cenovek. Pokud plně rozumíte MySQL, pak přechod na MariaDB snadno odhalí rozlišující faktory, které budete muset důkladně zvážit. Hodně štěstí při výběru ideálního systému pro správu relačních databází.


  1. Konfigurace Pentaho Data Integration pro použití Oracle Wallet pro Oracle Cloud

  2. IS NOT NULL test pro záznam nevrací hodnotu TRUE, když je nastavena proměnná

  3. Monitorování vašich databází pomocí MySQL Enterprise Monitor

  4. 2 způsoby, jak získat minuty z hodnoty data a času v databázi Oracle