{"id":92367,"date":"2020-08-26T07:42:09","date_gmt":"2020-08-26T05:42:09","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/putevoditel-po-rezervnomu-kopirovaniyu-baz-dannyh"},"modified":"2020-08-26T07:42:09","modified_gmt":"2020-08-26T05:42:09","slug":"putevoditel-po-rezervnomu-kopirovaniyu-baz-dannyh","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/putevoditel-po-rezervnomu-kopirovaniyu-baz-dannyh","title":{"rendered":"Guida al backup dei database","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<blockquote><p>\u2013 Oh, nessun rifugio pu\u00f2 resistere all'impatto di un meteorite. Ma come tutti, anche voi avete un backup, quindi non dovete preoccuparvi.<\/p>\n<p><i>Stanis\u0142aw Lem, \u00abDiari stellari di Ijon Tichy\u00bb<\/i><\/p><\/blockquote>\n<p>\nPer backup si intende la conservazione di una copia dei dati in un luogo diverso da quello principale in cui sono memorizzati.<\/p>\n<p><img decoding=\"async\" alt=\"Guida al backup dei database\" src=\"\/wp-content\/uploads\/2020\/08\/c1dba0d8999cab69315560dfc57546e0.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nL'obiettivo principale del backup \u00e8 il ripristino dei dati dopo una loro perdita. A tale proposito, si sente spesso dire che, grazie alla replica del database, \u00e8 sempre possibile recuperare i dati e che il backup non \u00e8 necessario. In realt\u00e0, il backup consente di affrontare almeno tre problemi che non possono essere risolti con la replica, e non \u00e8 possibile inizializzare una replica senza un backup.<\/p>\n<p>In primo luogo, un backup consente di ripristinare i dati dopo un errore logico. Ad esempio, un contabile ha eliminato un insieme di registrazioni o un amministratore di database ha distrutto uno spazio tabellare. Entrambe le operazioni sono assolutamente legittime dal punto di vista del database, e il processo di replica riprodurr\u00e0 queste operazioni nel database replica.<\/p>\n<p>In secondo luogo, i moderni sistemi di gestione dei database sono molto affidabili, tuttavia a volte si verificano danni alle strutture interne del database, facendo s\u00ec che l'accesso ai dati venga perso. Ci\u00f2 che \u00e8 particolarmente deludente \u00e8 che queste violazioni avvengono solitamente sotto alta carico o durante l'installazione di un aggiornamento. Ma sia l'alta carico che gli aggiornamenti regolari indicano che il database non \u00e8 affatto un ambiente di test e i dati in esso contenuti sono preziosi.<\/p>\n<p>Infine, il terzo compito, la cui risoluzione richiede una copia di backup, \u00e8 la clonazione del database, ad esempio per scopi di test.<\/p>\n<p>Il backup dei database si basa in qualche modo su uno dei due principi:<\/p>\n<ul>\n<li>Estrazione dei dati seguita dal salvataggio in un formato arbitrario;<\/li>\n<li>Cattura dello stato dei file del database e salvataggio dei registri.<\/li>\n<\/ul>\n<p>\nEsaminiamo questi principi e gli strumenti che li attuano pi\u00f9 in dettaglio.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Esportazione dei dati<\/h3>\n<p>\nNel pacchetto di strumenti accompagnatori per qualsiasi DBMS, ci sono certamente strumenti per l'esportazione e l'importazione dei dati. I dati possono essere salvati in un formato testuale o in un formato binario specifico per il singolo DBMS. Nella tabella qui sotto \u00e8 riportato un elenco di tali strumenti:<\/p>\n<p>Formato binario<br \/>\nFormato testuale<\/p>\n<p>Oracle<br \/>\nDataPump Export\/DataPump Import<br \/>\nExport\/Import<br \/>\nSQL*Plus\/SQL*Loader<\/p>\n<p>PostgreSQL<br \/>\npg_dump, pg_dumpall\/pg_restore<br \/>\npg_dump, pg_dumpall\/psql<\/p>\n<p>Microsoft SQL Server<br \/>\nbcp<br \/>\nbcp<\/p>\n<p>DB2<br \/>\nunload\/load<br \/>\nunload\/load<\/p>\n<p>MySQL<\/p>\n<p>mysqldump, mysqlpump\/mysql, mysqlimport<\/p>\n<p>MongoDB<br \/>\nmongodump\/mongorestore<br \/>\nmongoexport\/mongoimport<\/p>\n<p>Cassandra<br \/>\nnodetool snapshot\/sstableloader<br \/>\ncqlsh<\/p>\n<p>\nIl formato testuale \u00e8 vantaggioso perch\u00e9 pu\u00f2 essere modificato o persino creato da programmi esterni, mentre il formato binario \u00e8 utile poich\u00e9 consente di esportare e importare dati pi\u00f9 velocemente grazie al risparmio di risorse nella conversione dei formati.<\/p>\n<p>Nonostante la semplicit\u00e0 e l'ovviet\u00e0 dell'idea di esportazione dei dati, questo metodo \u00e8 raramente utilizzato per il backup di database industriali ad alto carico. Ecco i motivi per cui l'esportazione non \u00e8 adatta per un'adeguata copia di sicurezza:<\/p>\n<ul>\n<li>il processo di esportazione crea un carico significativo sul sistema sorgente;<\/li>\n<li>l'esportazione richiede tempo \u2013 al momento del completamento, i dati saranno gi\u00e0 obsoleti;<\/li>\n<li>\u00e8 praticamente impossibile eseguire un'estrazione coerente dell'intero database in caso di carico elevato, poich\u00e9 il DBMS \u00e8 costretto a mantenere un'istantanea del suo stato al momento dell'inizio dell'estrazione. Pi\u00f9 transazioni sono state effettuate dall'inizio dell'estrazione, maggiore \u00e8 il volume dell'istantanea (copia di dati non aggiornati in PostgreSQL, spazio undo in Oracle, tempdb in Microsoft SQL Server, ecc.);<\/li>\n<li>l'estrazione conserva la struttura logica dei dati, ma non ne mantiene la struttura fisica: parametri di archiviazione fisica delle tabelle, indici e altro.<\/li>\n<\/ul>\n<p>\nTuttavia, l'estrazione ha anche i suoi vantaggi:<\/p>\n<ul>\n<li>alta selettivit\u00e0: \u00e8 possibile estrarre singole tabelle, singoli campi e persino singole righe;<\/li>\n<li>i dati estratti possono essere caricati in un database di versione diversa, e se l'estrazione \u00e8 stata effettuata in formato testo, anche in un altro database.<\/li>\n<\/ul>\n<p>\nPertanto, l'estrazione \u00e8 principalmente utilizzata per compiti come il backup di piccole tabelle (ad esempio, dizionari) o la distribuzione di set di dati con una nuova versione dell'applicazione. <\/p>\n<p>Il metodo pi\u00f9 comune per il backup dei database \u00e8 la copia dei file del database.<\/p>\n<h3>Backup \"a freddo\" dei file del DB<\/h3>\n<p>\nL'idea evidente \u00e8 di fermare il database e copiare tutti i suoi file. Questo tipo di backup \u00e8 chiamato \"a freddo\". \u00c8 un metodo estremamente affidabile e semplice, ma presenta due evidenti svantaggi:<\/p>\n<ul>\n<li>da un backup \"a freddo\" \u00e8 possibile ripristinare solo lo stato del database che esisteva al momento della fermata; le transazioni effettuate dopo il riavvio del database non verranno incluse nel backup \"a freddo\";<\/li>\n<li>non tutti i database dispongono di una finestra tecnologica in cui \u00e8 possibile fermare il database.<\/li>\n<\/ul>\n<p>\nSe il backup \"a freddo\" \u00e8 soddisfacente, \u00e8 necessario ricordare che<\/p>\n<ul>\n<li>il backup \"a freddo\" deve talvolta includere anche i log. I metodi per determinare quali log debbano essere inclusi nel backup \"a freddo\" sono individuali per ciascun SGBD. Ad esempio, in Oracle \u00e8 necessario copiare i cosiddetti online redo, ossia una quantit\u00e0 fissa di file di log in una cartella speciale, anche quando il database \u00e8 stato arrestato correttamente. In PostgreSQL \u00e8 necessario salvare tutti i log a partire da quello contenente l'ultima checkpoint, le cui informazioni sono contenute nel file di controllo.<\/li>\n<li>Il catalogo del database pu\u00f2 contenere file piuttosto grandi degli spazi temporanei, che non \u00e8 necessario includere nel backup. A proposito, questa osservazione \u00e8 valida anche per il backup 'hot'.<\/li>\n<\/ul>\n<p><\/p>\n<h3>Salvataggio 'hot' dei file<\/h3>\n<p>\nLa maggior parte dei backup dei moderni database viene eseguita copiando i file del database senza fermare il database. Qui ci sono diversi problemi:<\/p>\n<ul>\n<li>Al momento dell'inizio della copia, il contenuto del database potrebbe non corrispondere al contenuto dei file, poich\u00e9 alcune informazioni sono nella cache e non sono ancora state scritte su disco.<\/li>\n<li>Durante la copia, il contenuto del database pu\u00f2 cambiare. Se vengono utilizzate strutture dati modificabili, il contenuto dei file cambia, mentre con strutture immutabili cambia l'insieme dei file: nuovi file appaiono e file vecchi vengono eliminati.<\/li>\n<li>Poich\u00e9 la scrittura di dati nel database e la lettura dei file del DB non sono sincronizzate, il programma di backup potrebbe leggere una pagina errata, in cui met\u00e0 sar\u00e0 della vecchia versione della pagina e l'altra met\u00e0 della nuova.<\/li>\n<\/ul>\n<p>\nPer garantire che il backup sia coerente, ogni DBMS ha un comando che indica che \u00e8 iniziato il processo di backup. Sintatticamente, questo comando pu\u00f2 apparire in modi diversi: <\/p>\n<ul>\n<li>in Oracle, si tratta del comando separato ALTER DATABASE\/TABLESPACE BEGIN BACKUP;<\/li>\n<li>in PostgreSQL \u2013 la funzione pg_start_backup();<\/li>\n<li>in Microsoft SQL Server e DB2, la preparazione per il backup avviene implicitamente durante l'esecuzione del comando BACKUP DATABASE;<\/li>\n<li>in MySQL Enterprise, Cassandra e MongoDB, la preparazione avviene implicitamente tramite utilit\u00e0 esterne \u2013 mysqlbackup, OpsCenter e Ops Manager rispettivamente.<\/li>\n<\/ul>\n<p>\nNonostante le differenze sintattiche, il processo di preparazione per il backup appare lo stesso.<\/p>\n<p>Ecco come si presenta la preparazione per il backup in DBMS con strutture di disco modificabili, cio\u00e8 in tutti i tradizionali sistemi relazionali su disco:<\/p>\n<ol>\n<li>Viene registrato il momento dell'inizio del backup; il backup deve contenere i registri del database a partire da questo momento.<\/li>\n<li>Viene eseguito un checkpoint, il che significa che tutte le modifiche avvenute nelle pagine dei dati fino al momento salvato vengono scritte su disco. Ci\u00f2 garantisce che i log fino all'inizio del backup non siano necessari durante il ripristino.<\/li>\n<li>Viene attivata una modalit\u00e0 di registrazione speciale: se la pagina dei dati viene modificata per la prima volta dopo il caricamento dal disco, invece di registrare le modifiche della pagina nel log, il database registrer\u00e0 l'intera pagina. Durante la procedura preparatoria, tutte le pagine vengono scritte su disco, quindi alla prima modifica il blocco sar\u00e0 sempre registrato nel log per intero. Ma se durante il processo di backup la pagina viene nuovamente scritta su disco, la sua successiva modifica porter\u00e0 anche alla registrazione nel log di una copia completa della pagina. Questo garantisce che, se durante la copia del file dati la pagina risulta errata, l'applicazione del log la ripristiner\u00e0 correttamente.<\/li>\n<li>\u00c8 bloccata la modifica delle intestazioni dei file di dati, ovvero quella parte di essa che non viene riflessa nei registri. Questo garantisce che l'intestazione venga copiata correttamente e che successivamente i registri vengano applicati correttamente al file di dati.<\/li>\n<\/ol>\n<p>\nUna volta completate tutte le procedure sopra elencate, \u00e8 possibile copiare i file di dati utilizzando gli strumenti di sistema operativo come cp, rsync e altri. Abilitare la modalit\u00e0 di backup riduce le prestazioni del database: da un lato, aumenta il volume dei log e, dall'altro, se si verifica un errore durante la modalit\u00e0 di backup, il ripristino sar\u00e0 pi\u00f9 lungo poich\u00e9 le intestazioni dei file di dati non vengono aggiornate. Pi\u00f9 rapidamente viene completato il backup, meglio \u00e8 per il database; pertanto, \u00e8 opportuno utilizzare strumenti come snapshot del filesystem o break mirror (BCV) nell'array di dischi. Alcuni DBMS (Oracle, PostgreSQL) consentono all'amministratore di scegliere autonomamente il metodo di copia, mentre altri (Microsoft SQL Server) forniscono un'interfaccia per integrare le proprie utilit\u00e0 di backup con i meccanismi dei filesystem o delle SAN.<\/p>\n<p>Al termine del backup, \u00e8 necessario riportare il database allo stato normale. In Oracle, questo avviene con il comando ALTER DATABASE\/TABLESPACE END BACKUP, in PostgreSQL \u2013 chiamando la funzione pg_stop_backup(), e in altri database \u2013 tramite sottoprogrammi interni delle relative istruzioni o servizi esterni.<\/p>\n<p>Ecco come appare il diagramma temporale del processo di backup:<\/p>\n<p><img decoding=\"async\" alt=\"Guida al backup dei database\" src=\"\/wp-content\/uploads\/2020\/08\/4e74f865e9f35acec083b747da4449cf.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<ul>\n<li>La preparazione per il backup (begin backup) richiede tempo, a volte considerevole. Anche se si utilizzano volumi mirror o file system con funzionalit\u00e0 di snapshot, il processo di backup non sar\u00e0 istantaneo.<\/li>\n<li>Insieme ai file dei dati, \u00e8 necessario conservare i log a partire dall'inizio della preparazione del backup fino al momento in cui il database viene riportato allo stato normale.<\/li>\n<li>\u00c8 possibile ripristinare da questo backup <b>nel momento in cui il database viene riportato allo stato normale<\/b>. Il ripristino a un momento precedente non \u00e8 possibile.<\/li>\n<\/ul>\n<p>\nCon i database che utilizzano strutture dati immutabili (snapshot in memoria, alberi LSM), la situazione \u00e8 pi\u00f9 semplice. La preparazione per il backup consiste nei seguenti passaggi:<\/p>\n<ol>\n<li>I dati dalla memoria vengono salvati su disco.<\/li>\n<li>Viene registrato un elenco di file che verranno inclusi nel backup. Fino al termine del processo di backup, non \u00e8 consentito eliminare questi file, anche se diventano non necessari.<\/li>\n<\/ol>\n<p>\nAl segnale di fine del backup, il database con strutture immutabili pu\u00f2 nuovamente eliminare i file non necessari.<\/p>\n<h3>Ripristino a un punto<\/h3>\n<p>\nIl backup consente di ripristinare lo stato del database al momento in cui \u00e8 stata completata la richiesta di uscita dalla modalit\u00e0 di backup. Tuttavia, un'interruzione che richiede il ripristino pu\u00f2 verificarsi in qualsiasi momento. Il compito di ripristinare lo stato del database a un momento arbitrario \u00e8 noto come 'ripristino a un punto' (point-in-time recovery).<\/p>\n<p>Per garantire questa possibilit\u00e0, \u00e8 necessario conservare i registri del DB a partire dal momento in cui termina il backup e, durante il processo di ripristino, continuare ad applicare i registri alla copia ripristinata. Dopo che il DB \u00e8 stato ripristinato dalla copia di backup al momento di fine copia, lo stato del database (file e pagine memorizzate nella cache) \u00e8 garantito come corretto, quindi non \u00e8 necessario alcun speciale regime di registrazione. Applicando i registri fino al momento desiderato, \u00e8 possibile ottenere lo stato del database in un qualsiasi punto nel tempo.<\/p>\n<p>Se la velocit\u00e0 di ripristino del backup \u00e8 limitata solo dalla larghezza di banda del disco, la velocit\u00e0 di applicazione dei log \u00e8 di solito limitata dalle prestazioni del processore. Se nella base dati principale si verificano modifiche in parallelo, durante il ripristino tutte le modifiche vengono eseguite in sequenza, nell'ordine in cui sono lette dal log. Di conseguenza, il tempo di recupero dipende linearmente da quanto la posizione di ripristino \u00e8 distante dalla fine del backup. Per questo motivo, \u00e8 necessario eseguire backup completi piuttosto frequentemente: almeno una volta a settimana per database con un carico di transazioni ridotto e fino a backup giornalieri per database ad alto carico.<\/p>\n<h3>Backup incrementale<\/h3>\n<p>\nPer velocizzare il ripristino al punto desiderato, sarebbe utile eseguire il backup il pi\u00f9 frequentemente possibile, ma senza occupare spazio inutile sui dischi e senza sovraccaricare il database con operazioni di backup.<\/p>\n<p>La soluzione al problema \u00e8 il backup incrementale, ovvero il backup solo delle parti di dati che sono cambiate dall'ultimo backup.<br \/>\nIl backup incrementale ha senso solo per i DBMS che utilizzano strutture dati modificabili.<\/p>\n<p>L'incremento pu\u00f2 essere conteggiato sia dall'ultima copia di backup completa (copia cumulativa) che da qualsiasi copia precedente (copia differenziale). <\/p>\n<p><img decoding=\"async\" alt=\"Guida al backup dei database\" src=\"\/wp-content\/uploads\/2020\/08\/10e3bb87445cb36693c7b5469d62eeaf.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSfortunatamente, non esiste una terminologia univoca e diversi fornitori usano termini diversi:<\/p>\n<p>Differenziale<br \/>\nCumulativa<\/p>\n<p>Oracle<br \/>\nDifferential<br \/>\nCumulative<\/p>\n<p>PostgresPro<br \/>\nIncremental<br \/>\n\u2014<\/p>\n<p>Microsoft SQL Server<br \/>\n\u2014<br \/>\nDifferential<\/p>\n<p>IBM DB2<br \/>\nDelta<br \/>\nIncremental<\/p>\n<p>\nNel caso di copie incrementali, il processo di ripristino a un punto appare come segue:<\/p>\n<ul>\n<li>viene ripristinato l'ultimo backup completo effettuato prima del momento di ripristino;<\/li>\n<li>sopra la copia completa vengono ripristinate le copie incrementali;<\/li>\n<li>vengono applicati i registri dal momento di inizio del backup fino al punto di ripristino.<\/li>\n<\/ul>\n<p>\nLa presenza di una copia cumulativa accelera il processo di ripristino. Ad esempio, per ripristinare lo stato del database a un punto tra T3 e T4, \u00e8 necessario ripristinare due copie incremental i, mentre per il ripristino a un punto dopo T4, \u00e8 sufficiente una sola copia.<br \/>\n\u00c8 ovvio che il volume di una copia cumulativa \u00e8 inferiore al volume di pi\u00f9 copie differenziali, poich\u00e9 alcune pagine sono cambiate pi\u00f9 volte e ogni copia incrementale contiene la sua versione della pagina.<\/p>\n<p>Ci sono tre modi per creare una copia incrementale:<\/p>\n<ol>\n<li>creare una copia completa e calcolare la differenza con la copia completa precedente;<\/li>\n<li>analizzare i log, creare un elenco delle pagine modificate e eseguire il backup delle pagine incluse nell'elenco;<\/li>\n<li>richiedere le pagine modificate nel database.<\/li>\n<\/ol>\n<p>\nIl primo metodo risparmia spazio su disco, ma non risolve il problema di ridurre il carico sul database. Inoltre, se abbiamo un backup completo, trasformarlo in incrementale \u00e8 inutile, poich\u00e9 il ripristino di una copia completa \u00e8 pi\u00f9 veloce rispetto al ripristino della copia completa precedente e dell'incremento. \u00c8 meglio delegare il compito di risparmiare spazio su disco a componenti specializzati con meccanismi integrati di deduplicazione. Questi possono essere sia sistemi di archiviazione specializzati (EMC DataDomain, HPE StorageWorks VLS, tutta la gamma NetApp), sia prodotti software (ZFS, Veritas NetBackup PureFile, Windows Server Data Deduplication).<\/p>\n<p>Il secondo e il terzo metodo si differenziano per il meccanismo di determinazione dell'elenco delle pagine modificate. L\u2019analisi dei log \u00e8 pi\u00f9 dispendiosa in termini di risorse, inoltre per implementarla \u00e8 necessario conoscere la struttura dei file di log. Chiedere direttamente al database quali pagine sono state modificate \u00e8 la soluzione pi\u00f9 semplice, ma per questo il core del DBMS deve avere la funzionalit\u00e0 di monitoraggio dei blocchi modificati (block change tracking).<\/p>\n<p>La funzionalit\u00e0 di backup incrementale \u00e8 stata introdotta per la prima volta nel software Oracle Recovery Manager (RMAN), presente nella versione Oracle 8i. Oracle implement\u00f2 subito il monitoraggio dei blocchi modificati, quindi non \u00e8 necessario analizzare i log.<\/p>\n<p>PostgreSQL non tiene traccia dei blocchi modificati, quindi l'utilit\u00e0 pg_probackup, sviluppata dalla compagnia russa Postgres Professional, identifica le pagine modificate analizzando il log. Tuttavia, la societ\u00e0 offre anche il DBMS PostgresPro, che include l'estensione ptrack, che monitora le modifiche alle pagine. Utilizzando pg_probackup con il DBMS PostgresPro, l'utilit\u00e0 richiede le pagine modificate direttamente dal database, proprio come fa RMAN.<\/p>\n<p>Microsoft SQL Server, proprio come Oracle, tiene traccia delle pagine modificate, ma il comando BACKUP consente di eseguire solo backup completi e cumulativi.<\/p>\n<p>In DB2 \u00e8 disponibile la possibilit\u00e0 di monitorare le pagine modificate, ma di default \u00e8 disattivata. Una volta attivata, DB2 permette di eseguire backup completi, differenziali e cumulativi.<\/p>\n<p>Una differenza importante degli strumenti descritti in questa sezione (eccetto pg_probackup) rispetto agli strumenti di backup a livello di file \u00e8 che richiedono le immagini delle pagine dal database, invece di leggere i dati direttamente dal disco. Uno svantaggio di questo approccio \u00e8 un leggero carico aggiuntivo sul database. Tuttavia, questo svantaggio \u00e8 ampiamente compensato dal fatto che la pagina letta \u00e8 sempre corretta, quindi non \u00e8 necessario attivare una modalit\u00e0 di registrazione speciale durante il backup.<\/p>\n<p>Attenzione, la presenza di copie incrementali non elimina i requisiti per avere registri per il ripristino a un momento specifico. Pertanto, nei database industriali, i registri vengono costantemente riscritti su supporti esterni, mentre i backup, completi e\/o incrementali, vengono creati secondo un programma.<\/p>\n<p>La miglior attuazione attuale dell'idea di backup incrementale \u00e8 l'hardware e software combinato (nella terminologia Oracle \u2013 engineered system) Zero Data Loss Recovery Appliance \u2013 una soluzione specializzata di Oracle per il backup del proprio database. Il sistema consiste in un cluster <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/it\/server\/\"   title=\"server\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1521\">server<\/a> con grandi volumi di dischi sui quali \u00e8 installata una versione modificata del software Recovery Manager, e pu\u00f2 funzionare sia con altri complessi hardware e software Oracle (Database Appliance, Exadata, SPARC Supercluster), sia con database Oracle su infrastrutture tradizionali. A differenza del 'normale' RMAN, in ZDLRA \u00e8 stata implementata la concezione di 'incremento permanente' (incremental forever). Il sistema crea una copia completa del database una sola volta e poi effettua solo copie incrementali. Moduli aggiuntivi di RMAN consentono di unire le copie, creando nuove copie complete dalle incrementali. <\/p>\n<p>A merito dei programmatori russi, va notato che anche pg_probackup \u00e8 in grado di unire copie incrementali.<\/p>\n<p><img decoding=\"async\" alt=\"Guida al backup dei database\" src=\"\/wp-content\/uploads\/2020\/08\/275b649ce74614c04410618a062dddbd.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA differenza di molte domande simili, la domanda 'quale metodo di backup \u00e8 migliore' ha una risposta inequivocabile: il migliore \u00e8 lo strumento nativo per il DBMS utilizzato, che consente la copia incrementale.<\/p>\n<p>Per l'amministratore di database, questioni come la scelta della strategia di backup e l'integrazione degli strumenti di backup dei database nell'infrastruttura aziendale sono molto pi\u00f9 importanti. Ma queste questioni esulano dallo scopo di questo articolo.<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/516428\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u2013 \u041e, \u043d\u0438\u043a\u0430\u043a\u043e\u0435 \u0443\u0431\u0435\u0436\u0438\u0449\u0435 \u043d\u0435 \u0432\u044b\u0434\u0435\u0440\u0436\u0438\u0442 \u043f\u043e\u043f\u0430\u0434\u0430\u043d\u0438\u044f \u043c\u0435\u0442\u0435\u043e\u0440\u0438\u0442\u0430. \u041d\u043e \u0432\u0435\u0434\u044c \u0443 \u0432\u0430\u0441, \u043a\u0430\u043a \u0438 \u0443 \u043a\u0430\u0436\u0434\u043e\u0433\u043e, \u0435\u0441\u0442\u044c \u0440\u0435\u0437\u0435\u0440\u0432, \u0442\u0430\u043a \u0447\u0442\u043e \u043c\u043e\u0436\u0435\u0442\u0435 \u043d\u0435 \u0431\u0435\u0441\u043f\u043e\u043a\u043e\u0438\u0442\u044c\u0441\u044f. \u0421\u0442\u0430\u043d\u0438\u0441\u043b\u0430\u0432 \u041b\u0435\u043c, \u00ab\u0417\u0432\u0451\u0437\u0434\u043d\u044b\u0435 \u0434\u043d\u0435\u0432\u043d\u0438\u043a\u0438 \u0418\u0439\u043e\u043d\u0430 \u0422\u0438\u0445\u043e\u0433\u043e\u00bb \u0420\u0435\u0437\u0435\u0440\u0432\u043d\u044b\u043c \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u043f\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0433\u0434\u0435-\u0442\u043e \u0432\u043d\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u043c\u0435\u0441\u0442\u0430 \u0438\u0445 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f. \u0413\u043b\u0430\u0432\u043d\u043e\u0435 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u2013 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u0441\u043b\u0435 \u0438\u0445 \u043f\u043e\u0442\u0435\u0440\u0438. \u0412 \u0441\u0432\u044f\u0437\u0438 \u0441 \u044d\u0442\u0438\u043c [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":92368,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-92367","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u2013 \u041e, \u043d\u0438\u043a\u0430\u043a\u043e\u0435 \u0443\u0431\u0435\u0436\u0438\u0449\u0435 \u043d\u0435 \u0432\u044b\u0434\u0435\u0440\u0436\u0438\u0442 \u043f\u043e\u043f\u0430\u0434\u0430\u043d\u0438\u044f \u043c\u0435\u0442\u0435\u043e\u0440\u0438\u0442\u0430. \u041d\u043e \u0432\u0435\u0434\u044c \u0443 \u0432\u0430\u0441, \u043a\u0430\u043a \u0438 \u0443 \u043a\u0430\u0436\u0434\u043e\u0433\u043e, \u0435\u0441\u0442\u044c \u0440\u0435\u0437\u0435\u0440\u0432, \u0442\u0430\u043a \u0447\u0442\u043e \u043c\u043e\u0436\u0435\u0442\u0435 \u043d\u0435 \u0431\u0435\u0441\u043f\u043e\u043a\u043e\u0438\u0442\u044c\u0441\u044f. \u0421\u0442\u0430\u043d\u0438\u0441\u043b\u0430\u0432 \u041b\u0435\u043c, \u00ab\u0417\u0432\u0451\u0437\u0434\u043d\u044b\u0435 \u0434\u043d\u0435\u0432\u043d\u0438\u043a\u0438 \u0418\u0439\u043e\u043d\u0430 \u0422\u0438\u0445\u043e\u0433\u043e\u00bb \u0420\u0435\u0437\u0435\u0440\u0432\u043d\u044b\u043c \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u043f\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0433\u0434\u0435-\u0442\u043e \u0432\u043d\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u043c\u0435\u0441\u0442\u0430 \u0438\u0445 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f. \u0413\u043b\u0430\u0432\u043d\u043e\u0435 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u2013 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u0441\u043b\u0435 \u0438\u0445 \u043f\u043e\u0442\u0435\u0440\u0438. \u0412 \u0441\u0432\u044f\u0437\u0438 \u0441 \u044d\u0442\u0438\u043c\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/putevoditel-po-rezervnomu-kopirovaniyu-baz-dannyh\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041f\u0443\u0442\u0435\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c \u043f\u043e \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u043c\u0443 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u2013 \u041e, \u043d\u0438\u043a\u0430\u043a\u043e\u0435 \u0443\u0431\u0435\u0436\u0438\u0449\u0435 \u043d\u0435 \u0432\u044b\u0434\u0435\u0440\u0436\u0438\u0442 \u043f\u043e\u043f\u0430\u0434\u0430\u043d\u0438\u044f \u043c\u0435\u0442\u0435\u043e\u0440\u0438\u0442\u0430. \u041d\u043e \u0432\u0435\u0434\u044c \u0443 \u0432\u0430\u0441, \u043a\u0430\u043a \u0438 \u0443 \u043a\u0430\u0436\u0434\u043e\u0433\u043e, \u0435\u0441\u0442\u044c \u0440\u0435\u0437\u0435\u0440\u0432, \u0442\u0430\u043a \u0447\u0442\u043e \u043c\u043e\u0436\u0435\u0442\u0435 \u043d\u0435 \u0431\u0435\u0441\u043f\u043e\u043a\u043e\u0438\u0442\u044c\u0441\u044f. \u0421\u0442\u0430\u043d\u0438\u0441\u043b\u0430\u0432 \u041b\u0435\u043c, \u00ab\u0417\u0432\u0451\u0437\u0434\u043d\u044b\u0435 \u0434\u043d\u0435\u0432\u043d\u0438\u043a\u0438 \u0418\u0439\u043e\u043d\u0430 \u0422\u0438\u0445\u043e\u0433\u043e\u00bb \u0420\u0435\u0437\u0435\u0440\u0432\u043d\u044b\u043c \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u043f\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0433\u0434\u0435-\u0442\u043e \u0432\u043d\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u043c\u0435\u0441\u0442\u0430 \u0438\u0445 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f. \u0413\u043b\u0430\u0432\u043d\u043e\u0435 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u2013 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u0441\u043b\u0435 \u0438\u0445 \u043f\u043e\u0442\u0435\u0440\u0438. \u0412 \u0441\u0432\u044f\u0437\u0438 \u0441 \u044d\u0442\u0438\u043c\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/putevoditel-po-rezervnomu-kopirovaniyu-baz-dannyh\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-08-26T05:42:09+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-08-26T05:42:09+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Guida al backup dei database | ProHoster","description":"\u2013 Oh, nessun rifugio pu\u00f2 resistere all'impatto di un meteorite. Ma come chiunque, hai una riserva, quindi non devi preoccuparti. Stanis\u0142aw Lem, \u00abDiari stellari di Ijon Tich\u00fd\u00bb. Il backup \u00e8 il processo di conservazione di una copia dei dati in un luogo diverso da quello di origine. Lo scopo principale del backup \u00e8 il ripristino dei dati dopo la loro perdita. A questo proposito","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/putevoditel-po-rezervnomu-kopirovaniyu-baz-dannyh","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041f\u0443\u0442\u0435\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c \u043f\u043e \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u043c\u0443 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 | ProHoster","og:description":"\u2013 \u041e, \u043d\u0438\u043a\u0430\u043a\u043e\u0435 \u0443\u0431\u0435\u0436\u0438\u0449\u0435 \u043d\u0435 \u0432\u044b\u0434\u0435\u0440\u0436\u0438\u0442 \u043f\u043e\u043f\u0430\u0434\u0430\u043d\u0438\u044f \u043c\u0435\u0442\u0435\u043e\u0440\u0438\u0442\u0430. \u041d\u043e \u0432\u0435\u0434\u044c \u0443 \u0432\u0430\u0441, \u043a\u0430\u043a \u0438 \u0443 \u043a\u0430\u0436\u0434\u043e\u0433\u043e, \u0435\u0441\u0442\u044c \u0440\u0435\u0437\u0435\u0440\u0432, \u0442\u0430\u043a \u0447\u0442\u043e \u043c\u043e\u0436\u0435\u0442\u0435 \u043d\u0435 \u0431\u0435\u0441\u043f\u043e\u043a\u043e\u0438\u0442\u044c\u0441\u044f. \u0421\u0442\u0430\u043d\u0438\u0441\u043b\u0430\u0432 \u041b\u0435\u043c, \u00ab\u0417\u0432\u0451\u0437\u0434\u043d\u044b\u0435 \u0434\u043d\u0435\u0432\u043d\u0438\u043a\u0438 \u0418\u0439\u043e\u043d\u0430 \u0422\u0438\u0445\u043e\u0433\u043e\u00bb \u0420\u0435\u0437\u0435\u0440\u0432\u043d\u044b\u043c \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u043f\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0433\u0434\u0435-\u0442\u043e \u0432\u043d\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u043c\u0435\u0441\u0442\u0430 \u0438\u0445 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f. \u0413\u043b\u0430\u0432\u043d\u043e\u0435 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u2013 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u0441\u043b\u0435 \u0438\u0445 \u043f\u043e\u0442\u0435\u0440\u0438. \u0412 \u0441\u0432\u044f\u0437\u0438 \u0441 \u044d\u0442\u0438\u043c","og:url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/putevoditel-po-rezervnomu-kopirovaniyu-baz-dannyh","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-08-26T05:42:09+00:00","article:modified_time":"2020-08-26T05:42:09+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"92367","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 12:09:36","updated":"2026-02-09 16:50:36"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/92367","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=92367"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/92367\/revisions"}],"predecessor-version":[{"id":158765,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/92367\/revisions\/158765"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/92368"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=92367"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=92367"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=92367"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}