enterprise_systems_architecture

Moderné nástroje na správu databáz automatizujú zmeny schémy a zálohy

Modern database management tools automate schema changes and backups.

Moderné nástroje na správu databáz automatizujú zmeny schémy a zálohy

Photo: W.carter / Wikimedia Commons / CC BY 4.0

Moderné nástroje na správu databáz automatizujú zmeny schémy a zálohy. Toto je praktická odpoveď a je to tá časť, ktorá má najväčší význam, keď tímy prevádzkujú živé systémy v prostredí viac ako jednej inštancie.

Vzorec je jasný. Zmeny schémy už nie sú považované za jednorazové úpravy v konzole databázy. Spravujú sa ako verzónované zmeny, často pomocou migračných súborov alebo skriptovaných úloh, takže tímy môžu aplikovať rovnakú zmenu vo vývojárskom, testovacom a produkčnom prostredí s menším rozdielom (drift). Práca so zálohami je tiež menej manuálna, než tomu bolo kedysi. Mnohé moderné nástroje naplánujú zálohy, udržiavajú synchronizáciu replikácie alebo dát na obnovu a robia kroky obnovy súčasťou bežného administračného toku.

Myslíme si, že tento posun má význam, pretože mení tvar rizika. Zmena schémy nie je len technickou úpravou. Je to udalosť vydania. Ak sa zmena tabuľky, indexu alebo premenovanie stĺpca nesleduje dostatočne dobre, zlyhanie sa môže rozšíriť do kódu aplikácie, reportov a plánov obnovy. Nástroje, ktoré udržiavajú migrácie v poriadku, pomáhajú tímom vidieť, čo sa zmenilo a kedy. Tiež ujasňujú cesty spätného prevádzkovania (rollback), keď nasadenie zlyhá.

Zálohy nasledujú rovnakú logiku. Záloha, ktorá závisí od toho, či si človek spomenie na nočnú úlohu, je krehká. Moderné nástroje bežne podporujú naplánované úplné, diferenčné a denníkové zálohy alebo spravované snapshot úlohy v cloudových systémoch. Niektoré tiež podporujú zachytávanie zmien dát a kontinuálnu synchronizáciu, čo pomáha udržovať cieľovú kópiu aktuálnu počas migrácie alebo práce pri prepínaní do záložného režimu (failover). To neodstraňuje potrebu testov, ale znižuje množstvo ručnej práce v rutinách.

Jedna užitočná podrobnosť je, že automatizácia schémy a automatizácia záloh riešia rôzne problémy, aj keď sedia v tej istej platforme. Nástroje na schému chránia štruktúru. Nástroje na zálohy chránia dáta a obnovu. Tím môže mať jeden bez druhého a práve v tejto medzere často začína problém. Pekný skript migrácie nepomôže, ak je najnovšia záloha stará. Čerstvá záloha nepomôže, ak je história schémy nejasná.

Najsilnejšie nástroje sa zvyčajne zapájajú do systému riadenia verzií zdrojového kódu (source control) a pipeline vydávania. Tam sa hodnotný prínos pre podnik stáva ľahšie spravovateľným. Zmeny sa preskúmavajú pred ich spustením. Skripty sú opakovateľné. Tím môže vidieť, ktorej verzii databázy zodpovedá ktorá verzia aplikácie. V praxi je to menej o elegancii a viac o kontrole. Dáva operáciám a vývoju spoločný záznam.

Stále existuje limit a mal by byť uvedený jasne. Automatizácia nezabezpečuje prácu so schémou implicitne. Niektoré zmeny stále vyžadujú opatrnosť, ako sú dlhé uzamknutia tabuliek, dopĺňanie dát (backfills) a úpravy, ktoré ovplyvňujú staré reporty alebo aplikácie tretích strán. Automatizácia záloh tiež nepreukazuje obnoviteľnosť. Obnovu musí byť stále testovaná, pretože záloha, ktorú nemožno obnoviť, je len súbor. Moderné nástroje znižujú manuálnu prácu, ale neodstraňujú potrebu úsudku.

Pre enterprise systémy je to skutočná odpoveď za frázu „nástroje na správu databáz“. Nie sú to iba administračné panely. Sú to kontrolné systémy pre zmenu a obnovu. Najlepšie využitie týchto nástrojov je jednoduché na opis a ťažké na faloš: udržiavať zmeny schémy usporiadané, udržiavať zálohy aktuálne a udržiavať obe viditeľné pre tím, ktorý bude musieť žiť s ich dôsledkami.

EuroOp LLC vníma toto ako jeden aplikovaný vzor výskumu a vývoja s jednou praktickou poznámkou: urobiť súčasť databázy súčasťou procesu vydávania, nie vedľajšej úlohy. To je druh disciplíny, ktorú EuroOp Insights cielí odhaliť v jednoduchých termínoch, z pipeline za produktmi spoločnosti EuroOp.

Diskutovať o tejto téme