Datová hygiena: pojmenovávání souborů, verzování a zálohování

Proč je datová hygiena klíčová pro akademickou práci

Datová hygiena představuje soubor návyků a pravidel, která snižují riziko ztráty, záměn a chyb při práci se soubory, daty a projekty. V kontextu studentských a výzkumných projektů umožňuje rychlou orientaci, auditovatelnost a reprodukovatelnost. Bez systematického pojmenování, verzování a záloh se každá změna stává loterií a týmová spolupráce trpí.

Zásady: jednoduchá pravidla, která pokryjí 80 % případů

  • Předvídatelnost nad úsporou znaků: konzistentní formát názvů (> 3 prvky) je lepší než krátké, ale nejednoznačné názvy.
  • Strojově přátelská pojmenování: bez diakritiky, bez mezer, pouze alfanumerické znaky, podtržítka nebo pomlčky.
  • ISO data: YYYY-MM-DD pro chronologické třídění a strojové parsování.
  • Jeden zdroj pravdy: primární data ukládejte do raw; vše odvozené do derived s jasným původem.
  • 3–2–1 záloha: 3 kopie, 2 různá média, 1 mimo pracoviště.
  • Automat, ne paměť: opakovatelné úlohy (záloha, export, čištění) skriptujte nebo plánujte.

Formátování názvů souborů: doporučená šablona

Šablona pro většinu akademických materiálů:

projekt_modul-obsah_autor_YYYY-MM-DD_verZ_stav.ext

  • projekt: zkratka nebo slug kurzu/projektu (např. dp-kognicia).
  • modul-obsah: tematický blok a stručný popis (např. analyza-regresia).
  • autor: iniciály nebo identifikátor (např. mj).
  • YYYY-MM-DD: datum vytvoření nebo publikace.
  • verZ: verze ve formě v01, v02… (fixní délka pro správné třídění).
  • stav: volitelný tag (draft, review, final).

Příklad: dp-kognicia_analyza-regresia_mj_2025-03-14_v03_review.docx

Co do názvů nepatří a proč

  • Mezery a diakritika: riziko problémů ve skriptech a odkazech; nahraďte podtržítkem _ nebo pomlčkou -, diakritiku odstraňte.
  • Nešpecifické názvy: final2.docx, novy.docx, uprava-posledna.pptx – selhávají při vyhledávání i v týmu.
  • Náhodná velká písmena: ReportVyskumFinal – nekonzistentní třídění na unixových systémech.
  • Neviditelné informace: autor, datum a verze pouze v metadatech či obsahu, nikoli v názvu – složité filtrování mimo aplikaci.

Struktura složek: minimum, které funguje

  • data/
    • raw/ (neměnné zdroje; pouze append, nikdy overwrite)
    • interim/ (dočasné transformace, cache)
    • processed/ (validní, dokumentované výstupy)
  • docs/ (texty, prezentace, poznámky)
  • src/ (skripty, notebooky, šablony)
  • reports/ (PDF/DOCX výstupy, grafy)
  • config/ (konfigurace, schémata, slovníky proměnných)
  • logs/ (běhy, experimenty, auditní záznamy)

Každá složka by měla obsahovat krátký README.md s účelem, pravidly ukládání a příklady názvů.

Pravidla pro data a tabulky: čitelnost a interoperabilita

  • Formát: preferujte CSV/TSV s explicitním kódováním UTF-8 a oddělovačem; vyhněte se binárním formátům pro surová data, pokud není důvod.
  • Hlavičky: jednořádkové, bez mezer a diakritiky (participant_id, trial_no, rt_ms).
  • Chybějící hodnoty: používejte NA nebo prázdné; nemíchejte 0 a NA.
  • Jednotky a kódy: dokumentujte v data_dictionary.csv s popisem sloupců a jednotek.
  • Neměnnost raw: všechny změny dat musí být skriptované a reprodukovatelné; nikdy ručně neupravujte raw/.

Verzování: od manuálního v1, v2… k „single source of truth“

Úrovně verzování podle náročnosti:

  1. Úroveň 1 – názvy souborů: v01, v02 v názvu; vhodné pro dokumenty s nízkou mírou kolaborace.
  2. Úroveň 2 – průběžný „changelog“: soubor CHANGELOG.md s datem, změnou a autorem; udržuje auditní stopu.
  3. Úroveň 3 – verzovací systém: používejte systém na sledování změn (commit, branch, tag), issue tracker a pull requesty pro kontrolu kvality.
  4. Úroveň 4 – datové verze: verzujte i data a modely (dataset v1.0, 1.1, 2.0) s DOI nebo hashem; jasně propojte analýzu s verzí dat.

Tagování releasů: pro odevzdání používejte tagy ve formátu YYYY-MM-DD-vX.Y a přiřaďte binární výstupy (PDF, ZIP) jako artefakty.

Konvence verzování: co znamenají čísla

  • Major (X.0): zásadní změna struktury nebo výsledků; přeruší zpětnou kompatibilitu.
  • Minor (X.Y): nové části, rozšíření analýz bez porušení kompatibility.
  • Patch (X.Y.Z): opravy chyb, drobné úpravy textu/grafik bez vlivu na závěry.

Changelog a auditní stopa: minimální dokumentace

Šablona záznamu v CHANGELOG.md:

  • [2025-10-03] v1.2 – doplněny kontroly kvality dat (autor: mj)
  • [2025-09-28] v1.1 – přepracovány grafy 2–3, normalizace jednotek
  • [2025-09-20] v1.0 – první kompletní odevzdání

Číselníky, metadata a slovníky proměnných

  • Data dictionary: tabulka se sloupci name, type, units, allowed_values, description.
  • Katalog datasetů: soubor datasets.csv s verzí, datem, zdrojem a hashem (např. SHA-256) pro integritu.
  • Protokol transformací: popis pipeline od raw/ po processed/ s odkazy na skripty.

Integrita a kontrola kvality: ověřte, že soubory jsou „stejné“

  • Kontrolní součty: generujte a udržujte hash seznamy (.sha256); po přesunu/záloze ověřte totožnost.
  • Validační skripty: automatické testy, které kontrolují tvar dat (počet sloupců, rozsahy, unikátní ID).
  • Read-only raw: nastavte oprávnění tak, aby raw/ nebylo možné přepsat běžným workflowem.

Zálohy: praktická implementace pravidla 3–2–1

  • 3 kopie: originál + pracovní záloha + archivní záloha.
  • 2 média: např. interní disk a externí disk/objektové úložiště.
  • 1 off-site: záloha mimo budovu nebo v jiném cloudu; chrání před fyzickým rizikem.

Rytmus záloh: denní inkrementální + týdenní plné; měsíční archiv (immutable, WORM). Pravidelně testujte obnovu na vzorku (minimálně jednou za čtvrtletí).

Retenční a archivní politiky: co uchovávat a jak dlouho

  • Pracovní výstupy: udržujte posledních 5 minor verzí + všechny major verze.
  • Primární data: dle pravidel projektu/instituce, typicky 5–10 let od publikace.
  • Meziprodukty: mějte možnost je znovu vygenerovat; pokud jsou snadno reprodukovatelné, nearchivujte je dlouhodobě.

Názvosloví grafů a tabulek: konzistence v publikacích

  • fig_01_metoda-diagram_v03_2025-10-03.png
  • tab_02_popis-vzorky_v02_2025-09-28.csv

V textu a legendách odkazujte na čísla (Figurka 2, Tabulka 3) a uchovávejte mapu mezi číslováním a souborem v reports/manifest.csv.

Spolupráce v týmu: kdo a kdy mění co

  • Branchování: hlavní větev (main) chráněná; nové funkce v feature/ větvích, opravy v hotfix/.
  • Review a „two-person rule“: klíčové změny (data, metodika) vyžadují recenzi druhou osobou.
  • Standardy commitů: zprávy typu typ: stručný popis (data:, docs:, fix:, feat:).

Tabulka rychlých pravidel (cheatsheet)

Oblast Pravidlo Příklad
Název souboru Bez mezer, ISO datum, verze projekt_kap1_mj_2025-10-03_v02_final.pdf
Data Raw je neměnné, CSV UTF-8 data/raw/participants_2025-09-01.csv
Verzování Tagy a changelog v1.3 – doplněné grafy
Záloha 3–2–1 + test obnovy měsíční WORM archiv
Integrita Hash soubory processed.sha256
Dokumentace README v každé složce účel, pravidla, příklady

Automatizace rutiny: minimum skriptů a plánovač

  • Startovací skript projektu: vytvoří adresářovou strukturu, README.md, .gitignore, CHANGELOG.md.
  • Export grafů: jednotné rozlišení, rozměry, názvosloví; generuje manifest.
  • Validátor dat: běží před analýzou; zastaví pipeline při porušení specifikace.
  • Plánovač záloh: denní inkrementální, týdenní plné; logy úspěchu/neúspěchu a e-mailová upozornění.

Bezpečnost a citlivé údaje: minimalizace rizik

  • Oddělení tajemství: nikdy neukládejte hesla a klíče do repozitáře; použijte bezpečnostní trezor nebo proměnná prostředí.
  • Anonymizace/pseudonymizace: pracujte s mapou identifikátorů mimo analytické datasety; logy nesmí obsahovat PII.
  • Přístupová práva: princip minimálních oprávnění; audit přístupů kvartálně.

Reprodukce a opakovatelnost: od souborů k postupům

  • Protokol prostředí: seznam verzí softwaru a balíků; exportujte konfigurace.
  • Spustitelné pracovní postupy: každý hlavní výpočet spustitelný jedním příkazem s parametry a pevnými seed hodnotami.
  • Deterministické výstupy: ukládejte stavy náhodných generátorů a konfigurace experimentů.

Nejčastější chyby a jak jim předejít

  • „final_final2.pdf“: zavádějte verze a tagy; nepoužívejte neurčitá slova.
  • Přepisování dat: raw je read-only; úpravy pouze přes skripty.
  • Nekonzistentní názvy: vytvořte týmový standard a kontrolní skript, který jej vynucuje.
  • Zálohy bez obnovy: záloha neexistuje, dokud neproběhne test obnovy.

Checklist