SlideShare a Scribd company logo
1 of 20
Download to read offline
Partita IVA e Codice Fiscale: 12938200156
C.C.I.A.A. Milano n.1599095
Registro Imprese 12938200156
Capitale Sociale € 2.418.433,00 i.v.
Sede Legale e Unità Operativa
Via Alfredo Campanini, 6
20124 Milano
Tel: +39 02.66.732.1 – Fax: +39 02.66.732.300
Unità Operativa
Via Cristoforo Colombo, 163
00147 Roma
Tel: +39 06.9826.9600 – Fax: +39 06.9826.9680
Il backup non ammette ignoranza
Michelangelo Uberti - Marketing Manager
Oracle MySQL Day Milano, 26 Novembre 2019
2
Chi è Par-Tec
La proficua collaborazione con Oracle è iniziata 9 anni fa ma ha origini lontane: l’attuale business
unit di Roma, ex Babel, è nata nel 1994 come braccio armato di Sun Microsystems sul mercato delle
principali telco italiane.
Il nostro attuale rapporto con Oracle?
Gold Partner con specializzazione su MySQL 5
(ma con le competenze sulla versione 8!)
Par-Tec è un software & infrastructure system integrator specializzato nella fornitura di servizi professionali
altamente qualificati e nella progettazione di soluzioni cross-market. La nostra offerta include:
Technology Solutions
Stackable
Financial Services Solutions
Security
TS
ST
FS
SE
Business Solutions
Educational
BS
E
3
4
I nostri Clienti
Parliamo del backup
6
Quanti tipi di backup esistono?
Ci sono tantissimi tipi di
nodi, ma in fondo ne
esistono solo due:
quelli fatti bene e
quelli fatti male
“
”Capitan Findus
Lo stesso vale
per i backup
7
Back to basics: concetti chiave
Con backup si indica la messa in sicurezza delle informazioni di un sistema informativo attraverso
la ridondanza delle informazioni stesse da utilizzare come ripristino in caso di eventi malevoli
accidentali o intenzionali.
Un backup fatto bene è quello che ci consente di ripristinare i dati nei tempi e nei modi
previsti nel piano di backup. Senza possibilità di ripristino, il backup è inutile.
t
Si verifica
(o si rileva) un
incidente
Recovery Time Object
(RTO)
Ripristino dei dati e
dell'operatività
Recovery Point Object
(RPO)
Ultimo backup
utilizzabile
RPO - retention
Primo backup
utilizzabile
Transazioni perse Downtime
8
Back to basics: concetti chiave
tt0 - Completo
È il backup di riferimento
per il successivo
t1 - Incrementale
Include le modifiche
avvenute tra t0 e t1
t2 - Incrementale
Include le modifiche
avvenute tra t1 e t2
t3 - Incrementale
Include le modifiche
avvenute tra t2 e t3
Un backup differenziale contiene tutte le modifiche effettuate dall'ultimo backup completo
Un backup incrementale contiene solo le modifiche effettuate dall'ultimo backup
tt0 - Completo
È il backup di riferimento
per tutti i successivi
t1 - Differenziale
Include le modifiche
avvenute tra t0 e t1
t2 - Differenziale
Include le modifiche
avvenute tra t0 e t2
t3 - Differenziale
Include le modifiche
avvenute tra t0 e t3
9
Tipologie di backup
Le varie tipologie possono essere condensate in due macro-gruppi
Logico
SQL
DROP TABLE IF EXISTS `City`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `City` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`Name` char(35) NOT NULL DEFAULT '',
`CountryCode` char(3) NOT NULL DEFAULT '',
`District` char(20) NOT NULL DEFAULT '',
`Population` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`ID`),
KEY `CountryCode` (`CountryCode`),
CONSTRAINT `city_ibfk_1` FOREIGN KEY (`CountryCode`) REFERENCES `Country` (`Code`)
) ENGINE=InnoDB AUTO_INCREMENT=4080 DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `City`
--
-- ORDER BY: `ID`
INSERT INTO `City` VALUES (1,'Kabul','AFG','Kabol',1780000);
INSERT INTO `City` VALUES (2,'Qandahar','AFG','Qandahar',237500);
INSERT INTO `City` VALUES (3,'Herat','AFG','Herat',186800);
INSERT INTO `City` VALUES (4,'Mazar-e-Sharif','AFG','Balkh',127800);
10
Tipologie di backup
Le varie tipologie possono essere condensate in due macro-gruppi
Logico
SQL
Fisico
RAW
./datadir:
ibbackup_logfile mysql.ibd
mysql-relay-bin-group_replication_recovery.000002 sbtest
ib_buffer_pool mysql_innodb_cluster_metadata
mysql-relay-bin-group_replication_recovery.000003 sys
ibdata1 mysql-relay-bin-group_replication_applier.000033
mysql-relay-bin-group_replication_recovery.000004 test
ib_dblwr mysql-relay-bin-group_replication_applier.000034
mysql-relay-bin-group_replication_recovery.000005 undo_001
ib_logfile0 mysql-relay-bin-group_replication_applier.000035
mysql-relay-bin-group_replication_recovery.000006 undo_002
ib_logfile1 mysql-relay-bin-group_replication_applier.index
mysql-relay-bin-group_replication_recovery.index world
mysql mysql-relay-bin-
group_replication_recovery.000001 performance_schema
wpdatabase
./datadir/ib_dblwr:
dblwr_0
11
Tipologie di backup
Le varie tipologie possono essere condensate in due macro-gruppi
Logico
SQL
Fisico
RAW
??/48?U'QII&@@!%??????????????????????????&&??????????????????????
????/4U'Qk???U'QkI300???U'Qk?"?U'QkI??????????????????????????????
???i??????????????????????????????????????????????????????????????
??????????????????????????????????????????????????????????????????
??????????????????????i???????????????????????????????????????????
??????????????????????????????????????????????????????????????????
?????????????????????????????????????????????i????????????????????
??????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????i?
!"#?????????????????????????????????????????????????????????i?????
??????????????????????????????????????????????????????????????????
??????????????????????????????????????????????????????????????????
?????????????i?$??????????????????????????????????????????????????
???????????????????????????????????????????????????"?U'Qk?????????
??U'??E?IG??????????I?I2&infimum
supremum???N+???n?x?m??J1??宥mP:2!ƍ? ???$1 ?a?w?N???????;
12
Tipologie di backup
Le varie tipologie possono essere condensate in due macro-gruppi
Per scegliere l'approccio migliore dovete considerare diversi fattori
DROP TABLE IF EXISTS `City`;
/*!40101 SET @saved_cs_client
/*!40101 SET character_set_client = utf8
CREATE TABLE `City` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`Name` char(35) NOT NULL DEFAULT '',
...
Logico
SQL
??/48?U'QII&@@!%???????????????
???????????&&??????????????????
????????/4U'Qk???U'QkI300???U'Q
k?"?U'QkI??????????????????????
???????????i???????????????????
???????????????????????????????
Fisico
RAW
Dimensioni
del database
vs
Grado di
attività
Budget a
disposizione
Velocità di
ripristino
13
Backup logico con mysqldump e mysqlpump
Il tool mysqldump consente di eseguire backup logici sotto forma di file di testo contenenti gli
statement SQL per ricreare e popolare gli oggetti del database.
Rispetto al mysqldump, il nuovo tool mysqlpump include:
1. Elaborazione multi-thread – solo per il backup, non per il restore!
2. Indicatore di progresso
3. Export di account e relative grant
VANTAGGI LIMITI / SVANTAGGI
• È molto facile da usare
• Ideale per database di piccole dimensioni
• Estremamente flessibile
• Multipiattaforma
• Non esegue backup a caldo
• Scarse performance
• I file prodotti sono grandi e in chiaro
• La consistenza non è garantita
• Non supporta i backup incrementali
14
Backup fisico con MySQL Enterprise Backup
Il MySQL Enterprise Backup è lo strumento incluso nella sottoscrizione Enterprise che consente di
effettuare backup a caldo di vario tipo direttamente su storage locale, tape e cloud.
Come funziona?
Crea una copia fisica di tutti i file che costituiscono il database senza creare lock di tabella o
mettere offline il database, perciò non interferisce in alcun modo con l'operatività.
A differenza degli altri tool può essere gestito anche dal MySQL Enterprise Monitor.
VANTAGGI LIMITI / SVANTAGGI
• Backup in linea a caldo per InnoDB
• Backup incrementali
• Backup e restore parziali
• Compressione e cifratura
• La consistenza è garantita
• Backup su cartella, single-file, tape e cloud
• Minor portabilità
• La versione del MEB deve essere allineata a
quella di MySQL
• I dati salvati non sono modificabili prima
del restore
15
Opzioni di backup a confronto
mysqldump mysqlpump MySQL Enterprise Backup
Full Backup ✔ ✔ ✔
Incremental Backup ✘ ✘ ✔
Partial Backup ✔ ✔ ✔
Compression Support ✘ ✔* ✔
Encryption Support ✘ ✘ ✔
Allow Updates ✘ ✘ ✔
Point in time consistent ✘ ✘ ✔
No Locking (of InnoDB) ✘ ✘ ✔
Backup Speed Poor Fair Very Good
Recovery Speed Poor Poor Very Good
Partial Restore ✔ ✔ ✔
Parallel Processing ✘ ✔ ✔
Transportable Tablespace Support ✘ ✘ ✔
Corruption Detection ✔ ✔ ✔
Streaming Support ✔ ✔ ✔
Direct Media Manager
(Tape Support)
✘ ✘ ✔
* Not available out of the box, depends on external libraries.
16
Size (and speed) matters!
49x più performante 80x più performante
0
50
100
150
200
250
300
Minuti
mysqldump
4h 17min
MySQL Enterprise Backup
5,25min
0
200
400
600
800
1.000
1.200
Minuti
MySQL Enterprise Backup
14min
mysqldump
18h 45min
Quando scegliete la tipologia di backup valutate
le funzionalità senza trascurare le prestazioni
Backup DB 73GB Restore DB 73GB
17
…e le repliche?
Se avete scelto quest'approccio sappiate che state sbagliando e
che dovete correggere quanto prima questa situazione
Session Dump I/O
Master Database Slave Database
Binary Log Relay Log
SQL
DELETE FROM tbl_Items
WHERE ItemID>100;
✘ ✘
Le repliche di database non sostituiscono un buon backup!
18
…e le repliche?
mysqldump mysqlpump MySQL Enterprise Backup MySQL Replication
Full Backup ✔ ✔ ✔ ✔
Incremental Backup ✘ ✘ ✔ ✘
Partial Backup ✔ ✔ ✔ ✘
Compression Support ✘ ✔* ✔ ✘
Encryption Support ✘ ✘ ✔ ✘
Allow Updates ✘ ✘ ✔ ✔
Point in time consistent ✘ ✘ ✔ ✔
No Locking (of InnoDB) ✘ ✘ ✔ ✔
Backup Speed Poor Fair Very Good Very Good
Recovery Speed Poor Poor Very Good Very Good
Partial Restore ✔ ✔ ✔ ✘
Parallel Processing ✘ ✔ ✔ ✔
Transportable Tablespace
Support
✘ ✘ ✔ N/A
Corruption Detection ✔ ✔ ✔ ✘
Streaming Support ✔ ✔ ✔ ✘
Direct Media Manager
(Tape Support)
✘ ✘ ✔ ✘
* Not available out of the box, depends on external libraries.
19
Il piano di backup
Nel piano di backup definiamo le strategie, i tempi e i modi per rispettare gli obiettivi prefissati
RTO
RPO
Se avete un DB di 73GB e non volete aspettare 19h scegliete un backup fisico tipo MEB
Misuriamo l'operatività del sistema e (se ne vale la pena) impostiamo una strategia a
più livelli, ad es.:
Backup completo
Frequenza: settimanale Backup incrementale
Frequenza: giornaliera Backup incrementale redo log
Frequenza: ogni 2h
Retention: 6 mesi
Retention: 1 settimana
Retention: 2 giorni
Non scordate di verificare che il restore funzioni
Senza possibilità di ripristino, il backup è inutile
Sede Legale e Unità Operativa
Via Alfredo Campanini, 6
20124 Milano
Tel: +39 02.66.732.1 – Fax: +39 02.66.732.300
Unità Operativa
Via Cristoforo Colombo, 163
00147 Roma
Tel: +39 06.9826.9600 – Fax: +39 06.9826.9680
Grazie per l'attenzione!

More Related Content

Similar to MySQL Day Milano 2019 - Il backup non ammette ignoranza

Confio Ignite - webinar by Matteo Durighetto
Confio Ignite - webinar by Matteo DurighettoConfio Ignite - webinar by Matteo Durighetto
Confio Ignite - webinar by Matteo DurighettoMiriade Spa
 
Elk - Elasticsearch Logstash Kibana stack explained
Elk - Elasticsearch Logstash Kibana stack explainedElk - Elasticsearch Logstash Kibana stack explained
Elk - Elasticsearch Logstash Kibana stack explainedFederico Panini
 
Corretta%20 manutenzione%20italiano[1]
Corretta%20 manutenzione%20italiano[1]Corretta%20 manutenzione%20italiano[1]
Corretta%20 manutenzione%20italiano[1]joglopa
 
Big data analytics quanto vale e come sfruttarlo con stream analytics e power bi
Big data analytics quanto vale e come sfruttarlo con stream analytics e power biBig data analytics quanto vale e come sfruttarlo con stream analytics e power bi
Big data analytics quanto vale e come sfruttarlo con stream analytics e power biMarco Pozzan
 
Ibm sicurezza: problematiche e soluzioni
Ibm sicurezza: problematiche e soluzioniIbm sicurezza: problematiche e soluzioni
Ibm sicurezza: problematiche e soluzioniS.info Srl
 
API Transformation in Crédit Agricole Italia
API Transformation in Crédit Agricole ItaliaAPI Transformation in Crédit Agricole Italia
API Transformation in Crédit Agricole ItaliaProfesia Srl, Lynx Group
 
MySQL Day 2020 Digital Edition - Come proteggere al meglio un database MySQL
MySQL Day 2020 Digital Edition - Come proteggere al meglio un database MySQLMySQL Day 2020 Digital Edition - Come proteggere al meglio un database MySQL
MySQL Day 2020 Digital Edition - Come proteggere al meglio un database MySQLPar-Tec S.p.A.
 
Come l’Open Source può essere alla base di un business di successo: il caso H...
Come l’Open Source può essere alla base di un business di successo: il caso H...Come l’Open Source può essere alla base di un business di successo: il caso H...
Come l’Open Source può essere alla base di un business di successo: il caso H...MariaDB plc
 
Down to earth report: HP 3PAR StoreServ storage by Juku.it
Down to earth report: HP 3PAR StoreServ storage by Juku.itDown to earth report: HP 3PAR StoreServ storage by Juku.it
Down to earth report: HP 3PAR StoreServ storage by Juku.itHP Enterprise Italia
 
festival ICT 2013: Manager, CEO e Responsabili IT in Cloud. Caso concreto di ...
festival ICT 2013: Manager, CEO e Responsabili IT in Cloud. Caso concreto di ...festival ICT 2013: Manager, CEO e Responsabili IT in Cloud. Caso concreto di ...
festival ICT 2013: Manager, CEO e Responsabili IT in Cloud. Caso concreto di ...festival ICT 2016
 
Virtualizzare Nanosoft
Virtualizzare   NanosoftVirtualizzare   Nanosoft
Virtualizzare NanosoftDario Vemagi
 
MySQL Day Milano 2018 - Le architetture a microservizi
MySQL Day Milano 2018 - Le architetture a microserviziMySQL Day Milano 2018 - Le architetture a microservizi
MySQL Day Milano 2018 - Le architetture a microserviziPar-Tec S.p.A.
 
MySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle Openstack
MySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle OpenstackMySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle Openstack
MySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle OpenstackPar-Tec S.p.A.
 
Cerved - The Italian Business Graph: a Story of Tech & data-driven Innovation
Cerved - The Italian Business Graph: a Story of Tech & data-driven InnovationCerved - The Italian Business Graph: a Story of Tech & data-driven Innovation
Cerved - The Italian Business Graph: a Story of Tech & data-driven InnovationNeo4j
 
Disaster Recovery VS Business Continuity in Alta Affidabilità
Disaster Recovery VS Business Continuity in Alta AffidabilitàDisaster Recovery VS Business Continuity in Alta Affidabilità
Disaster Recovery VS Business Continuity in Alta AffidabilitàFederico Rusconi
 
MySQL Tech Tour 2016 - Panoramica sul progetto Openstack
MySQL Tech Tour 2016 - Panoramica sul progetto OpenstackMySQL Tech Tour 2016 - Panoramica sul progetto Openstack
MySQL Tech Tour 2016 - Panoramica sul progetto OpenstackPar-Tec S.p.A.
 

Similar to MySQL Day Milano 2019 - Il backup non ammette ignoranza (20)

Confio Ignite - webinar by Matteo Durighetto
Confio Ignite - webinar by Matteo DurighettoConfio Ignite - webinar by Matteo Durighetto
Confio Ignite - webinar by Matteo Durighetto
 
Elk - Elasticsearch Logstash Kibana stack explained
Elk - Elasticsearch Logstash Kibana stack explainedElk - Elasticsearch Logstash Kibana stack explained
Elk - Elasticsearch Logstash Kibana stack explained
 
Corretta%20 manutenzione%20italiano[1]
Corretta%20 manutenzione%20italiano[1]Corretta%20 manutenzione%20italiano[1]
Corretta%20 manutenzione%20italiano[1]
 
Big data analytics quanto vale e come sfruttarlo con stream analytics e power bi
Big data analytics quanto vale e come sfruttarlo con stream analytics e power biBig data analytics quanto vale e come sfruttarlo con stream analytics e power bi
Big data analytics quanto vale e come sfruttarlo con stream analytics e power bi
 
Ibm sicurezza: problematiche e soluzioni
Ibm sicurezza: problematiche e soluzioniIbm sicurezza: problematiche e soluzioni
Ibm sicurezza: problematiche e soluzioni
 
API Transformation in Crédit Agricole Italia
API Transformation in Crédit Agricole ItaliaAPI Transformation in Crédit Agricole Italia
API Transformation in Crédit Agricole Italia
 
MySQL Day 2020 Digital Edition - Come proteggere al meglio un database MySQL
MySQL Day 2020 Digital Edition - Come proteggere al meglio un database MySQLMySQL Day 2020 Digital Edition - Come proteggere al meglio un database MySQL
MySQL Day 2020 Digital Edition - Come proteggere al meglio un database MySQL
 
Presentazione
PresentazionePresentazione
Presentazione
 
Lezioni 2009
Lezioni 2009Lezioni 2009
Lezioni 2009
 
Come l’Open Source può essere alla base di un business di successo: il caso H...
Come l’Open Source può essere alla base di un business di successo: il caso H...Come l’Open Source può essere alla base di un business di successo: il caso H...
Come l’Open Source può essere alla base di un business di successo: il caso H...
 
TYPO3 CMS 8.1 - Le novità
TYPO3 CMS 8.1 - Le novitàTYPO3 CMS 8.1 - Le novità
TYPO3 CMS 8.1 - Le novità
 
Down to earth report: HP 3PAR StoreServ storage by Juku.it
Down to earth report: HP 3PAR StoreServ storage by Juku.itDown to earth report: HP 3PAR StoreServ storage by Juku.it
Down to earth report: HP 3PAR StoreServ storage by Juku.it
 
festival ICT 2013: Manager, CEO e Responsabili IT in Cloud. Caso concreto di ...
festival ICT 2013: Manager, CEO e Responsabili IT in Cloud. Caso concreto di ...festival ICT 2013: Manager, CEO e Responsabili IT in Cloud. Caso concreto di ...
festival ICT 2013: Manager, CEO e Responsabili IT in Cloud. Caso concreto di ...
 
Virtualizzare Nanosoft
Virtualizzare   NanosoftVirtualizzare   Nanosoft
Virtualizzare Nanosoft
 
MySQL Day Milano 2018 - Le architetture a microservizi
MySQL Day Milano 2018 - Le architetture a microserviziMySQL Day Milano 2018 - Le architetture a microservizi
MySQL Day Milano 2018 - Le architetture a microservizi
 
MySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle Openstack
MySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle OpenstackMySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle Openstack
MySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle Openstack
 
Cerved - The Italian Business Graph: a Story of Tech & data-driven Innovation
Cerved - The Italian Business Graph: a Story of Tech & data-driven InnovationCerved - The Italian Business Graph: a Story of Tech & data-driven Innovation
Cerved - The Italian Business Graph: a Story of Tech & data-driven Innovation
 
TYPO3 CMS 8.4 - Le novità
TYPO3 CMS 8.4 - Le novitàTYPO3 CMS 8.4 - Le novità
TYPO3 CMS 8.4 - Le novità
 
Disaster Recovery VS Business Continuity in Alta Affidabilità
Disaster Recovery VS Business Continuity in Alta AffidabilitàDisaster Recovery VS Business Continuity in Alta Affidabilità
Disaster Recovery VS Business Continuity in Alta Affidabilità
 
MySQL Tech Tour 2016 - Panoramica sul progetto Openstack
MySQL Tech Tour 2016 - Panoramica sul progetto OpenstackMySQL Tech Tour 2016 - Panoramica sul progetto Openstack
MySQL Tech Tour 2016 - Panoramica sul progetto Openstack
 

More from Par-Tec S.p.A.

RHACS: creare, distribuire ed eseguire applicazioni cloud native in modo più ...
RHACS: creare, distribuire ed eseguire applicazioni cloud native in modo più ...RHACS: creare, distribuire ed eseguire applicazioni cloud native in modo più ...
RHACS: creare, distribuire ed eseguire applicazioni cloud native in modo più ...Par-Tec S.p.A.
 
MySQL Day Roma 2022 - MySQL: dall'alta disponibilità al disaster recovery in ...
MySQL Day Roma 2022 - MySQL: dall'alta disponibilità al disaster recovery in ...MySQL Day Roma 2022 - MySQL: dall'alta disponibilità al disaster recovery in ...
MySQL Day Roma 2022 - MySQL: dall'alta disponibilità al disaster recovery in ...Par-Tec S.p.A.
 
Webinar 23 giugno 2022 - Advanced Cluster Security: come si mette davvero al ...
Webinar 23 giugno 2022 - Advanced Cluster Security: come si mette davvero al ...Webinar 23 giugno 2022 - Advanced Cluster Security: come si mette davvero al ...
Webinar 23 giugno 2022 - Advanced Cluster Security: come si mette davvero al ...Par-Tec S.p.A.
 
Webinar 18 novembre 2021 - Dall’endpoint protection al servizio gestito: come...
Webinar 18 novembre 2021 - Dall’endpoint protection al servizio gestito: come...Webinar 18 novembre 2021 - Dall’endpoint protection al servizio gestito: come...
Webinar 18 novembre 2021 - Dall’endpoint protection al servizio gestito: come...Par-Tec S.p.A.
 
Webinar 2 marzo 2021 - DevSecOps: la cybersecurity sposa lo sviluppo moderno
Webinar 2 marzo 2021 - DevSecOps: la cybersecurity sposa lo sviluppo modernoWebinar 2 marzo 2021 - DevSecOps: la cybersecurity sposa lo sviluppo moderno
Webinar 2 marzo 2021 - DevSecOps: la cybersecurity sposa lo sviluppo modernoPar-Tec S.p.A.
 
Webinar 6 ottobre 2020 - Sicurezza e Compliance a misura di RPA
Webinar 6 ottobre 2020 - Sicurezza e Compliance a misura di RPAWebinar 6 ottobre 2020 - Sicurezza e Compliance a misura di RPA
Webinar 6 ottobre 2020 - Sicurezza e Compliance a misura di RPAPar-Tec S.p.A.
 
MySQL Day Milano 2019 - Da MySQL 5.7 a MySQL 8.0
MySQL Day Milano 2019 - Da MySQL 5.7 a MySQL 8.0MySQL Day Milano 2019 - Da MySQL 5.7 a MySQL 8.0
MySQL Day Milano 2019 - Da MySQL 5.7 a MySQL 8.0Par-Tec S.p.A.
 
Open Source Day 2019 - Cosa puoi fare con Ansible in 1200 secondi?
Open Source Day 2019 - Cosa puoi fare con Ansible in 1200 secondi?Open Source Day 2019 - Cosa puoi fare con Ansible in 1200 secondi?
Open Source Day 2019 - Cosa puoi fare con Ansible in 1200 secondi?Par-Tec S.p.A.
 
Forum ICT Security 2019 - L’Identity Governance come difesa dagli insider thr...
Forum ICT Security 2019 - L’Identity Governance come difesa dagli insider thr...Forum ICT Security 2019 - L’Identity Governance come difesa dagli insider thr...
Forum ICT Security 2019 - L’Identity Governance come difesa dagli insider thr...Par-Tec S.p.A.
 
MySQL Day Roma 2019 - Da MySQL 5.7 a MySQL 8.0
MySQL Day Roma 2019 - Da MySQL 5.7 a MySQL 8.0MySQL Day Roma 2019 - Da MySQL 5.7 a MySQL 8.0
MySQL Day Roma 2019 - Da MySQL 5.7 a MySQL 8.0Par-Tec S.p.A.
 
MySQL Day Roma 2019 - Le architetture a microservizi e MySQL
MySQL Day Roma 2019 - Le architetture a microservizi e MySQLMySQL Day Roma 2019 - Le architetture a microservizi e MySQL
MySQL Day Roma 2019 - Le architetture a microservizi e MySQLPar-Tec S.p.A.
 
C&CNR2019 - Containers Landscape Review
C&CNR2019 - Containers Landscape ReviewC&CNR2019 - Containers Landscape Review
C&CNR2019 - Containers Landscape ReviewPar-Tec S.p.A.
 
C&CNR2019 - Cloud-Native Landscape Review
C&CNR2019 - Cloud-Native Landscape ReviewC&CNR2019 - Cloud-Native Landscape Review
C&CNR2019 - Cloud-Native Landscape ReviewPar-Tec S.p.A.
 
Open Source Day 2018 - OpenShift accelera la digital transformation di SIAE
Open Source Day 2018 - OpenShift accelera la digital transformation di SIAEOpen Source Day 2018 - OpenShift accelera la digital transformation di SIAE
Open Source Day 2018 - OpenShift accelera la digital transformation di SIAEPar-Tec S.p.A.
 
Open Source Day 2018 - Caso Cliente INAIL: Soluzioni e competenze che abilita...
Open Source Day 2018 - Caso Cliente INAIL: Soluzioni e competenze che abilita...Open Source Day 2018 - Caso Cliente INAIL: Soluzioni e competenze che abilita...
Open Source Day 2018 - Caso Cliente INAIL: Soluzioni e competenze che abilita...Par-Tec S.p.A.
 
MySQL Day Milano 2018 - MySQL e le architetture a microservizi
MySQL Day Milano 2018 - MySQL e le architetture a microserviziMySQL Day Milano 2018 - MySQL e le architetture a microservizi
MySQL Day Milano 2018 - MySQL e le architetture a microserviziPar-Tec S.p.A.
 
Forum ICT Security 2018 - Il GDPR applicato al settore del retail: il caso di...
Forum ICT Security 2018 - Il GDPR applicato al settore del retail: il caso di...Forum ICT Security 2018 - Il GDPR applicato al settore del retail: il caso di...
Forum ICT Security 2018 - Il GDPR applicato al settore del retail: il caso di...Par-Tec S.p.A.
 
Container e DevOps al servizio dei cittadini: il caso di INAIL
Container e DevOps al servizio dei cittadini: il caso di INAILContainer e DevOps al servizio dei cittadini: il caso di INAIL
Container e DevOps al servizio dei cittadini: il caso di INAILPar-Tec S.p.A.
 
MySQL Day Roma 2018 - Il GDPR e le tecnologie a protezione dei dati personali
MySQL Day Roma 2018 - Il GDPR e le tecnologie a protezione dei dati personaliMySQL Day Roma 2018 - Il GDPR e le tecnologie a protezione dei dati personali
MySQL Day Roma 2018 - Il GDPR e le tecnologie a protezione dei dati personaliPar-Tec S.p.A.
 
The Dark Side of the GDPR: dalla compliance alla formazione
The Dark Side of the GDPR: dalla compliance alla formazioneThe Dark Side of the GDPR: dalla compliance alla formazione
The Dark Side of the GDPR: dalla compliance alla formazionePar-Tec S.p.A.
 

More from Par-Tec S.p.A. (20)

RHACS: creare, distribuire ed eseguire applicazioni cloud native in modo più ...
RHACS: creare, distribuire ed eseguire applicazioni cloud native in modo più ...RHACS: creare, distribuire ed eseguire applicazioni cloud native in modo più ...
RHACS: creare, distribuire ed eseguire applicazioni cloud native in modo più ...
 
MySQL Day Roma 2022 - MySQL: dall'alta disponibilità al disaster recovery in ...
MySQL Day Roma 2022 - MySQL: dall'alta disponibilità al disaster recovery in ...MySQL Day Roma 2022 - MySQL: dall'alta disponibilità al disaster recovery in ...
MySQL Day Roma 2022 - MySQL: dall'alta disponibilità al disaster recovery in ...
 
Webinar 23 giugno 2022 - Advanced Cluster Security: come si mette davvero al ...
Webinar 23 giugno 2022 - Advanced Cluster Security: come si mette davvero al ...Webinar 23 giugno 2022 - Advanced Cluster Security: come si mette davvero al ...
Webinar 23 giugno 2022 - Advanced Cluster Security: come si mette davvero al ...
 
Webinar 18 novembre 2021 - Dall’endpoint protection al servizio gestito: come...
Webinar 18 novembre 2021 - Dall’endpoint protection al servizio gestito: come...Webinar 18 novembre 2021 - Dall’endpoint protection al servizio gestito: come...
Webinar 18 novembre 2021 - Dall’endpoint protection al servizio gestito: come...
 
Webinar 2 marzo 2021 - DevSecOps: la cybersecurity sposa lo sviluppo moderno
Webinar 2 marzo 2021 - DevSecOps: la cybersecurity sposa lo sviluppo modernoWebinar 2 marzo 2021 - DevSecOps: la cybersecurity sposa lo sviluppo moderno
Webinar 2 marzo 2021 - DevSecOps: la cybersecurity sposa lo sviluppo moderno
 
Webinar 6 ottobre 2020 - Sicurezza e Compliance a misura di RPA
Webinar 6 ottobre 2020 - Sicurezza e Compliance a misura di RPAWebinar 6 ottobre 2020 - Sicurezza e Compliance a misura di RPA
Webinar 6 ottobre 2020 - Sicurezza e Compliance a misura di RPA
 
MySQL Day Milano 2019 - Da MySQL 5.7 a MySQL 8.0
MySQL Day Milano 2019 - Da MySQL 5.7 a MySQL 8.0MySQL Day Milano 2019 - Da MySQL 5.7 a MySQL 8.0
MySQL Day Milano 2019 - Da MySQL 5.7 a MySQL 8.0
 
Open Source Day 2019 - Cosa puoi fare con Ansible in 1200 secondi?
Open Source Day 2019 - Cosa puoi fare con Ansible in 1200 secondi?Open Source Day 2019 - Cosa puoi fare con Ansible in 1200 secondi?
Open Source Day 2019 - Cosa puoi fare con Ansible in 1200 secondi?
 
Forum ICT Security 2019 - L’Identity Governance come difesa dagli insider thr...
Forum ICT Security 2019 - L’Identity Governance come difesa dagli insider thr...Forum ICT Security 2019 - L’Identity Governance come difesa dagli insider thr...
Forum ICT Security 2019 - L’Identity Governance come difesa dagli insider thr...
 
MySQL Day Roma 2019 - Da MySQL 5.7 a MySQL 8.0
MySQL Day Roma 2019 - Da MySQL 5.7 a MySQL 8.0MySQL Day Roma 2019 - Da MySQL 5.7 a MySQL 8.0
MySQL Day Roma 2019 - Da MySQL 5.7 a MySQL 8.0
 
MySQL Day Roma 2019 - Le architetture a microservizi e MySQL
MySQL Day Roma 2019 - Le architetture a microservizi e MySQLMySQL Day Roma 2019 - Le architetture a microservizi e MySQL
MySQL Day Roma 2019 - Le architetture a microservizi e MySQL
 
C&CNR2019 - Containers Landscape Review
C&CNR2019 - Containers Landscape ReviewC&CNR2019 - Containers Landscape Review
C&CNR2019 - Containers Landscape Review
 
C&CNR2019 - Cloud-Native Landscape Review
C&CNR2019 - Cloud-Native Landscape ReviewC&CNR2019 - Cloud-Native Landscape Review
C&CNR2019 - Cloud-Native Landscape Review
 
Open Source Day 2018 - OpenShift accelera la digital transformation di SIAE
Open Source Day 2018 - OpenShift accelera la digital transformation di SIAEOpen Source Day 2018 - OpenShift accelera la digital transformation di SIAE
Open Source Day 2018 - OpenShift accelera la digital transformation di SIAE
 
Open Source Day 2018 - Caso Cliente INAIL: Soluzioni e competenze che abilita...
Open Source Day 2018 - Caso Cliente INAIL: Soluzioni e competenze che abilita...Open Source Day 2018 - Caso Cliente INAIL: Soluzioni e competenze che abilita...
Open Source Day 2018 - Caso Cliente INAIL: Soluzioni e competenze che abilita...
 
MySQL Day Milano 2018 - MySQL e le architetture a microservizi
MySQL Day Milano 2018 - MySQL e le architetture a microserviziMySQL Day Milano 2018 - MySQL e le architetture a microservizi
MySQL Day Milano 2018 - MySQL e le architetture a microservizi
 
Forum ICT Security 2018 - Il GDPR applicato al settore del retail: il caso di...
Forum ICT Security 2018 - Il GDPR applicato al settore del retail: il caso di...Forum ICT Security 2018 - Il GDPR applicato al settore del retail: il caso di...
Forum ICT Security 2018 - Il GDPR applicato al settore del retail: il caso di...
 
Container e DevOps al servizio dei cittadini: il caso di INAIL
Container e DevOps al servizio dei cittadini: il caso di INAILContainer e DevOps al servizio dei cittadini: il caso di INAIL
Container e DevOps al servizio dei cittadini: il caso di INAIL
 
MySQL Day Roma 2018 - Il GDPR e le tecnologie a protezione dei dati personali
MySQL Day Roma 2018 - Il GDPR e le tecnologie a protezione dei dati personaliMySQL Day Roma 2018 - Il GDPR e le tecnologie a protezione dei dati personali
MySQL Day Roma 2018 - Il GDPR e le tecnologie a protezione dei dati personali
 
The Dark Side of the GDPR: dalla compliance alla formazione
The Dark Side of the GDPR: dalla compliance alla formazioneThe Dark Side of the GDPR: dalla compliance alla formazione
The Dark Side of the GDPR: dalla compliance alla formazione
 

MySQL Day Milano 2019 - Il backup non ammette ignoranza

  • 1. Partita IVA e Codice Fiscale: 12938200156 C.C.I.A.A. Milano n.1599095 Registro Imprese 12938200156 Capitale Sociale € 2.418.433,00 i.v. Sede Legale e Unità Operativa Via Alfredo Campanini, 6 20124 Milano Tel: +39 02.66.732.1 – Fax: +39 02.66.732.300 Unità Operativa Via Cristoforo Colombo, 163 00147 Roma Tel: +39 06.9826.9600 – Fax: +39 06.9826.9680 Il backup non ammette ignoranza Michelangelo Uberti - Marketing Manager Oracle MySQL Day Milano, 26 Novembre 2019
  • 2. 2 Chi è Par-Tec La proficua collaborazione con Oracle è iniziata 9 anni fa ma ha origini lontane: l’attuale business unit di Roma, ex Babel, è nata nel 1994 come braccio armato di Sun Microsystems sul mercato delle principali telco italiane. Il nostro attuale rapporto con Oracle? Gold Partner con specializzazione su MySQL 5 (ma con le competenze sulla versione 8!) Par-Tec è un software & infrastructure system integrator specializzato nella fornitura di servizi professionali altamente qualificati e nella progettazione di soluzioni cross-market. La nostra offerta include: Technology Solutions Stackable Financial Services Solutions Security TS ST FS SE Business Solutions Educational BS E
  • 3. 3
  • 6. 6 Quanti tipi di backup esistono? Ci sono tantissimi tipi di nodi, ma in fondo ne esistono solo due: quelli fatti bene e quelli fatti male “ ”Capitan Findus Lo stesso vale per i backup
  • 7. 7 Back to basics: concetti chiave Con backup si indica la messa in sicurezza delle informazioni di un sistema informativo attraverso la ridondanza delle informazioni stesse da utilizzare come ripristino in caso di eventi malevoli accidentali o intenzionali. Un backup fatto bene è quello che ci consente di ripristinare i dati nei tempi e nei modi previsti nel piano di backup. Senza possibilità di ripristino, il backup è inutile. t Si verifica (o si rileva) un incidente Recovery Time Object (RTO) Ripristino dei dati e dell'operatività Recovery Point Object (RPO) Ultimo backup utilizzabile RPO - retention Primo backup utilizzabile Transazioni perse Downtime
  • 8. 8 Back to basics: concetti chiave tt0 - Completo È il backup di riferimento per il successivo t1 - Incrementale Include le modifiche avvenute tra t0 e t1 t2 - Incrementale Include le modifiche avvenute tra t1 e t2 t3 - Incrementale Include le modifiche avvenute tra t2 e t3 Un backup differenziale contiene tutte le modifiche effettuate dall'ultimo backup completo Un backup incrementale contiene solo le modifiche effettuate dall'ultimo backup tt0 - Completo È il backup di riferimento per tutti i successivi t1 - Differenziale Include le modifiche avvenute tra t0 e t1 t2 - Differenziale Include le modifiche avvenute tra t0 e t2 t3 - Differenziale Include le modifiche avvenute tra t0 e t3
  • 9. 9 Tipologie di backup Le varie tipologie possono essere condensate in due macro-gruppi Logico SQL DROP TABLE IF EXISTS `City`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `City` ( `ID` int(11) NOT NULL AUTO_INCREMENT, `Name` char(35) NOT NULL DEFAULT '', `CountryCode` char(3) NOT NULL DEFAULT '', `District` char(20) NOT NULL DEFAULT '', `Population` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`ID`), KEY `CountryCode` (`CountryCode`), CONSTRAINT `city_ibfk_1` FOREIGN KEY (`CountryCode`) REFERENCES `Country` (`Code`) ) ENGINE=InnoDB AUTO_INCREMENT=4080 DEFAULT CHARSET=latin1; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `City` -- -- ORDER BY: `ID` INSERT INTO `City` VALUES (1,'Kabul','AFG','Kabol',1780000); INSERT INTO `City` VALUES (2,'Qandahar','AFG','Qandahar',237500); INSERT INTO `City` VALUES (3,'Herat','AFG','Herat',186800); INSERT INTO `City` VALUES (4,'Mazar-e-Sharif','AFG','Balkh',127800);
  • 10. 10 Tipologie di backup Le varie tipologie possono essere condensate in due macro-gruppi Logico SQL Fisico RAW ./datadir: ibbackup_logfile mysql.ibd mysql-relay-bin-group_replication_recovery.000002 sbtest ib_buffer_pool mysql_innodb_cluster_metadata mysql-relay-bin-group_replication_recovery.000003 sys ibdata1 mysql-relay-bin-group_replication_applier.000033 mysql-relay-bin-group_replication_recovery.000004 test ib_dblwr mysql-relay-bin-group_replication_applier.000034 mysql-relay-bin-group_replication_recovery.000005 undo_001 ib_logfile0 mysql-relay-bin-group_replication_applier.000035 mysql-relay-bin-group_replication_recovery.000006 undo_002 ib_logfile1 mysql-relay-bin-group_replication_applier.index mysql-relay-bin-group_replication_recovery.index world mysql mysql-relay-bin- group_replication_recovery.000001 performance_schema wpdatabase ./datadir/ib_dblwr: dblwr_0
  • 11. 11 Tipologie di backup Le varie tipologie possono essere condensate in due macro-gruppi Logico SQL Fisico RAW ??/48?U'QII&@@!%??????????????????????????&&?????????????????????? ????/4U'Qk???U'QkI300???U'Qk?"?U'QkI?????????????????????????????? ???i?????????????????????????????????????????????????????????????? ?????????????????????????????????????????????????????????????????? ??????????????????????i??????????????????????????????????????????? ?????????????????????????????????????????????????????????????????? ?????????????????????????????????????????????i???????????????????? ?????????????????????????????????????????????????????????????????? ????????????????????????????????????????????????????????????????i? !"#?????????????????????????????????????????????????????????i????? ?????????????????????????????????????????????????????????????????? ?????????????????????????????????????????????????????????????????? ?????????????i?$?????????????????????????????????????????????????? ???????????????????????????????????????????????????"?U'Qk????????? ??U'??E?IG??????????I?I2&infimum supremum???N+???n?x?m??J1??宥mP:2!ƍ? ???$1 ?a?w?N???????;
  • 12. 12 Tipologie di backup Le varie tipologie possono essere condensate in due macro-gruppi Per scegliere l'approccio migliore dovete considerare diversi fattori DROP TABLE IF EXISTS `City`; /*!40101 SET @saved_cs_client /*!40101 SET character_set_client = utf8 CREATE TABLE `City` ( `ID` int(11) NOT NULL AUTO_INCREMENT, `Name` char(35) NOT NULL DEFAULT '', ... Logico SQL ??/48?U'QII&@@!%??????????????? ???????????&&?????????????????? ????????/4U'Qk???U'QkI300???U'Q k?"?U'QkI?????????????????????? ???????????i??????????????????? ??????????????????????????????? Fisico RAW Dimensioni del database vs Grado di attività Budget a disposizione Velocità di ripristino
  • 13. 13 Backup logico con mysqldump e mysqlpump Il tool mysqldump consente di eseguire backup logici sotto forma di file di testo contenenti gli statement SQL per ricreare e popolare gli oggetti del database. Rispetto al mysqldump, il nuovo tool mysqlpump include: 1. Elaborazione multi-thread – solo per il backup, non per il restore! 2. Indicatore di progresso 3. Export di account e relative grant VANTAGGI LIMITI / SVANTAGGI • È molto facile da usare • Ideale per database di piccole dimensioni • Estremamente flessibile • Multipiattaforma • Non esegue backup a caldo • Scarse performance • I file prodotti sono grandi e in chiaro • La consistenza non è garantita • Non supporta i backup incrementali
  • 14. 14 Backup fisico con MySQL Enterprise Backup Il MySQL Enterprise Backup è lo strumento incluso nella sottoscrizione Enterprise che consente di effettuare backup a caldo di vario tipo direttamente su storage locale, tape e cloud. Come funziona? Crea una copia fisica di tutti i file che costituiscono il database senza creare lock di tabella o mettere offline il database, perciò non interferisce in alcun modo con l'operatività. A differenza degli altri tool può essere gestito anche dal MySQL Enterprise Monitor. VANTAGGI LIMITI / SVANTAGGI • Backup in linea a caldo per InnoDB • Backup incrementali • Backup e restore parziali • Compressione e cifratura • La consistenza è garantita • Backup su cartella, single-file, tape e cloud • Minor portabilità • La versione del MEB deve essere allineata a quella di MySQL • I dati salvati non sono modificabili prima del restore
  • 15. 15 Opzioni di backup a confronto mysqldump mysqlpump MySQL Enterprise Backup Full Backup ✔ ✔ ✔ Incremental Backup ✘ ✘ ✔ Partial Backup ✔ ✔ ✔ Compression Support ✘ ✔* ✔ Encryption Support ✘ ✘ ✔ Allow Updates ✘ ✘ ✔ Point in time consistent ✘ ✘ ✔ No Locking (of InnoDB) ✘ ✘ ✔ Backup Speed Poor Fair Very Good Recovery Speed Poor Poor Very Good Partial Restore ✔ ✔ ✔ Parallel Processing ✘ ✔ ✔ Transportable Tablespace Support ✘ ✘ ✔ Corruption Detection ✔ ✔ ✔ Streaming Support ✔ ✔ ✔ Direct Media Manager (Tape Support) ✘ ✘ ✔ * Not available out of the box, depends on external libraries.
  • 16. 16 Size (and speed) matters! 49x più performante 80x più performante 0 50 100 150 200 250 300 Minuti mysqldump 4h 17min MySQL Enterprise Backup 5,25min 0 200 400 600 800 1.000 1.200 Minuti MySQL Enterprise Backup 14min mysqldump 18h 45min Quando scegliete la tipologia di backup valutate le funzionalità senza trascurare le prestazioni Backup DB 73GB Restore DB 73GB
  • 17. 17 …e le repliche? Se avete scelto quest'approccio sappiate che state sbagliando e che dovete correggere quanto prima questa situazione Session Dump I/O Master Database Slave Database Binary Log Relay Log SQL DELETE FROM tbl_Items WHERE ItemID>100; ✘ ✘ Le repliche di database non sostituiscono un buon backup!
  • 18. 18 …e le repliche? mysqldump mysqlpump MySQL Enterprise Backup MySQL Replication Full Backup ✔ ✔ ✔ ✔ Incremental Backup ✘ ✘ ✔ ✘ Partial Backup ✔ ✔ ✔ ✘ Compression Support ✘ ✔* ✔ ✘ Encryption Support ✘ ✘ ✔ ✘ Allow Updates ✘ ✘ ✔ ✔ Point in time consistent ✘ ✘ ✔ ✔ No Locking (of InnoDB) ✘ ✘ ✔ ✔ Backup Speed Poor Fair Very Good Very Good Recovery Speed Poor Poor Very Good Very Good Partial Restore ✔ ✔ ✔ ✘ Parallel Processing ✘ ✔ ✔ ✔ Transportable Tablespace Support ✘ ✘ ✔ N/A Corruption Detection ✔ ✔ ✔ ✘ Streaming Support ✔ ✔ ✔ ✘ Direct Media Manager (Tape Support) ✘ ✘ ✔ ✘ * Not available out of the box, depends on external libraries.
  • 19. 19 Il piano di backup Nel piano di backup definiamo le strategie, i tempi e i modi per rispettare gli obiettivi prefissati RTO RPO Se avete un DB di 73GB e non volete aspettare 19h scegliete un backup fisico tipo MEB Misuriamo l'operatività del sistema e (se ne vale la pena) impostiamo una strategia a più livelli, ad es.: Backup completo Frequenza: settimanale Backup incrementale Frequenza: giornaliera Backup incrementale redo log Frequenza: ogni 2h Retention: 6 mesi Retention: 1 settimana Retention: 2 giorni Non scordate di verificare che il restore funzioni Senza possibilità di ripristino, il backup è inutile
  • 20. Sede Legale e Unità Operativa Via Alfredo Campanini, 6 20124 Milano Tel: +39 02.66.732.1 – Fax: +39 02.66.732.300 Unità Operativa Via Cristoforo Colombo, 163 00147 Roma Tel: +39 06.9826.9600 – Fax: +39 06.9826.9680 Grazie per l'attenzione!