Pozbywanie się bezczynnych transakcji w PostgreSQL – jak to zrobić?

2018-02-05
blank

Jedną ze zmór administratorów baz danych są sesje, które rozpoczęły blok transakcyjny poleceniem BEGIN, ewentualnie wykonały jakieś operacje i „zamarły”. Mogą stanowić sporą przeszkodę w sprawnej pracy klastra – alokują zasoby, mogą być przyczyną problemów z lokowaniem tabel (LOCK TABLE), ograniczają pulę połączeń, opóźniają replikację i procesy VACUUM.

Czytaj więcej

Typy indeksów w PostgreSQL. Bloom – kontra dla B-tree?

2018-01-29
blank

Dobrze zaprojektowana baza oparta o relacyjny system zarządzania powinna w jakimś (i to raczej w większym) stopniu uwzględniać postulaty Edgara F. Codda – także te dotyczące postaci normalnych. Respektowanie tych założeń powoduje powstanie w strukturze tabel przechowujących klucze główne do wielu innych tabel. Tabele te są bardzo często przeszukiwane – np. podczas filtrowania. Warto zatem zadbać o ich optymalizację pod tym kątem. Artykuł ten porównuje wydajność dwóch indeksów: b-tree oraz bloom na silniku PostgreSQL w wersji 10.

Czytaj więcej

Porównanie możliwości PostgreSQL: indeksować czy partycjonować?

2017-11-30
blank

Przetwarzanie dużej ilości danych zawsze stanowi wielopoziomowe wyzwanie. Począwszy od doboru sprzętu i oprogramowania, przez projekt struktury przechowywanych danych aż po finalną optymalizację zapytań. Poniższy artykuł porównuje wydajność dwóch funkcjonalności silnika PostgreSQL 10 – partycjonowania tabel i indeksu typu BRIN, służących między innymi do optymalizacji wyszukiwania na obszernych zbiorach danych.

Czytaj więcej

PostgreSQL – okrągła, 10. wersja

2017-10-25
blank

Bez większego wahania można stwierdzić, że ostatni kwartał 2017 roku w świecie baz danych będzie należał do PostgreSQL 10, ponieważ ilość (i jakość) zmian, jaką wnosi to wydanie, naprawdę robi wrażenie. Nadmienić trzeba, że są to zmiany w stylu typowym dla Postgresa, polegające na ciągłej i stabilnej ewolucji narzędzia.

Czytaj więcej

Pozyskiwanie wiedzy o kondycji PostgreSQL

2017-07-31
blank

Systemy bazodanowe, zgodnie z ich podstawowym zastosowaniem, podlegają zmianom w czasie. Zmienia się szereg czynników takich jak ilość danych, sposób ich wykorzystania, wykorzystywane procedury, mechanizmy dostępu, pula klientów. Zmienność zależna jest od wielu czynników i nie da się jej jednoznacznie opisać. Naturalnie, zmienność ta powoduje zmiany w kondycji systemu bazodanowego. Przed użytkownikami odpowiedzialnymi za wydajność i stabilność aplikacji staje zadanie sprawdzenia tej kondycji i podjęcia odpowiednich kroków.

Czytaj więcej

Nierelacyjne struktury danych i ich składowanie w relacyjnych bazach danych

2017-05-04
blank

Wraz z rozwojem sprzętu, na którym wykonywany jest kod aplikacji, atomizacją procesów oraz coraz większym zasięgiem technologi informacyjnej, zwiększa się także ilość nierelacyjnych struktur danych. Nie jest to zjawisko nowe, bo taką formę pełniły, i do dziś pełnią pliki, do których mogą sięgać aplikacje. Jednak w miarę powstawania kolejnych rozwiązań, opartych o odrębne, wyspecjalizowane usługi, zwiększa się potrzeba dostępu do danych tego typu z różnych usług i przy wykorzystaniu wydajniejszych metod.

Czytaj więcej