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



26.10.2020

Nowa wersja nVision

Można już pobierać nową wersję nVision
26.10.2020

Monitorowanie infrastruktury

Vertiv Environet Alert
23.10.2020

Telefonia w chmurze

NFON Cloudya
23.10.2020

Nowości w EDR

Bitdefender GravityZone
23.10.2020

Wykrywanie anomalii

Flowmon ADS11
23.10.2020

Mobilny monitor

AOC 16T2
22.10.2020

HP Pavilion

HP zaprezentowało nowe laptopy z linii Pavilion.
22.10.2020

Inteligentny monitoring

WD Purple SC QD101
22.10.2020

Przełącznik 2,5GbE

QNAP QSW-1105-5T

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"