Spis treści

Klastry

Autor: Marcin Kasiński
21.01.2011 13:24:00 +0200

Klaster, to specjalny obiekt, łączący w jeden byt kilka tabel ze sobą związanych. Oczywiście sensowne jest tworzenie indeksu klastrowego tylko wtedy, kiedy w klastrze znajdują się tabele występujące w złączeniach zapytań SQL. Utworzenie w takiej sytuacji klastra na tych tabelach zdecydowanie przyspiesza wykonywanie zapytań SQL. Przyspieszenie polega na tym, ze w przypadku złączenia tabel w klastrze dane mogą być buforowane w SGA. Dodatkowo przyspieszenie to jest spowodowane tym, że złączenie w klastrze odbywa się za pomocą jednej operacji wejścia-wyjścia. Należy tu podkreślić, że klastry mogą przyspieszyć wykonywanie zapytań, ale nie musza. Jeśli np. w klastrze z niewiadomych przyczyn umieścimy tabele, które w żadnym zapytaniu SQL nie są ze sobą złączane, to stworzenie indeksu może przynieść wręcz odwrotne skutki i spowodować spadek wydajności wykonywania zapytań. Dane w tym wypadku będą niepotrzebnie buforowane w SGA. Klastry nie należy zakładać na tabelach, na których będą często generowane pełne przeszukiwania na pojedynczych tabelach z tego klastra. Do takiej operacji wymagana jest dodatkowa ilość pamięci, co za sobą powoduje wykonywanie dodatkowych operacji wejścia-wyjścia.

Klastry haszujące

Klastry haszujące są podobne do zwykłego klastra. Różnica polega na tym, ze zamiast indeksu wskazujacego na klucz stosuje się specjalna funkcje haszujaca. Wynik tej funkcji jednoznacznie okresla miejsce, gdzie znajduja się dane. W przypadku klastra haszujacego na podstawie wyniku funkcji haszujacej od razu wiadomo, gdzie znajduja się dane ograniczajac liczbe operaci wejścia-wyjścia do jednej. W przypadku klastrow haszujacych prz identycznych danych funkcja haszujaca bedzie zwracala identyczna wartość.


powrót
Zachęcam do przedstawienia swoich uwag i opinii w polu komentarzy.

Komentarze

Dodaj Komentarz