Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.



31.08.2020

Konferencja PIKE 2020 „Nowy...

Polska Izba Komunikacji Elektronicznej wraz z Polską Fundacją Wspierania Rozwoju...
31.08.2020

Sprawna migracja

Oracle Cloud VMware Solution
31.08.2020

Aktywne cybergangi

Grupa Lazarus
31.08.2020

Coraz groźniej

Ransomware
31.08.2020

Analityka w chmurze

SAS Viya 4
31.08.2020

Fujitsu

Fujitsu zaprezentowało odświeżone portfolio biurowych komputerów stacjonarnych Esprimo...
31.08.2020

Monitory dla biura

EIZO FlexScan
27.08.2020

ABBYY FineReader Server –...

Obecna sytuacja na świecie spowodowała, że musieliśmy się odnaleźć w nowych realiach...
27.08.2020

E-commerce ratuje gospodarkę

W tym roku rodzimy handel elektroniczny odnotowuje najwyższy – od kilkunastu lat –...

Budowa i działanie b-trees

Data publikacji: 02-12-2013 Autor: Marcin Szeliga

Drzewa zrównoważone są najpopularniejszym typem indeksów, dlatego zostały zaimplementowane w większości serwerów bazodanowych. Przedstawiamy zasadę działania indeksów tego typu na przykładzie rozwiązania zaimplementowanego w serwerach SQL Server firmy Microsoft.

Dopóki bazy danych są względnie małe (na tyle małe, że wszystkie dane mieszczą się w pamięci operacyjnej) i korzysta z nich niewielu (kilku lub kilkunastu) użytkowników, ich działanie jest na tyle wydajne, że rzadko wymagają one optymalizacji. Sytuacja zmienia się jednak diametralnie wraz ze wzrostem wielkości baz oraz liczby ich użytkowników – wtedy najważniejszym zadaniem administratorów staje się zadbanie o zapewnienie odpowiedniej wydajności serwerów.

Ponieważ administratorzy rzadko mają możliwość zmiany aplikacji bazodanowej, pozostają im dwa rozwiązania:

 

  1. zwiększenie wydajności fizycznego serwera poprzez rozbudowę systemu wejścia/wyjścia, dodanie pamięci RAM czy zwiększenie jego mocy obliczeniowej;
  2. poprawę wydajności baz poprzez utworzenie prawidłowych (wykorzystywanych przez serwer) indeksów.


Okazuje się, że pierwsze rozwiązanie jest prawie zawsze nieopłacalne, czyli że nakłady rzędu tysięcy złotych pozwalają poprawić wydajność bazy zaledwie o kilka procent. Znacznie skuteczniejszym, tańszym i jednocześnie względnie łatwym sposobem jest optymalizacja indeksów.

Indeksy są, obok tabel, drugą podstawową strukturą każdej bazy danych. W typowej bazie zajmują od 25% do 45% jej całkowitej wielkości. Do wersji 2014 serwery SQL Server przechowują indeksy, tak samo jak tabele – w plikach danych (plikach MDF lub NDF). Zadanie indeksów jest trojakie:

 

  1. zapewnienie szybkiego dostępu do danych poprzez umożliwienie wyszukania (seek) określonych rekordów tabeli. Dzięki temu, że rekordy indeksów zawsze są uporządkowane, serwer bazodanowy może w stałym, niezależnym od wielkości tabeli, czasie znaleźć i odczytać dane potrzebne do zrealizowania żądania użytkownika;
  2. wyeliminowanie z planów wykonania zapytań kosztownych (wymagających pamięci i/lub wielu obliczeń) operacji, takich jak sortowanie (sort) czy mieszanie (hash) rekordów;
  3. poprawa współbieżności, czyli umożliwienie wielu jednoczesnym użytkownikom wykonywanie operacji na tych samych tabelach, które w innym wypadku zostałyby automatycznie zablokowane.

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.

prenumerata Numer niedostępny Spis treści

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2019 Presscom / Miesięcznik "IT Professional"