W kontekście bazy danych „duplikat” odnosi się do duplikatu lub replikacji bazy danych, która zapewnia redundancję, zwiększoną dostępność i odporność na awarie systemu lub uszkodzenie danych. Dublowanie bazy danych polega na utworzeniu dokładnej repliki podstawowej bazy danych na osobnym serwerze (często nazywanym serwerem lustrzanym), który w sposób ciągły i asynchroniczny aktualizuje się w celu dopasowania do serwera podstawowego. Mirroring gwarantuje, że istnieją kopie zapasowe najważniejszych danych i składników aplikacji, które można wdrożyć w sytuacjach przełączania awaryjnego. Takie sytuacje mogą obejmować awarie serwerów, zerwane połączenia sieciowe lub awarie sprzętu.
Dublowanie baz danych jest szeroko stosowaną strategią w świecie tworzenia oprogramowania, ponieważ oferuje szereg korzyści, takich jak zwiększona odporność na błędy, uproszczone procedury odtwarzania i lepsza wydajność. Dzięki dublowaniu kluczowe dane są mniej narażone na utratę lub uniemożliwienie dostępu do nich podczas nieoczekiwanych zdarzeń, co zapewnia bezproblemowe działanie zależnych od nich aplikacji. Co więcej, lustrzana baza danych umożliwia programistom przenoszenie zadań odczytu do serwera lustrzanego, zwiększając w ten sposób wydajność serwera podstawowego.
W dziedzinie baz danych stosuje się różne techniki tworzenia kopii lustrzanych, ale jedną z najbardziej powszechnych jest tworzenie kopii lustrzanych „synchronicznych”. W przypadku synchronicznego tworzenia kopii lustrzanych wszelkie zmiany wprowadzone w podstawowej bazie danych są natychmiast synchronizowane z lustrzaną bazą danych. Ten tryb gwarantuje, że na serwerze lustrzanym zawsze znajduje się aktualna kopia podstawowej bazy danych. Alternatywna koncepcja „asynchronicznego” tworzenia kopii lustrzanych obejmuje rejestrowanie zmian wprowadzonych w podstawowej bazie danych, a następnie zastosowanie tych zmian w lustrzanej bazie danych. Chociaż asynchroniczne tworzenie kopii lustrzanych może powodować pewne opóźnienia w aktualizowaniu lustrzanej bazy danych, w pewnych sytuacjach zapewnia większą elastyczność i wzrost wydajności.
W kontekście platformy AppMaster bez kodu , dublowanie baz danych może być wykorzystane do zwiększenia bezpieczeństwa i niezawodności aplikacji zaplecza, które zależą od baz danych, zapewniając zachowanie i ochronę danych użytkownika nawet w przypadku awarii systemu. Klienci AppMaster, którzy polegają na bazach danych kompatybilnych z Postgresql jako podstawowym rozwiązaniu do przechowywania danych, mogą skorzystać z funkcji dublowania do tworzenia wysoce odpornych i wydajnych aplikacji. Ta dodatkowa warstwa ochrony jest szczególnie istotna w przypadku systemów o znaczeniu krytycznym, które nie mogą sobie pozwolić na żadne przestoje ani utratę danych.
AppMaster umożliwia tworzenie kopii lustrzanych baz danych poprzez generowanie rzeczywistych aplikacji, dając klientom elastyczność wdrażania tych aplikacji w chmurze i hostowania ich lokalnie. Dzięki automatycznemu generowaniu dokumentacji swagger (otwartego interfejsu API) dla endpoints serwera i skryptów migracji schematu bazy danych, AppMaster upraszcza zadanie konfigurowania lustrzanych systemów baz danych. Co więcej, klienci mogą szybko regenerować aplikacje, gdy jest to konieczne, bez długu technicznego i łatwej adaptacji do wszelkich zmian w implementacji dublowania bazy danych.
Dublowania baz danych można również używać w połączeniu z innymi strategiami odzyskiwania danych po awarii i mechanizmami wysokiej dostępności, takimi jak tworzenie klastrów, tworzenie kopii zapasowych i replikacja, które jeszcze bardziej zwiększają wszechstronną odporność na awarie, poprawę wydajności i możliwości ochrony danych.
Koncepcja tworzenia kopii lustrzanych baz danych jest istotną kwestią w nowoczesnej architekturze oprogramowania, ponieważ zapewnia efektywne zarządzanie nadmiarowymi danymi, wysoką dostępność i solidną odporność na awarie. AppMaster ma twórczo wbudowane dublowanie baz danych jako kluczową funkcję platformy, umożliwiając firmom każdej wielkości i branży tworzenie odpornych aplikacji internetowych, mobilnych i zaplecza. Wykorzystując platformę AppMaster, klienci mogą zabezpieczyć swoje przedsiębiorstwa i przypadki użycia o dużym obciążeniu, jednocześnie korzystając z wysoce skalowalnego, ujednoliconego środowiska programistycznego do projektowania i wdrażania zaawansowanych aplikacji.