IBM® Informix® 12.10

Kompresowanie i dekompresowanie danych

W tym scenariuszu opisano sposób uruchamiania komend administracyjnego interfejsu API języka SQL umożliwiających administrowanie optymalizacją kompresji i przechowywania.

W tym scenariuszu dysponujemy tabelą o nazwie rock znajdującą się w bazie danych o nazwie muzyka, której właścicielem jest mario.

Wymagania wstępne:

Aby skompresować zarówno dane w wierszach, jak i duże obiekty proste w obszarach dbspace:

  1. Ponieważ nie wiadomo, czy warto skompresować tabelę rock, uruchom następującą komendę, aby sprawdzić, ile miejsca można zaoszczędzić, kompresując dane:
    EXECUTE FUNCTION task("table estimate_compression", "rock", "muzyka",
    "mario");  

    Raport wynikowy zawiera informacje wskazujące, że można zaoszczędzić do 75 procent miejsca aktualnie używanego przez tabelę rock. Decydujesz się na skompresowanie tabeli.

  2. Przed przystąpieniem do kompresji danych chcesz utworzyć słownik kompresji, który zawiera informacje używane przez IBM® Informix do kompresji danych w tabeli rock. Uruchamiasz następującą komendę
    EXECUTE FUNCTION task("table create_dictionary", "rock", "muzyka",
    "mario");

    Jeśli nie utworzysz słownika kompresji w ramach osobnego kroku, Informix utworzy słownik automatycznie podczas kompresji danych.

  3. Decydujesz się na kompresję danych w tabeli rock i dużych obiektów prostych w obszarach dbspace, konsolidację danych oraz zwrócenie wolnej przestrzeni do obszaru dbspace. Uruchamiasz następującą komendę:
    EXECUTE FUNCTION task("table compress repack shrink", "rock", "muzyka",
    "mario");
    Aby skompresować tylko dane w wierszach lub tylko duże obiekty proste w obszarach dbspace, dostosuj komendę, wstawiając słowo rows lub blobs po słowie compress lub po łańcuchu compress repack shrink. Na przykład:
    • Aby skompresować tylko dane w wierszach, podaj:
      EXECUTE FUNCTION task("table compress rows","rock","muzyka","mario");
    • Aby skompresować tylko dane w wierszach, a następnie przepakować i zmniejszyć dane, podaj:
      EXECUTE FUNCTION task("table compress repack shrink rows",
      "rock","muzyka","mario";
    • Aby skompresować tylko duże obiekty proste w obszarze dbspace, podaj:
      EXECUTE FUNCTION task("table compress blobs","rock","muzyka","mario");

    Po skompresowaniu istniejących wierszy i dużych obiektów prostych Informix konsoliduje wolne miejsce pozostałe na końcu tabeli, a następnie usuwa wolną przestrzeń z tabeli, zwracając ją do obszaru dbspace.

    Jeśli duże obiekty proste lub wiersze /*nie są mniejsze po skompresowaniu, serwer bazy danych nie kompresuje ich.

  4. Załóżmy, że konieczne jest zdekompresowanie danych. Uruchamiasz następującą komendę:
    EXECUTE FUNCTION task("table uncompress", "rock", "muzyka", "mario");
  5. Chcesz usunąć słownik kompresji.
    1. Sprawdź, czy program Enterprise Replication nie wymaga słownika.

      Nie należy usuwać słowników kompresji w przypadku nieskompresowanych lub usuniętych tabel i fragmentów, jeśli słowniki są wymagane przez program Enterprise Replication.

    2. Zarchiwizuj obszar dbspace zawierający tabelę lub fragment ze słownikiem kompresji.
    3. Uruchom komendę:
      EXECUTE FUNCTION task("table purge_dictionary", "rock", "muzyka",
      "mario");

Dane oraz duże obiekty proste w obszarach dbspace we fragmentach tabel kompresuje się i dekompresuje w ten sam sposób, co dane i duże obiekty proste w obszarach dbspace w wierszach, przy czym uruchamiane komendy mają następujący format:

EXECUTE FUNCTION task("fragment compression_arguments", "partnum_list");

Jeśli wymagana jest konsolidacja wolnej pamięci lub wymagane jest zwrócenie wolnej pamięci bez kompresowania i ponownego kompresowania, można uruchomić komendę, która poinformuje serwer o konieczności przepakowania i/lub zmniejszenia.


Opinia | Wymiana przykładów | Rozwiązywanie problemów

Plik PDF można znaleźć na stronie zawierającej publikacje dotyczące rodziny produktów IBM Informix 12.10.
Uwagi do wydania, uwagi dotyczące dokumentacji i/lub uwagi dotyczące komputera znajdują się na stronie Uwagi do wydania
datownik Wersja: marzec 2013