Porovnanie databáz
MySQL: Predvolená databáza, stále to zarába
MySQL je databáza, na ktorej beží väčšina webu, nie preto, že je vzrušujúca, ale preto, že je predvídateľná: ACID jadro InnoDB, replikačný model, ktorého sa dotkol každý správca, a ekosystém panelov, doplnkov a aplikačných predpokladov postavených na vrchole. Vážna práca spočíva v predvolených nastaveniach konfigurácie, disciplíne replikácie a poznaní, kde verzia 8 skutočne získava svoju zložitosť.
Kľúčové body
- InnoDB je úložný modul, na ktorom záleží: klastrované primárne kľúče, uzamykanie riadkov a obnova pri zlyhaní; staršie články MyISAM, ktoré odporúčajú výmeny enginu, zvyčajne predchádzajú realite, že moderný zásobník MySQL je na 99 % InnoDB a je preň šťastnejší.
- MySQL 8 si vyslúžil problémy s aktualizáciou skutočnými funkciami: funkcie okien, CTE, vylepšený EXPLAIN FORMAT=TREE, spracovanie JSON triedy Hermes cez JSON_TABLE; toky, ktoré predpovedali marketing vidlice MariaDB ako prvý, sa značne zúžili.
- Replikácia je miesto, kde sa vytvárajú alebo prerušujú kariéry: nastavenia založené na GTID umožňujú spravovať topológiu (reťaz, viac zdrojov), polosynchronizáciu ako kompromis medzi výkonom a odolnosťou a oneskorenie čítania a repliky sa musí merať, nepredpokladá sa (kontroly v štýle pt-heartbeat alebo latencia založená na performance_schema).
- Práca s výkonom začína pomalým protokolom dotazov plus performance_schema: súhrny príkazov, použitie indexu a indexovanie podľa schémy porazilo každý magický zoznam parametrov my.cnf; Veľkosť vyrovnávacej pamäte vs pracovná sada je skutočným gombíkom, na ktorom záleží.
- Zálohy, ktoré obnovujú: pracovné toky založené na výpise (mysqldump --single-transaction) pre malé nehnuteľnosti, fyzické snímky (trieda Percona xtrabackup) pre rýchlosť a obnova v určitom čase sa vždy testujú podľa skutočného plánu výpadkov, nie podľa mriežky dokumentácie.
- Tam, kde predvolený stav MySQL stále víťazí: aplikačné ekosystémy ho predpokladajú, panely ho dodávajú (často vymenené za MariaDB), cloudoví operátori ho poskytujú lacno a ekosystémy doplnkov CMS (najmä WordPress) najprv testujú; zostať v predvolenom nastavení znamená zostať testovaný.
Poznámka z teréna
Najlepšia práca na výkone MySQL, akú som kedy videl, nebol maratón ladenia konfigurácie: bol to vývojár, ktorý vymazal tri indexy, ktoré bojovali s jednou tabuľkou OLTP o priepustnosť zápisu. Zrušenie porovnávania začína v pomalých súhrnoch dopytov, nie v blogových príspevkoch.
Často kladené otázky
MySQL 8 alebo MariaDB pre nový projekt?
Nové projekty bez obmedzení ekosystému: MariaDB je dobrá predvolená hodnota, ale MySQL 8 má ekosystém dodávateľa, bezpečnostné záplaty a replikáciu. Porovnajte funkcie, ktoré skutočne potrebujete, prečítajte si náš článok mysql-vs-postgresql s otázkou týkajúcou sa vzťahov.
Vyžaduje si prechod existujúceho MySQL na MariaDB zmeny?
Prechod na nižšiu verziu vo verziách binárneho formátu je tvrdý okraj: dátový slovník MySQL 8 nečíta MariaDB. Logická migrácia (výpis/načítanie) funguje, nahradenie doplnku si vyžaduje inventár pred záväzkom.
Polosynchronizovaná replikácia: stojí za to latencia?
Znižuje stratu údajov pri tichom zlyhaní; klasickým pravidlom je jedna z dvoch možností konzistencie/výkonu s async ako základnou líniou. Pre väčšinu preťažených pracovných zaťažení je správnou odpoveďou polosynchronizácia plus testované núdzové prepnutie, nie úplná synchronizácia.
Ako zastavím jednu pomalú stránku, aby zabila krabicu?
Zdroje pre jednotlivých používateľov (CloudLinux db_governor na zdieľaných zásobníkoch, obmedzenie proxy dotazov vpredu) plus disciplína pomalého dopytovania; samotná databáza nemá žiadny bezpečnostný pás, pokiaľ mu ho okolie nedá.
Ako Kinetikatech pomáha s porovnanie databáz
To je to, čo robíme každý deň: Možnosti databázového stroja pre hosťovanie pracovných zaťažení v porovnaní so zárukami správnosti, prevádzkovou hmotnosťou a skutočnými nákladmi: vstavané motory proti serverom, MySQL proti PostgreSQL, SQL proti skladom dokumentov, plus stará prípadová štúdia, ktorá sa neustále vracia. Naša služba Správa serverov a Optimalizácia rýchlosti webu pokrýva všetko od hodnotenia po implementáciu, monitoring 24/7 a núdzovú reakciu do 30 minút.