Profilu klientów, zamówienia, faktury i uprawnienia mają relacje, które produkt musi utrzymać spójne. PostgreSQL to otwartoźródłowa relacyjna baza danych wspierająca transakcje, ograniczenia i złożone zapytania. Może ona zapewnić solidną podstawę dla tych rekordów. Niezawodność jednak wynika z tego, jak baza danych jest projektowana, zarządzana i przywracana - nie z samego jej zainstalowania.
Fakty modelu i relacje
Przede wszystkim każdemu ważnemu rekordowi nadaj jasną tożsamość. Użyj kluczy obcych do reprezentowania relacji i ograniczeń do wykluczania możliwych stanów. Przechowuj pieniądze i daty czasu z odpowiednimi typami. Schemat, który odzwierciedla zasady biznesowe, zmniejsza liczbę miejsc, w których aplikacja musi zgadywać, czy dane są poprawne.
Transakcje zapobiegają częściowej pracy
Niektóre operacje muszą się udać lub zawieść razem: tworzenie zamówienia i rezerwacja zapasu, na przykład. Transakcje pozwalają aplikacji chronić te granice. Nie eliminują one każdego problemu konkurencyjności, więc sprawdzaj, co się dzieje, gdy dwa użytkownicy aktualizują ten sam zasób jednocześnie.
Wydajność jest mierzalna
Indeksy przyspieszają wybrane zapytania, ale generują koszty zapisu i przechowywania. Przeglądaj prawdziwe powolne zapytania i ich plany wykonania przed ich dodaniem. Paginacja, poolowanie połączeń i rozsądne polityki retencji często mają tak samo znaczenie jak inteligentne zapytanie. Zapobiegaj aplikacji do pytan o więcej danych, niż ekran potrzebuje.
Zarządzaj ją jako krytyczną infrastrukturę
Kopie zapasowe powinny być automatyczne a przywracanie należy ćwiczyć. Ogranicz uprawnienia bazy danych, stosuj aktualizacje i monitoruj pojemność. Zdecyduj, kto odpowiada, gdy pamięć się wypełnia lub migracja zawodzi. Umiarkowany schemat z przetestowanym przywracaniem jest zazwyczaj bardziej wartościowy niż skomplikowany projekt, którego nikt nie może bezpiecznie zmienić.



