Primerjava zbirk podatkov
MySQL: privzeta zbirka podatkov, ki jo še vedno zasluži
MySQL je baza podatkov, na kateri teče večina spleta, ne zato, ker je vznemirljiva, temveč zato, ker je predvidljiva: ACID jedro InnoDB, model replikacije, ki se ga je dotaknil vsak skrbnik, in ekosistem plošč, vtičnikov in predpostavk aplikacij, zgrajenih na vrhu. Resno delo je v privzetih nastavitvah konfiguracije, disciplini replikacije in vedenju, kje različica 8 dejansko zasluži svojo zapletenost.
Ključne točke
- InnoDB je motor za shranjevanje, ki je pomemben: primarni ključi v gručah, zaklepanje vrstic in obnovitev, varna ob zrušitvi; podedovani članki MyISAM, ki priporočajo zamenjave mehanizmov, so običajno nastali pred resničnostjo, da je sodoben sklad MySQL 99 % InnoDB in je zaradi tega srečnejši.
- MySQL 8 si je prislužil nadgradnjo z resničnimi funkcijami: okenske funkcije, CTE, izboljšan EXPLAIN FORMAT=TREE, upravljanje JSON razreda Hermes prek JSON_TABLE; tokovi, ki so predvidevali trženje na prvem mestu vilic MariaDB, so se precej zmanjšali.
- Replikacija je tam, kjer se ustvarjajo ali prekinejo kariere: nastavitve, ki temeljijo na GTID, naredijo topologijo (veriga, več virov) obvladljivo, delno sinhronizirano kot kompromis med zmogljivostjo in vzdržljivostjo, zakasnitev branja-replikacije pa je treba izmeriti in ne predvidevati (preverjanja v slogu pt-heartbeat ali zakasnitev na podlagi performance_schema).
- Delo v zvezi z zmogljivostjo se začne s počasnim dnevnikom poizvedb plus performance_schema: izvlečki stavkov, uporaba indeksa in indeksiranje najprej s shemo premagajo vsak čarobni seznam parametrov my.cnf; velikost vmesnega bazena v primerjavi z delovnim nizom je pravi gumb, ki je pomemben.
- Varnostne kopije, ki obnovijo: delovni tokovi na podlagi izpisa (mysqldump --single-transaction) za majhne posesti, fizični posnetki (percona xtrabackup-class) za hitrost in obnovitev v trenutku, vedno preizkušena glede na dejanski urnik izpadov, ne na mrežo dokumentacije.
- Kjer privzeti status MySQL vedno zmaguje: aplikacijski ekosistemi ga prevzamejo, plošče ga pošljejo (pogosto zamenjajo za MariaDB), operaterji v oblaku ga zagotovijo poceni, ekosistemi vtičnikov CMS (zlasti WordPress) pa ga najprej preizkusijo; ostati privzet pomeni ostati preizkušen.
Terenska beležka
Najboljše delo glede zmogljivosti MySQL, ki sem ga kdaj videl, ni bil maraton prilagajanja konfiguracije: bil je razvijalec, ki je izbrisal tri indekse, ki so se borili z eno tabelo OLTP za prepustnost pisanja. Razveljavitev primerjalne analize se začne v počasnih povzetkih poizvedb, ne v objavah v spletnem dnevniku.
Pogosta vprašanja
MySQL 8 ali MariaDB za nov projekt?
Novi projekti brez omejitev ekosistema: MariaDB je dobra privzeta nastavitev, vendar ima MySQL 8 ekosistem proizvajalca, varnostne popravke in opremo za replikacijo. Primerjajte funkcije, ki jih dejansko potrebujete, preberite naš članek mysql-vs-postgresql za relacijsko vprašanje.
Ali preklop obstoječega MySQL na MariaDB zahteva spremembe?
Prehodi na nižjo različico v različicah binarnega formata so težava: MariaDB ne bere podatkovnega slovarja MySQL 8. Logična selitev (izpis/nalaganje) deluje, zamenjava vtičnika zahteva inventar pred predajo.
Polsinhronizirano podvajanje: vredno zakasnitve?
Zmanjša tiho izgubo podatkov pri samodejnem preklopu; klasično pravilo je ena od dveh izbir doslednosti/zmogljivosti z async kot osnovo. Za večino preobremenjenih delovnih obremenitev je pravi odgovor delna sinhronizacija in preizkušen samodejni preklop, ne popolna sinhronizacija.
Kako preprečim, da bi eno samo počasno mesto uničilo polje?
Viri na uporabnika (CloudLinux db_governor na skladih v skupni rabi, omejevanje poizvedb proxy spredaj) in disciplina počasnih poizvedb; baza podatkov sama nima varnostnega pasu, razen če ji ga okolje omogoča.
Kako Kinetikatech pomaga s primerjava zbirk podatkov
Predlog je enostaven: Izbire mehanizma baze podatkov za gostovanje delovnih obremenitev, v primerjavi z jamstvi za pravilnost, operativno težo in dejanskim stroškom: vgrajeni motorji proti strežnikom, MySQL proti PostgreSQL, SQL proti shrambam dokumentov, plus študija starega primera, ki se vedno znova vrača. Zaverejte si storitve Upravljanje strežnikov in Optimizacija hitrosti spletnega mesta in imete popolno pokritje: serijozna evaluacija, čista implementacija, neprekinjen monitoring.