Postgres-XC – czyli klaster serwerów PostgreSQL o wysokiej dostępności z równoważeniem obciążenia

Czym jest Postgres-XC?

Postgres-XC jest rozszerzeniem PostgreSQL i dziedziczy większość jego funkcji. Oprogramowanie to udostępnia skalowalne dla zapisu, synchroniczne, symetryczne i transparentne dla urzytkownika rozwiązanie klastra PostgreSQL. Jest to zbiór ściśle połączonych elementów bazy danych, które działają jako całość mogąc być zainstalowane na więcej niż jednej maszynie.

Czytaj dalej

Foreign Data, Table, Server – czyli obce dane, tabele i servery w PostgreSQL

PostgreSQL realizuje części specyfikacji SQL/MED, co pozwala na dostęp do danych które znajdują się na poza bazą PostgeSQL za pomocą zwykłych zapytań SQL. Takie dane są określane jako „dane obce” (ang. foreign data). (Nie ma to żadnego związku z kluczami obcymi, które są rodzajem przymusu w bazie danych.)

Dosęp do danych obcych jest możliwy przy pomocy „wraperów danych obcych” (ang. foreign data wrapper). Wrapper danych obcych to biblioteka, która może komunikować się z zewnętrznym źródłem danych, ukrywając szczegóły połączenia ze źródłem i uzyskiwania z niego danych. Istnieje kilka wbudowanych wrperów danych obcych dostępnych jak na przykład postgres_fdw lub file_fdw. A Jeśli nie uda się znaleźć gotowego wrapera dla danego typu danych obcych to można go napisać samemu.

Czytaj dalej

Replikacja i skalowanie PostgreSQL

Istnieje wiele metod replikacji i skalowania baz danych PostgreSQL aby wykorzystywał wiele maszyn. Poniżej zaprezentuje niektóre z dostępnych rozwiązań. Trzeba podkreślić, że nie ma jednego uniwersalnego/najlepszego rozwiązania replikacji i/lub skalowania baz danych PostgreSQL (tak jak PostgrSQL nie jest uniwersalnym/najlepszym rozwiązaniem we wszystkich zastosowaniach, a jedynie w ich pewnym <<aczkolwiek dość szerokim>> podzbiorze.)

Czytaj dalej

pg_pool-II — jedno z ciekawszych rozwiązań replikacji (i nie tylko) PostgreSQL

W poniższym artykule przedstawiam streszczenie najważniejszych cech oraz najistotniejszych braków systemu replikacji baz danych PostgreSQL jakim jest pg_pool-II.
Czytaj dalej

Przestrzenie tabel PostgreSQL – TABLESPACES

Przestrzenie tabel (ang tablespaces) PostgreSQL pozwalają na zdefiniowanie położenia w systemie plików, w którym przechowywane będą pliki reprezentujące obiekty bazy danych. Po utworzeniu przestrzeni tabel można odwoływać się do niej po nazwie podczas tworzenia obiektów bazy.
Jest to użyteczne jeśli kończy się miejsce na dysku/volumenie na którym klaster PostgreSQL został zainicjalizowany i nie można go rozszerzyc, wtedy przestrzeń tabel można utworzyć na osobnym dysku, w dodatku bez zatrzymywania PostgreSQL.
Ponadto, przestrzenie tabel umożliwiają na wykorzystanie wiedzy o wykorzystaniu struktury obiektów bazy do optymalizacji wydajności, np. poprzez umieszczenie mocno wykorzystywanych indeksów na bardzo wydajnych dyskach, np. SDD.

Czytaj dalej