Jacek Pichla

Jacek Pichla Starszy Programista,
Asseco Poland S.A.

Temat: Kompresja CLOB-ów

Witam

Szukam informacji n/t jak można kompresować dane w tabeli Oracle v. 9.2. Jest tabela zawierająca kolumnę typu CLOB. W kolumnie tej są dane w formacie XML. Sukcesywnie przybywające dane szybko powiększają rozmiar przestrzeni na dysku.
Czy polecenie ALTER TABLE ..COMPRESS może tu coś pomóc ?
Bardzo proszę o poradę czy i jak można ograniczyć przyrost tej przestrzeni.

Z góry dziękuję

Jacek

konto usunięte

Temat: Kompresja CLOB-ów

Jacek Pichla:
Czy polecenie ALTER TABLE ..COMPRESS może tu coś pomóc ?
Bardzo proszę o poradę czy i jak można ograniczyć przyrost tej przestrzeni.

http://oracle-online-help.blogspot.com/2006/11/oracle-...

A myślałeś o tym, żeby zaimplementować java.util.zip ? Nie będzie to jakoś oszałamiająco szybkie, ale działać ma szansę.
Jacek Pichla

Jacek Pichla Starszy Programista,
Asseco Poland S.A.

Temat: Kompresja CLOB-ów

Dziękuję bardzo za tę informację.
Tak, rozważam też java.util.zip. Może w najbliższym czasie zrobię eksperymenty z obydwoma rozwiązaniami.

Jacek
Dawid Glowacki

Dawid Glowacki BI/DW/ETL Consultant

Temat: Kompresja CLOB-ów

Witam,

Z tego co pamiętam to Podstawowa kompresja w Oracle 9i & 10 nie dziala dla kolumn typu CLOB & BLOB.
Dopiero 11g wprowadza SecureFiles ale to jak sądze nie będzie zbyt pomocne...

Dawid
Jacek Pichla

Jacek Pichla Starszy Programista,
Asseco Poland S.A.

Temat: Kompresja CLOB-ów

Krzysztof P.:
Jacek Pichla:
Czy polecenie ALTER TABLE ..COMPRESS może tu coś pomóc ?
Bardzo proszę o poradę czy i jak można ograniczyć przyrost tej przestrzeni.

http://oracle-online-help.blogspot.com/2006/11/oracle-...

A myślałeś o tym, żeby zaimplementować java.util.zip ? Nie będzie to jakoś oszałamiająco szybkie, ale działać ma szansę.

Wygląda na to, że to co potrzebuję jest dopiero w wersji 11g.
Cytat z: http://www.oracle.com/technology/products/database/com...:

"With Table Compression feature of Oracle9i Database, one could only compress table data during bulk load operations. With Advanced Compression, new and modified data is also compressed. Further, Advanced Compression includes compression and deduplication of SecureFiles. This can provide significant savings for applications that were storing unstructured data as LOBs in previous versions."

Czyli w wersji 9 ani LOBy nie są kompresowane, ani dane wprowadzone zwykłym INSERT-tem.
Zrobiłem próbę na tabeli zawierającej 1 200 000 rekordów gdzie najwięcej danych jest w kolumnie CLOB. Polecenie ALTER TABLE ... MOVE COMPRESS pomniejszyło ilość zajmowanych bloków o 12%. Na innej instancji o 5%. Trochę słaby wynik :(

Jeśli miałbyś jeszcze jakąś inną w wskazówkę to bardzo proszę i z góry dziękuję.
Dawid Glowacki

Dawid Glowacki BI/DW/ETL Consultant

Temat: Kompresja CLOB-ów

Jacek Pichla:
Krzysztof P.:
Jacek Pichla:
Czy polecenie ALTER TABLE ..COMPRESS może tu coś pomóc ?
Bardzo proszę o poradę czy i jak można ograniczyć przyrost tej przestrzeni.

http://oracle-online-help.blogspot.com/2006/11/oracle-...

A myślałeś o tym, żeby zaimplementować java.util.zip ? Nie będzie to jakoś oszałamiająco szybkie, ale działać ma szansę.

Wygląda na to, że to co potrzebuję jest dopiero w wersji 11g.
Cytat z: http://www.oracle.com/technology/products/database/com...:

"With Table Compression feature of Oracle9i Database, one could only compress table data during bulk load operations. With Advanced Compression, new and modified data is also compressed. Further, Advanced Compression includes compression and deduplication of SecureFiles. This can provide significant savings for applications that were storing unstructured data as LOBs in previous versions."

Czyli w wersji 9 ani LOBy nie są kompresowane, ani dane wprowadzone zwykłym INSERT-tem.
Zrobiłem próbę na tabeli zawierającej 1 200 000 rekordów gdzie najwięcej danych jest w kolumnie CLOB. Polecenie ALTER TABLE ... MOVE COMPRESS pomniejszyło ilość zajmowanych bloków o 12%. Na innej instancji o 5%. Trochę słaby wynik :(

Jeśli miałbyś jeszcze jakąś inną w wskazówkę to bardzo proszę i z góry dziękuję.

Witam Jacku,

Wygląda na to że nie da się w prosty i saportowalny sposób kompresować CLOBów w Oraclu prior 11g. Nie wiem dokładnie co takiego chcesz kompresować, ale na Twoim miejscu po prostu bym tego nie robił. Pamiętaj, że jeżeli zastosujesz jakieś 'dziwne' rozwiązania typu java czy zewnętrzne programy które mogłyby to zrobić mocno stracisz na funkcjonalności (np nie będziesz mógł używać standardowego SQL do przeszukiwania CLOBów), a jeżeli zaczniesz przechowywać takie dane poza bazą danych (np w plikach) to de facto twoje rozwiązanie nie będzie spełniało podstawowego założenia baz danych czyli nie będzie zgodne z warunkami ACID(atomicity, consistency, isolation, durability).

PS Jeżeli klient szuka oszczędności, zaoferuj mu coś innego co da oszczędności ale nie spowoduje drastycznego spadku jakości systemu, a z kompresją CLOBów po prostu poczekaj na 11g...

Pozdrawiam

Następna dyskusja:

ORACLE 10g - DB link, inser...




Wyślij zaproszenie do