5 věcí, které musíte znát, než začnete s DevOps
Typické chyby se opakují. Lidé si pletou DevOps s jedním konkrétním nástrojem a myslí si, že jeho instalací je hotovo. Nebo přesunou odpovědnost za provoz na jednoho „DevOps inženýra", který se stane novým silosem. Další chybou je automatizace chaotického procesu — výsledkem je jen rychlejší chaos. A konečně, ignorování bezpečnosti a přístupů: kdo může co nasadit a kam, musí být jasné od začátku, ne až po prvním incidentu.
Nezapomínejte na statistiky. Optimalizátor se rozhoduje podle odhadů počtu řádků. Pokud jsou statistiky zastaralé, zvolí špatný plán – třeba hash join tam, kde by stačil index. Pravidelná aktualizace statistik a obnova indexů při fragmentaci patří k běžné údržbě. U transakcí držte je krátké a nenechávejte je otevřené přes uživatelské rozhraní. Dlouhé transakce blokují ostatní a zvětšují fronty zámků.
Vyhýbejte se dotazům, které vracejí vše. SELECT * znamená přenos sloupců, které nepotřebujete, a brání pokrytí dotazu indexem. Vypište jen nutné sloupce. Podobně u spojení tabulek dávejte pozor na křížové spojení bez podmínky, které vytvoří kartézský součin. Pokud potřebujete jen existenci záznamu, použijte EXISTS místo COUNT(*) a porovnání s nulou. COUNT(*) se navíc musí pokaždé dopočítat, což u velkých tabulek bolí.
Index není samospasitelný Index zrychluje vyhledávání, ale jen tehdy, když ho databáze může použít. Pokud na sloupec aplikujete funkci, například WHERE YEAR(datum) = 2024, index se obvykle obejde. Napište podmínku tak, aby byla na holém sloupci: datum >= '2024-01-01' AND datum
Sledujte, kolik času tým skutečně tráví analýzou. Často se ukáže, že analýza zabírá víc, než si kdo přiznal, a implementace se pak zpožďuje, protože začala pozdě. Když obě fáze oddělíte, uvidíte, kde se ztrácí čas, a můžete s tím pracovat. Odhad přestane být rituál a stane se nástrojem, který něco vypovídá o skutečné práci.
Typická chyba je spoléhat na to, že aplikace podporuje databázi, protože ji používá někdo jiný. Prostředí se liší nastavením, velikostí dat i zátěží. Vyzkoušejte reálný provoz na datech, která odpovídají vašemu objemu. Zjistíte tak, zda dotazy nespadnou na timeout nebo zda indexy stačí. Testovací data o velikosti několika kilobajtů neprozradí nic o chování při milionech řádků.
Přispívání do open source nezačíná tím, že si otevřeš editor a začneš psát kód. Začíná tím, že pochopíš, jak projekt funguje a co od přispěvatelů očekává. Každý repozitář má obvykle soubor s pravidly, často pojmenovaný CONTRIBUTING, a k tomu kodex chování. Tyto dokumenty nejsou formalita. Určují, jakým stylem se vede komunikace, jak se pojmenovávají větve, jak vypadá formát commitů a co se stane, když někdo pravidla nedodrží. Pokud je přeskočíš, tvá práce může skončit bez reakce, i když bude technicky správná.
Stránkování přes OFFSET je další častý viník. Dotaz s LIMIT 20 OFFSET 100000 musí nejprve přečíst a zahodit sto tisíc řádků. Řešením je klíčové stránkování: pamatujte si poslední hodnotu klíče a pokračujte pomocí WHERE id >poslední_id ORDER BY id LIMIT 20. Tím se čtení omezí na skutečně potřebný rozsah. Stejný princip pomáhá i u dávkového zpracování, kde místo jednoho obrovského dotazu zpracujete data po menších částech.
Typická chyba je také kombinace gridu s pevnou výškou řádku. Jakmile obsah přeteče, prvky se překryjí nebo zmizí. Místo výšky používejte min-height a nechte řádky růst. U flexu zase pozor na výchozí hodnotu min-width: auto, která brání zmenšení položky. Stačí nastavit min-width: 0 a dlouhý text se přestane vylévat mimo kontejner.
Past, na kterou se zapomíná: obsah rozhoduje, ne šířka okna Největší problém vzniká, když vývojář nastaví šířky sloupců v pixelech nebo procentech podle představy, jak má stránka vypadat na monitoru. Jenže responzivita se neřídí oknem prohlížeče, ale obsahem. Dlouhý český název v navigaci, tabulka s mnoha sloupci nebo obrázek s pevným poměrem stran rozbije layout dříosvětlení v obýváku, než stihnete přidat media query. Řešení je používat jednotky jako fr, minmax a auto, a u flexu pak flex-basis, flex-grow a flex-shrink s hodnotami, které odpovídají chování obsahu.
Media queries nejsou zbytečné, ale mají být poslední záchranou, ne prvním nástrojem. Nejprve navrhněte layout tak, aby fungoval od nejužšího rozměru. Teprve když je potřeba změnit pořadí nebo skrýt vedlejší panel, přidejte zlomový bod. Počet zlomových bodů držte na minimu – dva až tři stačí pro většinu webů. Každý další znamená další místo, kde se může něco pokazit.
If you beloved this post and you would like to receive extra info regarding zdroj kindly visit the site.