Ciao,
Mi chiedevo come si fa a garantire che un database di una azienda non vada perduto a causa di cancellazioni o malfunzionamento della macchina in cui gira l'applicativo che utilizza il database. In piccole realtà posso capire che manualmente si possa esportare il db e fare una copia di backup a fine giornata, in effetti ho lavorato per una piccola azienda in cui lo stesso applicativo permetteva di fare una cosa del genere ed era proprio quello che si preoccupava di fare il responsabile a fine giornata. Nel caso fosse saltato tutto il server in cui girava il programma durante la giornata si reinstallava il software sul server e si ricaricava il backup del DB con il "SOLO" lavoro aggiuntivo di dover ricaricare i documenti che in giornata non erano ancora stati salvati con il backup (ammesso che si preoccupi di numerare i documenti per capire fino a che punto nella giornata precedente era stato salvato il lavoro).

Ma mi rendo perfettamente conto che è una soluzione troppo casereccia e in ambienti più grandi credo si adottino soluzioni diverse, più affidabili e professionali.

Ora volendo escludere la soluzione in cloud, quali sarebbero queste soluzioni? Certo sul server posso installare HD in un ZFS pool (o un raid 10) che mi avverta che un HD sta magari per rompersi,
ma ci deve essere, penso, anche una soluzione che preveda la sincronizzazione di questo DB in un luogo sicuro o in cloud. Attenzione dico sincronizzazione nel senso che ogni dato o documento che venga caricato nel db del server si aggiorni anche nel DB di backup in modo che si possa andare a recuperare tutto e reinstallare sia l'applicativo che il db fino all'ultimo documento inserito prima che avvenisse il malfunzionamento evitando di caricare così a mano di nuovo
i documenti che non sono stati salvati nel frattempo come esposto nel caso della piccola azienda sopra.
Vi siete mai trovati ad affrontare una problematica del genere?

Facciamo il caso che si sviluppi un semplice applicativo con.. che so io php, pyton e si usi un DB tipo mysql, e lo si faccia girare su un singolo pc o un server centralizzato. Come fareste voi a garantire la salvaguardia del DB nei modi che ho esposto sopra?

Come si risolve a livello professionale la faccenda insomma?
Grazie