Dnes: 19. září 2017    | Registrace | Hledáme | Redakce | Info | Testy | Školení | Ocenění | Nápověda | Čtenář: nepřihlášen

Rychlé odkazy
  • Hlavní stránka
  • Seznam rubrik
  • Ankety
  • Editoriály
  • TOP 15
  • KONFERENCE 2008
  • KONFERENCE 2007
  • KONFERENCE 2006
  • KONFERENCE 2005
  • KONFERENCE 2004
  • Sborník
  • Testy
  • Virtuální školení
  • Personalizace


  • Hledáte práci?
    Hledáme redaktora - pojďte s námi tvořit Databázový svět!

    Vyhledávání

    Hledej
    na Databázovém světě!



    Rozšířené vyhledávání

    Rubriky
    Aktuality
    Bezpečnost
    Business
    Česká scéna
    Datové sklady
    Dokumentace
    Dotazovací jazyky
    Hardware
    Historie
    Komentáře
    Literatura
    Metodologie
    Nondb
    Open Source
    Poradna
    Produkty
    Případové studie
    Redakce
    Rozhovory
    Standardy
    Technologie
    Tipy - triky
    Tiskové zprávy
    Vývoj
    Vývojové nástroje
    Zajímavosti

    Co je to?
    Replikace
    Replikace slouží pro zajištění konzistentnosti dvou a více databází, nejčastěji pak o stejné struktuře v rámci distribuovaného zpracování. Vyspělé SŘBD replikace podporují, případně lze použít řešení třetích stran či replikační logiku zajistit vlastními postupy.

    Akce
    Dynamická Datová Centra
    - na semináři se seznámíte s komplexním řešením a koncepcí Dynamických Datových Center od Fujitsu Siemens Computers se speciálním důrazem na řešení FlexFrame.

    Textová inzerce
    IBPhoenix - Vše o InterBase a Firebirdu.

    Smějete se rádi? - Pak je pro vás Vtipník to pravé!

    Prodejce reklamy - Hledáme schopného prodejce reklamního prostoru, možnost i externí spolupráce.

    Přihlášený čtenář
    Nepřihlášený čtenář

    O portálu
    Databázový svět
    ISSN: 1213-5933

    Web je optimalizován pro rozlišení 1024x768, nicméně kromě větších rozlišení podporujeme i 800x600. Podrobnosti najdete zde.

    Chcete-li mít kdykoliv možnost zkontrolovat obsah našeho portálu, můžete využít podporu rss. Podrobnosti najdete zde.
    Tipy a triky pro Oracle XIV. – datová komprese


    [Tipy - triky] - Ve čtrnáctém pokračování seriálu věnovaného praktickým tipům a trikům pro databázovou platformu Oracle Database se zaměříme na problematiku datové komprese – na možnost, jak ušetřit diskový prostor a zrychlit odezvy dotazů. Cílem seriálu je přinášet vám nejen praktické informace, které vám mohou pomoci při správě či vývoji na této platformě, ale také upozorňovat na zajímavé funkce. O kterých možná ani nevíte, že existují.



    Už jste někdy přemýšleli o tom, co uděláte s historickými daty staršími než je povinná doba pro jejich uchování a které určitě zabírají více jak 50 procent diskové kapacity serveru?

    Budete je archivovat? Ale jakým způsobem a kam? Budou pak snadno a rychle dostupná pro účely reportingu, analýz, auditu nebo jiných činností, které "business" potřebuje?

    ***REKLAMA*** Už jste se registrovali na Dabázový svět 2008? ***REKLAMA***

    Zkuste se zamyslet na tím, zda není jednodušší je nechat tam, kde jsou a využít Table Compression – vlastnost Oracle Database, která je k dispozici již od verze 9i.

    Co to je a jak to funguje?
    Jde o bezztrátovou kompresi, která je prováděna mezi hodnotami řádků a sloupců na úrovni databázového bloku eliminací duplicitních hodnot. Struktura komprimovaného bloku oproti normálnímu je jiná v tom, že je zde navíc přidána takzvaná Symbol Table (metadata o kompresi), která obsahuje nejčastěji se opakující hodnoty. To, zda pro sloupce budou hodnoty do Symbol Table přidány nebo ne, rozhoduje sama databázová platforma, a to na základě délky sloupce a počtu výskytů hodnot. Jakmile je hodnota do Symbol Table vložena, je její normální výskyt v bloku nahrazen odkazem ukazujícím do Symbol Table.


    Struktura komprimovaného a normálního bloku

    Table Compression významně snižuje požadavky na použitý diskový prostor a na paměť databáze Oracle (konkrétně na buffer cache) a přitom zvyšuje výkon SQL dotazů. Ptáte se, jak je to možné?

    Data komprimovaných tabulek zabírají méně datových bloků na disku (do jednoho bloku je nyní možné uložit mnohem více dat), čímž se snižují nároky na diskový prostor. Data z komprimovaných tabulek jsou čtena do paměti databáze (buffer cache) v komprimovaném stavu (jsou dekomprimovány až při přístupu do nich), z čehož vyplývá, že do stejně velké paměti lze načíst mnohem více dat. A protože díky kompresi se čte méně databázových bloků z disku, provádí se i méně V/V operací (fyzických i logických), což má za následek, že dotazy trpící díky vysokému V/V jsou nyní znatelně rychlejší.

    Jak na to?
    Table Compression můžete využít na tabulky, materializované pohledy nebo partition (všechny nebo pouze určité). Atribut komprese lze pak zapnout i pro celý tablespace, tzn. všechny výše zmíněné objekty budou mít zapnutou kompresi.

    CREATE TABLE [name] COMPRESS;
    

    V Oracle Database 9i a 10g bylo možno komprimovat pouze ta data, která byla nahrávána pomocí BULK operací. Data, která byla nahrávána nebo modifikována pomocí DML (insert, update, delete) komprimována nebyla. Tzn. využít Table Compression bylo nejvhodnější pro datové sklady a nebo pro archivaci historických dat (tedy tam, kde lze využít BULK operace).

    Mezi BULK operace, které komprimují data patří:

    • CREATE TABLE [název] COMPRESS AS SELECT
    • ALTER TABLE [název] MOVE COMPRESS
    • ALTER TABLE [název] MOVE PARTITION [name] COMPRESS
    • INSERT /*+ APPEND */ nebo Parallel INSERT do tabulky, která má zapnutou kompresi
    • Direct Path SQL*Loader do tabulky, která má zapnutou kompresi

    V Oracle Database 11g je k dispozici OLTP Table Compression, která podporuje kompresi dat i pro individuální DML operace, tedy INSERT, UPDATE, DELETE. V tomto případě komprese probíhá na pozadí (nulová režie při zápisu) a to jakmile zaplnění databázového bloku daty dosáhne hodnotu parametru PCTFREE.

    Syntaxe v 11g je následující:

    ... COMPRESS [FOR {ALL | DIRECT_LOAD} OPERATIONS]
    DIRECT_LOAD – "default", je to samé co je v 9i a 10g
    ALL – DML i DIRECT_LOAD operace
    


    OLTP Table Compression v Oracle Database 11g

    Testcase – co vlastně testovat?
    Co udělat před vlastním nasazením? Nejlépe je otestovat Table Compression na kopii vašich skutečných dat a s vašimi konkrétními aplikacemi. Na co se vlastně zaměřit?

    1. Kolik místa kompresí dat vlastně ušetříte, tzn. zjistit kompresní poměr (nekomprimovaná / komprimovaná data). Ten standardně bývá okolo 2:1 až 4:1 a samozřejmě závisí na samotných datech. U hodně duplicitních dat, jako jsou například detailní výpisy hovorů u telekomunikačního operátora, je možné dosáhnout poměru až 12:1 (nekomprimovaná data jsou 12 krát větší než komprimovaná).
    2. Co to udělá s aplikací / reportingem, který data z tabulky využívá. Samozřejmostí je, že Table Compression je pro veškeré aplikace, reporty nebo uživatele plně transparentní, tedy pro nikoho se nic nezmění. Ale musíte si být jisti, že odezva aplikace/reportu je stejná jako dříve nebo lepší.
    Table Compression jsme testovali ještě ve verzi 9i (Linux RedHat, Oracle9i EE – 9.2.0.2.0) nad daty, která byla uložena v partitionované tabulce. Z výsledků jsme byli mile překvapeni. Dosáhli jsem kompresního poměru okolo 2:1, tzn. ušetřili 50 procent místa a navíc, což je podstatnější, veškerý reporting se nad těmito daty několikanásobně zrychlil.


    Kompresní poměr


    Porovnání výkonnosti

    Oracle Table Compression patří mezi významné vlastnosti Oracle. Nejen, že ušetří diskovou kapacitu, ale v případě systémů s pomalým nebo hodně zatíženým V/V markantně urychlí odezvu dotazů.

    Oracle Database 11g navíc přináší Advanced Compression Option, která kromě již zmíněné OLTP Table Compression obsahuje navíc:

    • Data Guard Network Compression
    • Data Pump Compression
    • Fast RMAN Compression
    • SecureFiles Compression and Deduplication

    Pro vyzkoušení dnešní ukázky budete potřebovat Oracle Database Enterprise Edition. Tu si pro testovací účely můžete stáhnout z Oracle Technology Network.

    O autorovi
    Erik Eckhardt (*1976) od roku 2004 pracuje ve společnosti Oracle Czech na pozici BI/DW Sales Consultant. Zde se specializuje na podporu prodeje řešení pro podporu rozhodování (tj. datové sklady, reporting a analýzy). Před působením v Oracle pracoval 2,5 roku ve společnosti Tesco Stores jako databázový architekt a administrátor. Předtím více než 2 roky ve společnosti Unicorn na pozicích vývojář a softwarový architekt. Po celou dobu se především specializoval na databázové systémy, a to jak z pohledu vývoje, správy, tak i návrhu architektury. Je Oracle 8i a 9i Certified Professional Database Administrator.

    Související články:
    Tipy a triky pro Oracle XVI. – rychlejší aplikace i bez změn dotazů podruhé (03.02.2009)
    Tipy a triky pro Oracle XV. – rychlejší aplikace i bez změn dotazů poprvé (21.11.2008)
    Tipy a triky pro Oracle XIII. – externí data rychle (17.09.2008)
    Tipy a triky pro Oracle XII. – Jak na řízení přístupu na úrovni záznamů? (15.04.2008)
    Tipy a triky pro Oracle XI. – Error Logging Tables (12.11.2007)
    Tipy a triky pro Oracle X. – bojujete s češtinou v Oracle podruhé? (14.05.2007)
    Tipy a triky pro Oracle IX. – bojujete s češtinou v Oracle? (06.02.2007)
    Tipy a triky pro Oracle VIII. – jak na přenosy velkých dat podruhé (03.01.2007)
    Tipy a triky pro Oracle VII. – jak na přenosy velkých dat poprvé (21.11.2006)
    Tipy a triky pro Oracle VI. – trochu jiné triggery (25.09.2006)
    Tipy a triky pro Oracle V. – změna dat v pohledu? (06.09.2006)
    Tipy a triky pro Oracle IV. – analytické funkce podruhé (14.08.2006)
    Tipy a triky pro Oracle III. – analytické funkce poprvé (19.07.2006)
    Tipy a triky pro Oracle II. – jak na hierarchické struktury? (07.06.2006)
    Tipy a triky pro Oracle I. – jak na automatické přidělování ID? (05.05.2006)

    ( Celý článek! | Autor: Erik Eckhardt | Počet komentářů: 5 | Přidat komentář | Informační e-mailVytisknout článek )

    Vyhledávání
     

    Anketa
    Kolik ročně utratíte za dovolené?

    Nic 
     (1446 hl.)
    Do 1 000,- Kč 
     (1005 hl.)
    Do 10 000,- Kč 
     (950 hl.)
    Do 25 000,- Kč 
     (1207 hl.)
    Do 50 000,- Kč 
     (957 hl.)
    Do 75 000,- Kč 
     (1108 hl.)
    Více než 75 000,- Kč 
     (948 hl.)

    Celkem hlasovalo: 7621


    Poslední komentáře
    frontierd@126.com
    frontierd@126.com
    frontierd@126.com
    c
    http://www.coachoutl

    Newsletter
    Přihlaste si nezávazně - i bez registrace - odběr informačního newsletteru. Podrobné informace najdete zde.

    Emailová adresa:


    Kalendář
    <<  Září  >>
    PoÚtStČtSoNe
        123
    45678910
    11121314151617
    18192021222324
    252627282930 

    Redakci připojuje


    Nejčtenější

    Databáze je prázdná!


    Nejvíce komentářů

    Databáze je prázdná!


    Reklama






    Nenechte si ujít články na dalších webech




    Na této stránce použité názvy programových produktů, firem apod. mohou být ochrannými známkami
    nebo registrovanými ochrannými známkami příslušných vlastníků.

    Databázový svět | dfKlub - digitální fotografie | Vtipník - vtipy přímo k Vám | Reminder - přestaňte zapomínat | Databázový svět

    Copyright (c) 2004 AVRE Publishing, spol. s r.o. Všechna práva vyhrazena