Najnowsza wersja PostgreSQL 10 już dostępna

PostgreSQL Global Development Group na początku października ogłosiła publikację najnowszej wersji swojej słynnej bazy danych open source – PostgreSQL 10.

Nowa wersja PostgreSQL 10 oferuje liczne udoskonalenia, w szczególności poprawiające wydajność i skalowanie do wielu węzłów: natywną, logiczną replikację, deklaratywne partycjonowanie oraz znacznie bardziej rozwinięte przetwarzanie równoległe.

1. Replikacja logiczna – skalowanie oparte o mechanizm publish/subscribe

Replikacja logiczna to kolejny (po replikacji fizycznej) sposób replikowania bazy danych. Umożliwia znacznie większą granulację niż replikacja fizyczna – czyli możemy replikować wyłącznie dane z pojedynczej bazy (a nie z całego klastra jak do tej pory) lub wyłącznie z wybranej tabeli. Użytkownicy mogą precyzyjnie dostrajać dane replikowane do różnych klastrów baz danych i wykonywać podniesienie wersji bazy danych bez konieczności zakładania okna serwisowego.

2. Deklaratywne partycjonowanie – wygodne dzielenie danych

Partycjonowanie tabel oparte na dziedziczeniu było dostępne w Postgresie od wielu lat. Wymagało jednak sporego nakładu pracy związanego z projektowaniem, pisaniem i utrzymaniem triggerów lub reguł. PostgreSQL 10 wprowadza składnię umożliwiającą łatwe zadeklarowanie i obsługę partycji zawierających listę lub zakres wartości.

3. Równoległe zapytania

W dziesiątej wersji Postgresa zwiększyła się liczba operacji, która może zostać wykonana równolegle.  Są to zarówno dodatkowe metody dostępu do danych, jak i optymalizacje rekombinacji danych, np. przy wstępnym sortowaniu. Wszystkie usprawnienia powodują szybsze zwrócenie wyników.

4. Zatwierdzenie transakcji oparte o kworum dla replikacji synchronicznej

Ta modyfikacja umożliwia uelastycznienie sposobu, w jaki master otrzymuje potwierdzenie, że zmiany zostały pomyślnie zapisane na zdalnych replikach. Administrator może teraz określić, że jeśli pewna liczba replik potwierdziła dokonanie zmiany w bazie danych, dane można uznać za bezpiecznie zapisane.

5. Uwierzytelnianie SCRAM-SHA-256 – bezpieczeństwo dostępu do danych

SCRAM (ang. Salted Challenge Response Authentication Mechanism) to mechanizm zdefiniowany w RFC5802. Definiuje protokół poprawiający bezpieczne przechowywanie i przesyłanie haseł. W porównaniu do dotychczasowej metody uwierzytelniania haseł opartych na MD5 metoda uwierzytelniania SCRAM-SHA-256 zdefiniowana w RFC7677 zapewnia wyższy poziom bezpieczeństwa.

top