Co to jest PostgreSQL?

PostgreSQL to system zarządzania bazami danych (SУБД), który wykorzystuje model relacyjny dla swoich baz danych i obsługuje standardowy język zapytań SQL.
PostgreSQL oferuje wiele różnych możliwości, jest dość niezawodny i ma dobre parametry wydajnościowe. Działa praktycznie na wszystkich platformach UNIX, w tym na systemach UNIX-podobnych, takich jak FreeBSD i Linux. Może być stosowany na Windows NT Server i Windows 2000 Server, a do rozwoju nadają się nawet takie systemy Microsoft dla stacji roboczych, jak ME. Ponadto PostgreSQL jest rozpowszechniany bezpłatnie i ma otwarty kod źródłowy.
PostgreSQL korzystnie wyróżnia się na tle wielu innych SУБД. Posiada praktycznie wszystkie funkcje, które są dostępne w innych bazach danych (komercyjnych lub Open Source), a także niektóre dodatkowe.
Przedstawiamy listę funkcjonalności PostgreSQL (przedstawioną w odpowiedziach na często zadawane pytania dotyczące PostgreSQL):
- Transakcje
- Zapytania zagnieżdżone
- Widoki
- Integralność referencyjna — klucze obce
- Złożone blokady
- Typy definiowane przez użytkownika
- Dziedziczenie
- Reguły
- Sprawdzanie zgodności wersji
Począwszy od wersji 6.5, PostgreSQL jest bardzo stabilnym systemem, każda kolejna wersja przechodzi procedurę testowania regresyjnego, co zapewnia stabilność. Wersja 7.x PostgreSQL jest bliższa niż kiedykolwiek zgodności ze standardem SQL92, usunięto irytujące ograniczenie rozmiaru wiersza.
Podczas eksploatacji PostgreSQL wykazała się jako godna zaufania SУБД. Każda wersja jest bardzo dokładnie testowana, wersje beta przechodzą co najmniej miesięczne testy. Dzięki licznej społeczności użytkowników i otwartemu dostępowi do kodu źródłowego błędy są bardzo szybko poprawiane.
Wydajność tego SУБД również rośnie z wersji na wersję, a ostatnie certyfikacje pokazują, że w pewnych warunkach nie ustępuje produktom komercyjnym. Niektóre systemy, które nie mają tak pełnego zestawu funkcji, przewyższają PostgreSQL pod względem wydajności, ale kosztem utraty funkcjonalności. W przypadku dość prostych aplikacji taką rolę odgrywa baza danych składająca się z plików płaskich.
Architektura PostgreSQL
Jedną z mocnych stron PostgreSQL jest jej architektura. Podobnie jak wiele komercyjnych SУБД, PostgreSQL może być stosowany w środowisku klient-serwer, co daje wiele korzyści zarówno użytkownikom, jak i deweloperom.
Podstawą PostgreSQL jest proces serwera bazy danych. Jest on wykonywany na jednym serwerze. (W tym SУБД nie została jeszcze zaimplementowana technologia wysokiej dostępności, jak w niektórych innych komercyjnych systemach klasy enterprise, które mogą rozkładać obciążenie między kilka serwerów, osiągając w ten sposób dodatkową skalowalność i odporność na wpływy zewnętrzne.)
Dostęp z aplikacji do danych bazy odbywa się poprzez proces bazy danych. Programy klienckie nie mogą samodzielnie uzyskać dostępu do danych, nawet jeśli działają na tym samym komputerze, na którym wykonywany jest proces serwera.
Takie rozdzielenie klientów i serwera pozwala na zbudowanie systemu rozproszonego. Można oddzielić klientów od serwera za pomocą sieci i tworzyć aplikacje klienckie w środowisku wygodnym dla użytkownika. Na przykład, można zaimplementować bazę danych pod UNIX i stworzyć aplikacje klienckie, które będą działać w systemie Microsoft Windows.
Kilku klientów łączy się z serwerem przez sieć. PostgreSQL jest zorientowany na protokół TCP/IP — może to być sieć lokalna lub Internet. Każdy klient łączy się z głównym procesem serwera bazy danych, który tworzy nowy proces serwera specjalnie do obsługi żądań dostępu do danych konkretnego klienta.
Dzięki temu, że manipulowanie danymi jest skoncentrowane na serwerze, SУБД nie musi kontrolować licznych klientów uzyskujących dostęp do współdzielonego katalogu serwera, a PostgreSQL może utrzymywać integralność danych nawet przy jednoczesnym dostępie dużej liczby użytkowników.
Aplikacje klienckie łączą się z bazą za pomocą specjalnego protokołu PostgreSQL. Można jednak zainstalować po stronie klienta oprogramowanie, które zapewnia standardowy interfejs do pracy z wymaganą aplikacją, np. zgodnie ze standardem ODBC lub JDBC. Dostępność sterownika ODBC pozwala na wykorzystanie PostgreSQL jako bazy danych dla wielu istniejących aplikacji, w tym produktów Microsoft Office, takich jak Excel i Access.
Architektura klient-serwer umożliwia podział pracy. Maszyna-serwer jest dobrze przystosowana do przechowywania i zarządzania dostępem do dużych ilości danych, może być używana jako niezawodne repozytorium. Dla klientów mogą być opracowane złożone aplikacje graficzne. Alternatywnie, można stworzyć interfejs zewnętrzny oparty na Internecie, który zapewniałby dostęp do danych i zwracał wyniki w postaci stron internetowych do standardowej przeglądarki internetowej, bez konieczności instalowania dodatkowego oprogramowania klienckiego.
Na podstawie:
Назад