Baza danych jako IPC

W programowaniu komputerowym Baza danych jako IPC może być uważana za antywzorzec , w którym utrwalona na dysku tabela w bazie danych jest używana jako magazyn kolejki komunikatów do rutynowej komunikacji międzyprocesowej lub subskrybowanego przetwarzania danych. Jeśli zależy nam na wydajności bazy danych, alternatywne rozwiązania obejmują gniazda , gniazdo sieciowe lub kolejkę komunikatów .

Brytyjski informatyk Junade Ali zdefiniował anty-wzorzec Database-as-IPC jako użycie bazy danych do „planowania zadań lub kolejkowania zadań do wykonania”, zauważając, że ten anty-wzorzec koncentruje się na używaniu bazy danych dla tymczasowych wiadomości zamiast trwałe dane.

Spór

Problem pojawia się, jeśli występuje problem z wydajnością i jeśli dodatkowe systemy (i serwery) mogą być uzasadnione. Jeśli chodzi o wydajność, ostatnie postępy w systemach baz danych zapewniają bardziej wydajne mechanizmy sygnalizacji i przesyłania komunikatów, a systemy baz danych obsługują również tabele pamięci (nietrwałe).

Istnieją bazy danych z wbudowanymi mechanizmami powiadamiania, takie jak Postgres, SQL Server czy Oracle. Te mechanizmy i przyszłe ulepszenia systemów baz danych mogą sprawić, że kolejkowanie stanie się znacznie bardziej wydajne i pozwoli uniknąć konieczności konfigurowania oddzielnego systemu kolejek sygnalizacyjnych lub komunikatów wraz z kosztami związanymi z serwerem i zarządzaniem.

Chociaż MySQL nie obsługuje bezpośrednio powiadomień, możliwe są pewne obejścia. Byłyby one jednak postrzegane jako niestandardowe, a przez to trudniejsze do utrzymania.