PostgreSQL jest jednym z bardziej popularnych systemów zarządania obiektowo-relacyjną bazą danych i jednym z niewielu systemów zarządania bazą danych oferujących obiektowo-relacyjne podejście do baz danych.

Czym jest obiektowo relacyjna baza danych?

Obiektowo-relacyjna baza danych jest połączeniem relacyjnej bazy danych z obiektową bazą danych. Podobnie jak MySQL, PostgreSQL, zwany również Postgresem (nie mylić z poprzednikiem PostgreSQL, zwanego POSTGRES), pozwala na trzymanie danych w postaci tabel opisanych jakimiś relacjami oraz na manipulacje tych danych za pomocą języka zapytań. Dodatkowo, integruje on obiektowe podejście do baz danych z relacyjnym pozwalając on na utrzymanie narzędzi znanych z relacyjnych baz danych ale poszerzonych o możliwości związane z obiektowością: obiekty, klasy i dziedziczenie. Podobnie jak w programowaniu obiektowym możemy stworzyć klasę oraz jej obiekty i klase dziedziczącą po tej klasie. Jedną z różnic jest to, że obiektowo-relacyjna baza danych pozwala na używanie strukturalnego języka zapytań znanego z relacyjnych baz danych do efektywnego i szybkiego przeszukiwania danych niedostępnego w obiektowych bazach danych.

O PostgreSQL

POSTGRES powstał jako ewolucja powstałego na University Of California, Berkeley projektu Ingres, stąd też pochodzi jego nazwa: Post-ingres. Michael Stonebraker, naczelnik zespołu pracującego nad Ingresem, wrócił aby pracować nad ulepszeniem pierwotnego projektu: aby dodać do relacjynego modelu bazy danych możliwość używania typów wprowadzając możliwie najmniejszą ilość zmian. Pracując nad projektem przez 3 lata od 1986 roku zespół wypuścił pierwszą wersją w czerwcu 1989 do poczatkowo bardzo małej ilości użytkowników. W przeciągu kilku lat zyskał on sporą popularność w skutek czego zespół został zasypany prośbami o ulepszanie lub wprowadzanie nowych możliwości. W skutek tego prace nad nim zosały zakończone i 30 czerwca 1994 roku została wypuszczona finalna wersja pod licencją typu MIT. W tym samym roku, dwoje studentów z University of California, Berkeley postanowiło usprawnić POSTGRES zmieniając jego język zapytań POSTQUEL na bardziej popularny i relacyjny SQL tworząc Postgres95. W dwa lata zyskał on dużą popularność i zespół nad nim pracujący znacznie się powiększył. Aby lepiej oddać fakt że Posgres95 używa SQL zmieniono jego nazwą na używanego do dziś PostgreSQL-a. Początkowo PostgreSQL został wypuszczony w wersji 6.0 w styczniu 1997. Od tego czasu grupa która się nim zajmuje nazywa się The PostgreSQL Global Development Group i rozwija go do dziś.

Zalety systemu PostgreSQL

Hybrydowość

Postgres jest jednym z niewielu systemów zarządzania bazami danych które oferują relacyjny model bazy danych łącznie z obiektowym dając najlepsze rozwiązania z obu modeli.

Otwarte Oprogramowanie

Dzięki temu że PostgreSQL jest pod licencją typu open source to jest nie tylko darmowy ale również pozwala na dowolną modyfikacje kodu źródłowego dając możliwość dopasowania go do swoich wymagań.

Niezawodność

Będąc nieustannie usprawniany od prawie 20 lat, PostgreSQL jest jednym z najbardziej niezwodnych i funkcjonalnych systemów zarządzania bazą danych.

Możliwości systemu PostgreSQL

Będąc oprogramowaniem typu open source PostgreSQL oferuje szeroki zestaw możliwości które są nieustannie usprawnianie:

  • Wieloplatformowność: PosgreSQL jest dostępny na wszystkich systemach typu UNIX oraz Windows.
  • Obiektowość: Będąc obiektowo-relacyjnym systemem baz danych PostgreSQL pozwala na tworzenie własnych typów danych.
  • Skalowalność: Postgres poradzi sobie nawet z największymi bazami danych: tablica o maksymalnym rozmiarze 32 TB, rząd o maksymalnym rozmiarze 1.6 TB, pole o maksymalnym rozmiarze 1 GB oraz nieograniczony rozmiar samej bazy.
  • System zasad: System który pozwala na stowrzenie reguł które rozpoznają operacje na konkretnych tabelach i dynamicznie zmieniają je na alternatywne operacje.
  • Zaawansowane indeksowanie: PostgreSQL oferuje indeksowanie GiST (Generalized Search Tree) które oferuje wiele wydajnych algorytmów na wyszukiwanie i sortowanie.
  • Procedury składowane: Postgres daje możliwość używania ponad tuzina języków programistycznych do składowanych procedur: Java, Python, Perl, Ruby, C/C++, Tcl czy PL/pgSQL.
  • Integralność danych: W jej skład wchodzą klucze główne, obce z ograniczeniami i kaskadującymi aktualizacjami/usuwaniami oraz więzy spójności typu check, unique oraz not null.
  • Partycjonowanie: które usprawnia wydajnośc oraz zarządanie gigantycznimi bazami danych.

Przydatne linki