PostgreSQL
2 minuty czytania
PostgreSQL jest popularnym systemem zarządzania bazami danych relacyjnych, który jest szczególnie doceniany za swoją elastyczność i wydajność. Jest to rozwijająca się platforma, która oferuje szerokie spektrum funkcji i narzędzi, a także jest w pełni zgodna z SQL.
Ostatnie oferty pracy
PostgreSQL jest to obiektowo-relacyjna baza danych. Dodatkowo rozpowszechniona przy wykorzystaniu licencji PostgreSQL, która jest bardzo podobna do MIT lub BSD. Rozszerza składnię SQL o dodatkowe funkcjonalności i jest bardzo często wykorzystywana w produkcyjnych rozwiązaniach, tam gdzie baza danych typu MySQL nie daje rady. Posiada wbudowanych wiele typów danych, takich jak chociażby JSONB, gdy potrzebujemy przechowywać w niej większe nieustrukturyzowane formacje danych bez potrzeby korzystania z rozwiązania NoSQL. Najczęstszym powodem wyboru właśnie PostgreSQL jest właśnie wsparcie dla wielu typów danych oraz pełne wsparcie dla transakcji typu ACID. W porównaniu do MySQL bardzo dobrze radzi sobie z rozbudowanymi zapytaniami, natomiast w przypadku prostych zapytań cechuje się podobną wydajnością. PostgreSQL posiada wbudowany mechanizm replikacji, który może być od razu wykorzystany. Poza tym daje możliwość budowania indeksów opartych o B-tree strukturę lub tabelę hash.
PostgreSQL posiada szeroką społeczność, która zapewnia jej wsparcie, a także posiada częste aktualizacje. Jest to najczęściej wykorzystywana baza danych dla serwerów web, aplikacji finansowych wymagających pełnego wsparcia ACID, a także wszystkich rozwiązań, gdzie wymagane jest długie nieprzerwane działanie i niezawodność.
Bezpieczeństwo bazy danych w bazie danych PostgreSQL
Bezpieczeństwo danych zależy od tego jak skonfigurujemy nasz serwer na którym będzie składowany. Warto pamiętać o tym by na serwerze był ustawiony firewall, a komunikacja z bazą danych odbywała się poprzez TLS. W naszych rozwiązaniach bazujących na architekturze AWS dbamy o to by serwer PostgreSQL był w wydzielonej sieci prywatnej bez dostępu do niej bezpośrednio z internetu, a jedynie z sieci prywatnej z dostępem do internetu na którym ustawiony jest backend. Dodatkowo dbamy o to by backupy były zautomatyzowane i wykonywane raz dziennie. Dbając o bezpieczeństwo danych warto pokusić się o rozwiązanie typu master-slave, gdzie drugi serwer działałby albo w trybie read-only, albo był w pogotowiu do uruchomienia gdyby wersja master utraciła dostępność. Warto pamiętać by nie przechowywać kluczy takich jak hasło w repozytorium kodu Github, a jedynie w zmiennych środowiskowych przechowywanych w zaszyfrowanej formie. Warto pamiętać o haszowaniu kluczowych informacji przechowywanych w bazie danych takich jak chociażby hasła by nawet w przypadku wycieku danych nie były możliwe do odgadnięcia.
Powiązane artykuły
SQLAlchemy - najważniejsze informacje i podstawowa konfiguracja
3 lip 2023
SQLAlchemy to popularna biblioteka Pythona służąca do obsługi baz danych. W artykule przedstawione zostaną najważniejsze informacje na temat SQLAlchemy oraz podstawowa konfiguracja, które pomogą programistom efektywnie korzystać z tej biblioteki. Czytelnik dowie się, jak zainstalować SQLAlchemy, jak skonfigurować połączenie z bazą danych oraz pozna podstawowe metody manipulacji danymi.

Priming w strategiach marketingowych: jak to działa?
26 lis 2023
Priming to wyrafinowane narzędzie w strategiach marketingowych, oparte na psychologicznych aspektach percepcji. Przez subtelne wywołanie skojarzeń, możliwe jest kierowanie zachowaniami i decyzjami klientów. Jak jednak działa ten mechanizm i jak może być skutecznie wykorzystany w praktyce? Zanurzmy się w fascynujący świat marketingu ukierunkowanego przez priming.
PMBoK: Klucz do skutecznego zarządzania projektami. Jak go prawidłowo zastosować?
26 lis 2023
Klucz do skutecznego zarządzania projektami często leży w dostosowaniu odpowiednich metodologii do specyfiki danej organizacji. W tym kontekście, PMBoK (Project Management Body of Knowledge) wyłania się jako jedno z podstawowych narzędzi wykorzystywanych przez profesjonalistów. Artykuł ten ma na celu wyjaśnić, jak skutecznie zastosować PMBoK w praktyce, co pozwoli na sprawniejsze i bardziej efektywne prowadzenie projektów.
Atom - Czy ten edytor kodu jest idealnym narzędziem na co dzień?
25 lis 2023
W świecie programowania narzędzia są kluczowe. Edytor kodu może sprawić, że proces tworzenia aplikacji będzie przyjemnością albo koszmarem. Jeden z nich, Atom, zdobywa coraz większą popularność. Czy jest to idealne, codzienne narzędzie dla developerów?
Feature Flag: Odkrywamy potęgę kontroli funkcjonalności
25 lis 2023
Feature Flags, znane również jako Flagi Funkcjonalne, to potężne narzędzia dające programistom wyjątkową kontrolę nad funkcjonalnościami aplikacji. Kiedy powinniśmy z nich korzystać? Jak wprowadzają elastyczność do procesu rozwoju oprogramowania? W naszym artykule zgłębimy tę tematykę.
SpecFlow: Zrozum i Zastosuj Narzędzie do Behavior-Driven Development
25 lis 2023
SpecFlow, popularne narzędzie do Behavior-Driven Development (BDD), znacznie ułatwia tworzenie aplikacji poprzez skupienie się na funkcjonalności z perspektywy użytkownika. Ten artykuł pomoże Ci zrozumieć SpecFlow i efektywnie wykorzystać jego możliwości, aby przyspieszyć proces tworzenia oprogramowania.
Global Interpreter Lock (GIL) - czym jest i jak wpływa na programowanie w Pythonie
24 lis 2023
Global Interpreter Lock (GIL) to mechanizm, który wpływa na sposób, w jaki Python wykonuje kod. Mimo że ma za zadanie kontrolować dostęp do zasobów pamięci, jego obecność może wpływać na skomplikowane scenariusze wielowątkowe. Pozwólmy sobie przyjrzeć się bliżej temu zagadnieniu.
Zobacz wszystkie artykuły