NOC online · 24/7Longview, TX · +1 323 412 0665
KinetikatechServers · Security · Websites
LT

Palygintos duomenų bazės

MySQL: numatytoji duomenų bazė, vis dar uždirbama

„MySQL“ yra duomenų bazė, kurioje veikia dauguma žiniatinklio, ne todėl, kad ji yra įdomi, o todėl, kad ji yra nuspėjama: „InnoDB“ ACID branduolys, replikacijos modelis, kurį palietė kiekvienas administratorius, ir ant viršaus sukurta skydelių, papildinių ir taikomųjų programų prielaidų ekosistema. Rimtas darbas susijęs su numatytaisiais konfigūracijos nustatymais, replikacijos disciplina ir žinojimu, kur 8 versija iš tikrųjų pelno savo sudėtingumą.

Pagrindiniai punktai

  1. „InnoDB“ yra saugyklos variklis, kuris yra svarbus: sugrupuoti pirminiai raktai, eilučių užrakinimas ir pakartotinis atkūrimas nuo gedimų; senieji MyISAM straipsniai, kuriuose rekomenduojami variklių apsikeitimai, paprastai yra ankstesni už realybę, kad šiuolaikinis MySQL dėklas yra 99% InnoDB ir juo labiau patenkintas.
  2. „MySQL 8“ atnaujinimo kančias pelnė turėdamas realias funkcijas: langų funkcijas, CTE, patobulintą EXPLAIN FORMAT=TREE, „Hermes“ klasės JSON tvarkymą per JSON_TABLE; srautai, kurie numatė „MariaDB forks“ pirmąją funkciją, labai susiaurėjo.
  3. Replikacija yra vieta, kur daroma karjera arba nutrūksta: GTID pagrįstos sąrankos leidžia valdyti topologiją (grandinę, kelių šaltinių), pusiau sinchronizuojama kaip kompromisas tarp našumo ir ilgaamžiškumo, o skaitymo ir kopijavimo delsa turi būti matuojama, o ne prielaida (pt-heartbeat stiliaus patikrinimai arba performance_schema pagrįsta delsa).
  4. Veiklos darbas prasideda nuo lėto užklausų žurnalo ir performance_schema: sakinių santraukos, indekso naudojimas ir schemos indeksavimas įveikia kiekvieną stebuklingą my.cnf parametrų sąrašą; Buferio baseino dydžio ir darbo rinkinys yra tikroji rankenėlė, kuri yra svarbi.
  5. Atkuriančios atsarginės kopijos: iškeltos darbo eigos (mysqldump --single-transaction) mažoms valdoms, fizinės momentinės kopijos (Percona xtrabackup-class), kad būtų užtikrintas greitis, ir momentinis atkūrimas visada tikrinamas pagal realų gedimų grafiką, o ne pagal dokumentacijos tinklelį.
  6. Numatytoji MySQL būsena ir toliau laimi: programų ekosistemos tai prisiima, skydeliai siunčia (dažnai keičiami į MariaDB), debesų operatoriai siūlo pigiai, o TVS papildinių ekosistemos (ypač „WordPress“) pirmiausia ją išbando; likti numatytajam reiškia likti patikrintam.

Pastaba iš praktikos

Geriausias mano matytas MySQL našumo darbas nebuvo konfigūracijos derinimo maratonas: tai buvo kūrėjas, ištrinantis tris indeksus, kurie kovojo su viena OLTP lentele dėl rašymo pralaidumo. Palyginimo panaikinimas prasideda lėtomis užklausų santraukomis, o ne tinklaraščio įrašais.

Dažniausiai užduodami klausimai

MySQL 8 arba MariaDB naujam projektui?

Nauji projektai be ekosistemos apribojimų: „MariaDB“ yra puikus numatytasis nustatymas, tačiau „MySQL 8“ turi pardavėjo ekosistemą, saugos pataisas ir replikacijos takelažą. Palyginkite funkcijas, kurių jums iš tikrųjų reikia, perskaitykite mūsų straipsnį „mysql-vs-postgresql“ dėl santykinio klausimo.

Ar norint pakeisti esamą MySQL į MariaDB reikia pakeitimų?

Dvejetainio formato versijų keitimas į ankstesnę versiją yra sudėtingiausias dalykas: MariaDB neskaito MySQL 8 duomenų žodyno. Loginis perkėlimas (išmetimas / įkėlimas) veikia, įskiepių pakeitimui reikia inventoriaus prieš įsipareigojant.

Pusiau sinchronizuotas replikavimas: verta delsos?

Tai sumažina tylų duomenų praradimą; Klasikinė taisyklė yra vienas iš dviejų nuoseklumo / našumo pasirinkimų su asinchronizavimu kaip bazine linija. Daugumai perkrautų darbo krūvių teisingas atsakymas yra pusiau sinchronizavimas ir patikrintas perkrovimas, o ne visiškas sinchronizavimas.

Kaip neleisti vienai lėtai svetainei užmušti dėžutę?

Kiekvienam vartotojui skirti ištekliai ("CloudLinux db_governor" bendrinamuose krūveliuose, tarpinio serverio užklausų ribojimas priekyje) ir lėtos užklausos disciplina; pati duomenų bazė neturi saugos diržo, nebent aplinka tai suteikia.

Kaip Kinetikatech padeda su palygintos duomenų bazės

Jums nereikia tapti palygintos duomenų bazės ekspertu: Duomenų bazės variklio parinktys, skirtos prieglobos darbo krūviams, palyginti su teisingumo garantijomis, eksploataciniu svoriu ir realiomis sąnaudomis: įterptieji varikliai su serveriais, MySQL su PostgreSQL, SQL su dokumentų saugyklomis, taip pat senas atvejo tyrimas, kuris vis grįžta. Būtent tam ir skirta Serverių administravimas ir Svetainės spartos optimizavimas: paleidimas, sutvirtinimas, stebėjimas ir budintis žmogus dieną ir naktį.

Pasikalbėkite su inžinieriumi

Serverio problema? Svetainė nukauta? Lėtas įkrovimas?

Kritincidentai sprendžiami per 30 minučių — 24 valandas per dieną, 7 dienas per savaitę.

Kreiptis skubios pagalbos support@kinetikatech.com