DISKUSE
NoCache a ReCache 
14.09.2018 15:17

Spouštění souboru bat na pozadí (1)
29.08.2018 08:59

příkaz na smazání databází (2)
23.08.2018 15:30

Změna designu a restart klienta. (1)
13.08.2018 09:39

ctrl+shift+šipka v tabulce 
17.07.2018 08:09

Diskuze o R10 (4)
28.06.2018 11:05

pole "url" (1)
14.06.2018 22:28

Čárový kód 
17.04.2018 14:01


ŠKOLENÍ


REKLAMA


KOMENTÁŘE

Nie je kompresia ako kompresia...

Vytisknout článek

Na automatickú kompresiu príloh v Notes dokumentoch som sa vždy pozeral ako niečo, čo funguje a viac ma nezaujíma. Až do chvíle, keď som chcel kompetentne odpovedať na otázku "Má zmysel zipovať prílohy"?


Teória
Príloha (attachment) v Notes dokumente sa môže z hľadiska komprimovania nachádzať v týchto stavoch:

  • Nekomprimovaná - ak pri jej prikladaní vypnete checkbox "Compress"
  • Komprimovaná Huffman algoritmom - ak mala databáza vypnutý príznak "Use LZ1 compression for attachments"
  • Komprimovaná LZ1 algoritmom - ak mala databáza zapnutý príznak "Use LZ1 compression for attachments"

Huffman komprimovanie sa využívalo už v starších verziách, s verziou R6 prišla možnosť použiť efektívnejší LZ1 (Lempel-Ziv) algoritmus. Mimochodom, aj toto je príspevok IBM laboratórií k Lotus brandu (viď článok).

To, v akom stave sa príloha nachádza, zistíte najjednoduchšie tak, že si vo vlastnostiach dokumentu vyhľadáte item $FILE:




Experiment
Aby som porovnal efektívnosť komprimácie, pripravil som si jednoduchý praktický experiment, kedy som:
  • Vložil prílohu a zistil veľkosť dokumentu
  • Následne prílohu zozipoval (priamo v Notes dokumente Java agentom) a zistil veľkosť prílohy i celého dokumentu

Tento postup som realizoval pre prílohu v stave nekomprimovaná, Huffman i LZ1.

Príloha bez komprimovania
Veľkosť prílohy [kB]
Veľkosť dokumentu [kB]
Pred "zipovaním"
1 039
1 039
Po "zipovaní"
176
183
Huffman komprimovanie prílohy
Veľkosť prílohy [kB]
Veľkosť dokumentu [kB]
Pred "zipovaním"
1 039
574
Po "zipovaní"
176
183
LZ1 komprimovanie prílohy
Veľkosť prílohy [kB]
Veľkosť dokumentu [kB]
Pred "zipovaním"
1 039
300
Po "zipovaní"
176
183
Vzorová príloha bola NSF databázou, kde sme zipovaním získali až 90% priestoru. V prípade príloh typu .doc, .pdf, .odt a podobne je efektivita nižšia (v našej reálnej produktovej databáze s podobnými prílohami majú zozipované prílohy okolo 40 - 50% pôvodnej veľkosti).


Závery
Z výsledkov experimentu je možné odvodiť tieto závery:
1. Ak sa rozhodnete dodatočne zozipovať prílohy, tak je jedno, v akom stave komprimovania sú aktuálne uložené.
2. Ak súbory nebudete dodatočne zipovať, tak je najefektívnejšie natívne využiť LZ1 algoritmus.

Stojí teda zato zipovať prílohy? Ak ide primárne o zisk priestoru, tak určite áno. Na druhej strane je však faktom, že takto upravené prílohy sú ťažšie spracovateľné (editovanie, full-text prehľadávanie). Každopádne, ak nemáte archivačný content management systém, tak si týmto spôsobom môžete ponechať "poruke" v Notes databázach aj menej frekventovane používané prílohy (a to už nehovorím o rezervách v mail databázach...).


Tip 1: Ako v existujúcej databáze zabezpečiť komprimovanie všetkých existujúcuich príloh pomocou LZ1 algoritmu?
1. Zapnite voľbu "Use LZ1 compression for attachments" (Advanced database properties). Ak by ste chceli tento príznak zapnúť hromadne na viac databázach, tak použite Domino Administratora (záložka Files) resp. script na báze metódy db.setoption(DBOPT_LZCOMPRESSION, True).
2. Kompaktujte databázu príkazom load compact dbname.nsf -ZU

Tip 2: Ako dodatočne zipovať prílohy v Notes databáze?
Vytvorte si agenta na báze "java.util.zip" knižnice alebo použite aplikáciu ZIPPER, ktorá je dostupná na stránkach fy eDevelopment (sekcia Tipy).

Tip 3: Ako si urobiť prehľad o type komprimovania príloh vo všetkých databázach?
Pre tento účel je veľmi vhodná utilita DAOS Estimator, ktorá bola primárne vytvorená ako podpora pri plánovaní aktivovania DAOS (novinka R8.5, využívame už aj na "ostrých" serveroch, zatiaľ bez problémov - ale o tom možno niekedy nabudúce...). Po spustení analýzy je vytovrený pomerne detailný report, ktorý obsahuje v záverečnej sekcii požadované informácie, napr:

Total DB's analyzed: 273
Total DB's skipped due to errors: 0
Total Size of NSF's Examined: 18.6 GB
Total Attachments found: 51 910
Total Duplicate Attachments found: 8 703
Compression Statistics:
None: 29 631
Huffman: 21 612
LZ1: 667

Autor: Miroslav Uhlár
Datum: 18.03.2009


Sdílet článek Seznam komentářů
 
Od
Téma
 Datum
Jan Mikulasovic
vdaka
18.03.2009 11:09
Tomas Laudar
Technote #21256241
04.04.2009 18:52