Nasza migracja baz danych – czy było warto?

Rozwój systemu Navigator365 wymaga od nas ciągłego poszukiwania najlepszych technologii dla rosnących potrzeb użytkowników. Jednym z kluczowych kroków, które podjęliśmy, była migracja baz danych z Microsoft SQL Server (MSSQL) na PostgreSQL. Co skłoniło nas do tak poważnej decyzji?   

 

Niższe koszty licencji 

Microsoft SQL to bardzo dobry produkt, szeroko stosowany w średnich i dużych przedsiębiorstwach. Niestety, zmiany w sposobie licencjonowania powodują, iż jest to produkt zbyt drogi dla mniejszych klientów. Użycie niektórych komponentów bazy znacząco podnosiło koszty instalacji, gdyż wymagało wyższych (a przez to droższych) modeli licencyjnych.

PostgreSQL to oprogramowanie open-source, co oznacza, że nie ponosimy opłat licencyjnych. Poza tym, licencja umożliwia dostęp do kodów źródłowych sytemu co powoduje, iż w ogólnodostępnych zasobach można znaleźć ogromną ilość materiałów wspierających zarządzanie tym motorem baz danych.

Natomiast dla bardziej wymagających użytkowników dostępne są komercyjne wsparcia dla instalacji PostgreSQL.  Mamy więc rozwiązanie, które pozwala zarówno na darmową instalację ze wszystkimi funkcjonalnościami systemu jak i na komercyjne wsparcie dużych instalacji.

 

Większa elastyczność w środowisku operacyjnym 

PostgreSQL można zainstalować na praktycznie każdym współczesnym systemie operacyjnym takim jak Windowsie, Linuxie czy macOS. Dzięki temu mamy możliwość instalacji na posiadanej infrastrukturze bez konieczności kupowania dodatkowych licencji np. na serwer Windows, co ułatwia zarządzanie infrastrukturą.

 

Obsługa danych JSON i funkcjonalności NoSQL 

Współczesne aplikacje coraz częściej korzystają z elastycznych struktur danych. PostgreSQL umożliwia natywne przechowywanie i przetwarzanie danych w formacie JSON, co otwiera nowe możliwości dla rozwoju Navigatora365.

 

Otwartość kodu pozwalająca na dodawanie własnej funkcjonalności 

PostgreSQL pozwala na dodawanie własnych funkcji, operatorów czy typów danych. Dzięki temu możemy dostosować bazę danych do specyficznych wymagań systemu bez ograniczeń związanych z zamkniętym ekosystemem.

 

Skuteczna obsługa współbieżności  

PostgreSQL wykorzystuje mechanizm MVCC (ang. Multi-Version Concurrency Control) do zarządzania współbieżnością w bazie danych, który pozwala na jednoczesne wykonywanie wielu operacji przez różne transakcje bez wzajemnego blokowania się tych operacji. To pozwala na sprawne działanie nawet przy dużej liczbie równoczesnych zapytań i jest kluczowe dla systemu, który obsługuje wielu użytkowników jednocześnie.

 

Wsparcie społeczności i dokumentacja 

Wokół PostgreSQLa (będącego rozwiązaniem Open Source) zbudowała się szeroka społeczność użytkowników, administratorów i programistów. W ramach tej wspólnoty powstała bardzo rozbudowana dokumentacja w postaci tutoriali, case study i innych materiałów.

W ramach społeczności działają również aktywnie fora i grupy, na których użytkownicy wymieniają się wiedzą. Ułatwia to rozwiązywanie problemów oraz wdrażanie nowych rozwiązań, co jest niezwykle istotne w modelach wdrożenia opartych na koncepcjach no-code i low-code.

 

Zaawansowane opcje replikacji i skalowania 

PostgreSQL daje nam większe możliwości w zakresie replikacji danych i skalowania bazy w miarę rozwoju systemu. Co ważne, możemy korzystać z dostępnych narzędzi bez konieczności wiązania się z konkretnym dostawcą.

 

Zgodność ze standardami SQL 

PostgreSQL ściśle przestrzega standardów SQL, co zwiększa przenośność aplikacji w przyszłości. Dzięki temu możemy łatwiej integrować system z innymi narzędziami.

 

Kontrola nad integralnością danych 

Rozbudowane mechanizmy kontroli integralności danych, takie jak klucze obce czy możliwość definiowania własnych typów danych, pozwalają nam dbać o jakość danych przechowywanych w systemie.

 

A więc czy było warto migrować dane na PostgresSQL?

Tak! Jest to decyzja, która pozwala nam lepiej dostosować infrastrukturę Navigator365 do wymagań współczesnych aplikacji. Zyskujemy większą elastyczność, kontrolę nad danymi i niższe koszty utrzymania. To krok w stronę bardziej skalowalnego i wydajnego systemu, który będzie lepiej wspierał rozwój naszych użytkowników w przyszłości.

 

Rate this article

Become a partner