sql >> Database >  >> RDS >> Mysql

Percona XtraBackup vergelijken met MySQL Enterprise Backup:deel één

Als het gaat om back-ups en gegevensarchivering, staan ​​IT-afdelingen vaak onder druk om te voldoen aan strikte serviceovereenkomsten en om robuustere back-upprocedures te leveren die de uitvaltijd minimaliseren, het back-upproces versnellen, minder en voldoen aan strenge beveiligingseisen.

Er zijn meerdere manieren om een ​​back-up te maken van een MySQL-database, maar we kunnen deze methoden in twee groepen verdelen - logisch en fysiek.

Logische back-ups bevatten gegevens die worden geëxporteerd met SQL-opdrachten en worden opgeslagen in een bestand. Het kan bijvoorbeeld een set SQL-commando's zijn die, wanneer ze worden uitgevoerd, resulteren in het herstellen van de inhoud van de database. Met enkele aanpassingen aan de syntaxis van het uitvoerbestand, kunt u uw back-up opslaan in CSV-bestanden.

Logische back-ups zijn eenvoudig uit te voeren, alleen met een one-liner kunt u een back-up maken van al uw tabellen, databases of alle mysql-databases in de instantie.

Helaas hebben logische back-ups veel beperkingen. Ze zijn meestal langzamer dan een fysieke. Dit komt door de overhead die nodig is om SQL-commando's uit te voeren om de gegevens eruit te krijgen en vervolgens om een ​​andere set SQL-commando's uit te voeren om de gegevens weer in de database te krijgen. Ze zijn minder flexibel, tenzij u complexe back-upworkloads schrijft die meerdere stappen zouden omvatten. Het werkt niet goed in een parallelle omgeving, biedt minder beveiliging, enzovoort, enzovoort.

Fysieke back-ups in MySQL World

MySQL wordt niet geleverd met online fysieke back-up voor community-editie. U kunt betalen voor een Enterprise-versie of een tool van derden gebruiken. De meest populaire tool van derden op de markt is XtraBackup. Die gaan we vergelijken in dit blogartikel.

Percona XtraBackup is de zeer populaire, open-source MySQL/MariaDB hot back-upsoftware die niet-blokkerende back-ups maakt voor InnoDB- en XtraDB-databases. Het valt in de categorie fysieke back-ups, die bestaat uit exacte kopieën van de MySQL-gegevensmap en de bestanden eronder.

Een van de grootste voordelen van XtraBackup is dat het uw database niet vergrendelt tijdens het back-upproces. Voor grote databases (100+ GB) biedt het een veel betere hersteltijd in vergelijking met mysqldump. Het herstelproces omvat het voorbereiden van MySQL-gegevens uit de back-upbestanden, voordat deze worden vervangen of vervangen door de huidige gegevensmap op het doelknooppunt.

Percona XtraBackup werkt door het logvolgnummer (LSN) te onthouden wanneer het wordt gestart en kopieert vervolgens de gegevensbestanden naar een andere locatie. Het kopiëren van gegevens kost tijd en als de bestanden veranderen, weerspiegelen ze de toestand van de database op verschillende tijdstippen. Tegelijkertijd voert XtraBackup een achtergrondproces uit dat de transactielogboekbestanden (ook wel redo-logbestanden genoemd) in de gaten houdt en wijzigingen daaruit kopieert. Dit moet continu worden gedaan omdat de transactielogboeken op een round-robin-manier worden geschreven en na een tijdje opnieuw kunnen worden gebruikt. XtraBackup heeft de transactielogboekrecords nodig voor elke wijziging in de gegevensbestanden sinds de uitvoering ervan begon.

Door deze tool te gebruiken kun je:

  • Maak hete InnoDB-back-ups, die snel en betrouwbaar worden voltooid, zonder uw database te pauzeren of de server te belasten
  • Maak incrementele back-ups
  • Tabellen online tussen MySQL-servers verplaatsen
  • Maak eenvoudig nieuwe MySQL-replicatieslaves
  • Stream gecomprimeerde MySQL-back-ups naar een andere server
  • Bespaar op schijfruimte en netwerkbandbreedte

MySQL Enterprise Backup levert hot, online, niet-blokkerende back-ups op meerdere platforms. Het is geen gratis back-uptool, maar het biedt veel functies. De standaard licentiekosten bedragen $ 5000 (maar kunnen variëren afhankelijk van uw overeenkomst met Oracle.) 

Back-upproces ondersteunde platforms

MySQL Enterprise

Het kan draaien op Linux, Windows, Mac &Solaris. Wat essentieel is, kan ook een back-up op tape opslaan, wat meestal een goedkopere oplossing is dan schrijven naar schijven. Het direct schrijven op tape ondersteunt integratie met Veritas Netbackup, Tivoli Storage Manager en EMC NetWorker.

XtraBackup

XtraBackup kan alleen op het Linux-platform draaien, wat ongetwijfeld een showstopper kan zijn voor degenen die op Windows draaien. Een oplossing hier is misschien replicatie naar de slaaf die op Linux draait en vanaf daar een back-up uitvoert.

Belangrijkste verschillen in back-upproces

MySQL Enterprise Backup biedt een uitgebreide reeks back- en herstelfuncties en -functionaliteit, waaronder aanzienlijke prestatieverbeteringen ten opzichte van bestaande MySQL-back-upmethoden.

Oracle laat zien dat Enterprise-back-up zelfs 49x sneller is dan mysqldump. Dat kan natuurlijk variëren, afhankelijk van uw gegevens, maar er zijn veel functies om het back-upproces te verbeteren. Een parallelle back-up is zeker een van de grootste verschillen tussen mysqldump en Enterprise back-up. Het verhoogt de prestaties door multi-threaded verwerking. De meest interessante functie is echter compressie.

--comprimeren

Maakt een back-up in gecomprimeerd formaat. Voor een regelmatige back-up worden van alle opslagengines die door MySQL worden ondersteund, alleen gegevensbestanden van het InnoDB-formaat gecomprimeerd, en ze dragen de .ibz-extensie na de compressie. Evenzo worden voor een back-up met één afbeelding alleen gegevensbestanden van het InnoDB-formaat in de back-upafbeelding gecomprimeerd. De binaire log- en relay-logbestanden worden gecomprimeerd en opgeslagen met de .bz-extensie wanneer ze worden opgenomen in een gecomprimeerde back-up.

-compress-method=zlib,lz4(default), lzma, punch-hole

--compress-level=LEVEL(0-9)

--include-tables=REGEXP

MySQL-back-ups met ClusterControl

ClusterControl stelt je in staat om back-ups te plannen met XtraBackup en mysqldump. Het kan de back-upbestanden lokaal opslaan op het knooppunt waar de back-up wordt gemaakt, of de back-upbestanden kunnen ook naar het controllerknooppunt worden gestreamd en on-the-fly worden gecomprimeerd. Het ondersteunt geen MySQL Enterprise-back-up, maar met de uitgebreide functies van mysqldump en XtraBackup kan het een goede optie zijn.

ClusterControl is het allesomvattende open source databasebeheersysteem voor gebruikers met gemengde omgevingen. Het biedt geavanceerde functionaliteit voor back-upbeheer voor MySQL of MariaDB.

Met ClusterControl kunt u:

  • Back-upbeleid maken
  • Bewaak de back-upstatus, uitvoeringen en servers zonder back-ups
  • Back-ups en herstel uitvoeren (inclusief herstel op een bepaald tijdstip)
  • Behoud van back-up beheren
  • Back-ups opslaan in cloudopslag
  • Back-ups valideren (volledige test met herstel op de zelfstandige server)
  • Back-ups coderen
  • Back-ups comprimeren
  • En vele anderen

Conclusie

Als DBA moet je ervoor zorgen dat er regelmatig een back-up van de databases wordt gemaakt en dat de juiste herstelprocedures aanwezig en getest zijn. Zowel Percona XtraBackup als MySQL Enterprise Backup bieden DBA's een krachtige, online back-upoplossing met datacompressie- en encryptietechnologie om te garanderen dat uw gegevens beschermd zijn in het geval van downtime of uitval

Back-ups moeten worden gepland volgens de herstelvereisten. Gegevensverlies kan geheel of gedeeltelijk zijn. U hoeft bijvoorbeeld niet altijd alle gegevens te herstellen. In sommige gevallen wilt u misschien een gedeeltelijk herstel uitvoeren door ontbrekende tabellen of rijen te herstellen. Met de bereikfunctieset zouden beide oplossingen een geweldige vervanging zijn van mysqldump, wat nog steeds een zeer populaire methode is om de back-up te maken. Het hebben van mysqldump is ook belangrijk voor gedeeltelijk herstel, waarbij beschadigde databases kunnen worden gecorrigeerd door de inhoud van de dump te analyseren. Met binaire logboeken kunnen we herstel op een bepaald tijdstip bereiken, bijvoorbeeld tot vlak voordat de MySQL-server uitviel.

Dit is allemaal voor deel één, in het volgende deel gaan we de prestaties van beide oplossingen testen en enkele echte back-up- en herstelscenario's uitvoeren.


  1. Oracle.DataAccess.Client-afhankelijkheden

  2. MySQL GREATEST()-functie - Vind het grootste argument in een lijst met argumenten

  3. MySQL-prestaties:MyISAM versus InnoDB

  4. Verwijder meerdere rijen door selectievakjes te selecteren met PHP