SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Downloaden Sie, um offline zu lesen
MySQL diventa grande
<giovanni@openbsd.org>
Mi presento
● Titolare della SnB, azienda di
assistenza e sviluppo software
● Sviluppatore OpenBSD
Perchè MySQL ?
● Opensource
● Multi piattaforma
● Molto diffuso presso molti ISP
● Enterprise-ready
Miti da sfatare
● MySQL solo per semplici siti web
● MySQL non ha le caratteristiche di
altri database di livello “Enterprise”
● Facebook utilizza MySQL
MySQL: i “Pro”
● Buona velocità delle query
● Supporto alle transazioni ACID (atomicity,
consistency, isolation, durability)
● Viste, stored procedures e altri
stumenti avanzati
MySQL: i “Contro”
● Possibilità di replica del db server
● Allocazione dello spazio nel
tablespace InnoDB
Database engines
● MyISAM
● InnoDB
● Memory
● Blackhole
● Federated
MyISAM
● Utitilizzato da molti provider perchè
molto veloce
● Non supporta transazioni, viste,
stored procedures, partitioned tables,
…
● Vivamente sconsigliato per un utilizzo
professionale
InnoDB
● Engine di default in MySQL 5.5
● Supporta ogni caratteristica di un db
server di livello “Enterprise”
● Se ottimizzato è molto veloce anche
con considerevoli quantità di dati
Blackhole
● I dati non vengono salvati
● Utile per fare dei benchmark e per le
repliche multi livello
Memory
● I dati vengono salvati in “memoria
volatile”
● Utile soprattutto per utilizzare le
tabelle temporanee
Federated
● I dati vengono letti da un altro server
MySQL e visti come se fossero locali
● Occorre studiare attentamente le
query perchè ci sono dei limiti in
questo tipo di tabelle
Quando i record diventano tanti..
In caso di aumento dei record si ha un
naturale calo delle performance
● Correzione dei bug nell'applicazione
● Ottimizzazione del db server
● Miglioramento dell'hardware
Quando i record diventano tanti..
● Usare il comando EXPLAIN per
verificare le query
● Fare il profiling delle query
● Mettere (o togliere) i corretti indici
● Configurare i parametri in my.cnf
(i parametri di default sono “scarsi”)
Quando i record diventano tanti..
● Le “Partitioned tables” sono uno degli
strumenti per velocizzare l'esecuzione
delle query
● I dati vengono suddivisi in “partizioni”
e la query cerca solo all'interno della
partizione che serve
“Partitioned tables”, quando ?
● Se si hanno tabelle di grandi
dimensioni
● Se le ricerche verranno fatte sempre
per l'indice di “partizionamento”
● Se si vogliono eliminare dati storici
velocemente
● Se gli indici occupano più spazio della
ram disponibile
Percona Toolkit
● Set di tools che semplificano
l'amministrazione di MySQL
● pt-summary, pt-mysql-summary,
pt-variable-advisor per
l'ottimizzazione del database
● pt-query-advisor per l'ottimizzazione
delle query
MySQL Tuner
● Tool molto utile per ottimizzare la
configurazione del server MySQL
● Suggerisce delle configurazioni
ottimali ma non sostituisce un buon
DBA
MySQL Workbench
Facciamo un po' di pratica..
Domande ?

Weitere ähnliche Inhalte

Ähnlich wie Mysql diventa grande

Azure PaaS databases
Azure PaaS databasesAzure PaaS databases
Azure PaaS databasesGianluca Hotz
 
iot Saturday 2019 - PoC iot in 1 ora
iot Saturday 2019 - PoC iot in 1 oraiot Saturday 2019 - PoC iot in 1 ora
iot Saturday 2019 - PoC iot in 1 oraAlessio Biasiutti
 
MySQL Tech Tour 2015 - Soluzioni di alta disponibilità con MySQL
MySQL Tech Tour 2015 - Soluzioni di alta disponibilità con MySQLMySQL Tech Tour 2015 - Soluzioni di alta disponibilità con MySQL
MySQL Tech Tour 2015 - Soluzioni di alta disponibilità con MySQLPar-Tec S.p.A.
 
Come utilizzare AWS DMS per migrare SQL Server ad Amazon Aurora
Come utilizzare AWS DMS per migrare SQL Server ad Amazon AuroraCome utilizzare AWS DMS per migrare SQL Server ad Amazon Aurora
Come utilizzare AWS DMS per migrare SQL Server ad Amazon AuroraGianluca Hotz
 
Novità di SQL Server 2017
Novità di SQL Server 2017Novità di SQL Server 2017
Novità di SQL Server 2017Gianluca Hotz
 
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
 
Laboratorio Di Basi Di Dati 02 Il D B M S My S Q L
Laboratorio Di  Basi Di  Dati 02  Il  D B M S  My S Q LLaboratorio Di  Basi Di  Dati 02  Il  D B M S  My S Q L
Laboratorio Di Basi Di Dati 02 Il D B M S My S Q Lguestbe916c
 
Quanto mi costa SQL Pool Serverless Synapse
Quanto mi costa SQL Pool Serverless SynapseQuanto mi costa SQL Pool Serverless Synapse
Quanto mi costa SQL Pool Serverless SynapseMarco Pozzan
 
SQL Server Worst Practices
SQL Server Worst PracticesSQL Server Worst Practices
SQL Server Worst PracticesGianluca Sartori
 
SQL Server Data Virtualization with polybase
SQL Server Data Virtualization with polybaseSQL Server Data Virtualization with polybase
SQL Server Data Virtualization with polybaseGianluca Hotz
 
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL DatabaseEmanuele Zanchettin
 
Infinispan codemotion - Codemotion Rome 2015
Infinispan codemotion - Codemotion Rome 2015Infinispan codemotion - Codemotion Rome 2015
Infinispan codemotion - Codemotion Rome 2015Codemotion
 
JBoss Data Grid Tech Lab
JBoss Data Grid Tech LabJBoss Data Grid Tech Lab
JBoss Data Grid Tech LabUgo Landini
 
JBoss Clouds - JBug Roma october 2009
JBoss Clouds -  JBug Roma october 2009JBoss Clouds -  JBug Roma october 2009
JBoss Clouds - JBug Roma october 2009Sanne Grinovero
 
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL DatabaseEmanuele Zanchettin
 

Ähnlich wie Mysql diventa grande (20)

Azure PaaS databases
Azure PaaS databasesAzure PaaS databases
Azure PaaS databases
 
Azure sql database
Azure sql databaseAzure sql database
Azure sql database
 
iot Saturday 2019 - PoC iot in 1 ora
iot Saturday 2019 - PoC iot in 1 oraiot Saturday 2019 - PoC iot in 1 ora
iot Saturday 2019 - PoC iot in 1 ora
 
PoC IoT in 1 ora
PoC IoT in 1 oraPoC IoT in 1 ora
PoC IoT in 1 ora
 
MySQL Tech Tour 2015 - Soluzioni di alta disponibilità con MySQL
MySQL Tech Tour 2015 - Soluzioni di alta disponibilità con MySQLMySQL Tech Tour 2015 - Soluzioni di alta disponibilità con MySQL
MySQL Tech Tour 2015 - Soluzioni di alta disponibilità con MySQL
 
Come utilizzare AWS DMS per migrare SQL Server ad Amazon Aurora
Come utilizzare AWS DMS per migrare SQL Server ad Amazon AuroraCome utilizzare AWS DMS per migrare SQL Server ad Amazon Aurora
Come utilizzare AWS DMS per migrare SQL Server ad Amazon Aurora
 
Novità di SQL Server 2017
Novità di SQL Server 2017Novità di SQL Server 2017
Novità di SQL Server 2017
 
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...
 
Laboratorio Di Basi Di Dati 02 Il D B M S My S Q L
Laboratorio Di  Basi Di  Dati 02  Il  D B M S  My S Q LLaboratorio Di  Basi Di  Dati 02  Il  D B M S  My S Q L
Laboratorio Di Basi Di Dati 02 Il D B M S My S Q L
 
Infinispan
InfinispanInfinispan
Infinispan
 
Quanto mi costa SQL Pool Serverless Synapse
Quanto mi costa SQL Pool Serverless SynapseQuanto mi costa SQL Pool Serverless Synapse
Quanto mi costa SQL Pool Serverless Synapse
 
SQL Server Worst Practices
SQL Server Worst PracticesSQL Server Worst Practices
SQL Server Worst Practices
 
Dominopoint meet the experts 2015 - XPages
Dominopoint   meet the experts 2015 - XPagesDominopoint   meet the experts 2015 - XPages
Dominopoint meet the experts 2015 - XPages
 
SQL Server Data Virtualization with polybase
SQL Server Data Virtualization with polybaseSQL Server Data Virtualization with polybase
SQL Server Data Virtualization with polybase
 
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
 
Infinispan codemotion - Codemotion Rome 2015
Infinispan codemotion - Codemotion Rome 2015Infinispan codemotion - Codemotion Rome 2015
Infinispan codemotion - Codemotion Rome 2015
 
JBoss Data Grid Tech Lab
JBoss Data Grid Tech LabJBoss Data Grid Tech Lab
JBoss Data Grid Tech Lab
 
JBoss Clouds - JBug Roma october 2009
JBoss Clouds -  JBug Roma october 2009JBoss Clouds -  JBug Roma october 2009
JBoss Clouds - JBug Roma october 2009
 
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
 
Presentazione bd2
Presentazione bd2Presentazione bd2
Presentazione bd2
 

Mehr von Giovanni Bechis

SpamAssassin 4.0 new features
SpamAssassin 4.0 new featuresSpamAssassin 4.0 new features
SpamAssassin 4.0 new featuresGiovanni Bechis
 
ACME and mod_md: tls certificates made easy
ACME and mod_md: tls certificates made easyACME and mod_md: tls certificates made easy
ACME and mod_md: tls certificates made easyGiovanni Bechis
 
Scaling antispam solutions with Puppet
Scaling antispam solutions with PuppetScaling antispam solutions with Puppet
Scaling antispam solutions with PuppetGiovanni Bechis
 
What's new in SpamAssassin 3.4.3
What's new in SpamAssassin 3.4.3What's new in SpamAssassin 3.4.3
What's new in SpamAssassin 3.4.3Giovanni Bechis
 
Fighting Spam for fun and profit
Fighting Spam for fun and profitFighting Spam for fun and profit
Fighting Spam for fun and profitGiovanni Bechis
 
Linux seccomp(2) vs OpenBSD pledge(2)
Linux seccomp(2) vs OpenBSD pledge(2)Linux seccomp(2) vs OpenBSD pledge(2)
Linux seccomp(2) vs OpenBSD pledge(2)Giovanni Bechis
 
Pf: the OpenBSD packet filter
Pf: the OpenBSD packet filterPf: the OpenBSD packet filter
Pf: the OpenBSD packet filterGiovanni Bechis
 
ELK: a log management framework
ELK: a log management frameworkELK: a log management framework
ELK: a log management frameworkGiovanni Bechis
 
OpenSSH: keep your secrets safe
OpenSSH: keep your secrets safeOpenSSH: keep your secrets safe
OpenSSH: keep your secrets safeGiovanni Bechis
 
OpenSMTPD: we deliver !!
OpenSMTPD: we deliver !!OpenSMTPD: we deliver !!
OpenSMTPD: we deliver !!Giovanni Bechis
 
LibreSSL, one year later
LibreSSL, one year laterLibreSSL, one year later
LibreSSL, one year laterGiovanni Bechis
 
SOGo: sostituire Microsoft Exchange con software Open Source
SOGo: sostituire Microsoft Exchange con software Open SourceSOGo: sostituire Microsoft Exchange con software Open Source
SOGo: sostituire Microsoft Exchange con software Open SourceGiovanni Bechis
 
Cloud storage, i tuoi files, ovunque con te
Cloud storage, i tuoi files, ovunque con teCloud storage, i tuoi files, ovunque con te
Cloud storage, i tuoi files, ovunque con teGiovanni Bechis
 
Npppd: easy vpn with OpenBSD
Npppd: easy vpn with OpenBSDNpppd: easy vpn with OpenBSD
Npppd: easy vpn with OpenBSDGiovanni Bechis
 
Openssh: comunicare in sicurezza
Openssh: comunicare in sicurezzaOpenssh: comunicare in sicurezza
Openssh: comunicare in sicurezzaGiovanni Bechis
 
Ipv6: il futuro di internet
Ipv6: il futuro di internetIpv6: il futuro di internet
Ipv6: il futuro di internetGiovanni Bechis
 
L'ABC della crittografia
L'ABC della crittografiaL'ABC della crittografia
L'ABC della crittografiaGiovanni Bechis
 

Mehr von Giovanni Bechis (20)

the Apache way
the Apache waythe Apache way
the Apache way
 
SpamAssassin 4.0 new features
SpamAssassin 4.0 new featuresSpamAssassin 4.0 new features
SpamAssassin 4.0 new features
 
ACME and mod_md: tls certificates made easy
ACME and mod_md: tls certificates made easyACME and mod_md: tls certificates made easy
ACME and mod_md: tls certificates made easy
 
Scaling antispam solutions with Puppet
Scaling antispam solutions with PuppetScaling antispam solutions with Puppet
Scaling antispam solutions with Puppet
 
What's new in SpamAssassin 3.4.3
What's new in SpamAssassin 3.4.3What's new in SpamAssassin 3.4.3
What's new in SpamAssassin 3.4.3
 
Fighting Spam for fun and profit
Fighting Spam for fun and profitFighting Spam for fun and profit
Fighting Spam for fun and profit
 
Linux seccomp(2) vs OpenBSD pledge(2)
Linux seccomp(2) vs OpenBSD pledge(2)Linux seccomp(2) vs OpenBSD pledge(2)
Linux seccomp(2) vs OpenBSD pledge(2)
 
Pledge in OpenBSD
Pledge in OpenBSDPledge in OpenBSD
Pledge in OpenBSD
 
Pf: the OpenBSD packet filter
Pf: the OpenBSD packet filterPf: the OpenBSD packet filter
Pf: the OpenBSD packet filter
 
ELK: a log management framework
ELK: a log management frameworkELK: a log management framework
ELK: a log management framework
 
OpenSSH: keep your secrets safe
OpenSSH: keep your secrets safeOpenSSH: keep your secrets safe
OpenSSH: keep your secrets safe
 
OpenSMTPD: we deliver !!
OpenSMTPD: we deliver !!OpenSMTPD: we deliver !!
OpenSMTPD: we deliver !!
 
LibreSSL, one year later
LibreSSL, one year laterLibreSSL, one year later
LibreSSL, one year later
 
LibreSSL
LibreSSLLibreSSL
LibreSSL
 
SOGo: sostituire Microsoft Exchange con software Open Source
SOGo: sostituire Microsoft Exchange con software Open SourceSOGo: sostituire Microsoft Exchange con software Open Source
SOGo: sostituire Microsoft Exchange con software Open Source
 
Cloud storage, i tuoi files, ovunque con te
Cloud storage, i tuoi files, ovunque con teCloud storage, i tuoi files, ovunque con te
Cloud storage, i tuoi files, ovunque con te
 
Npppd: easy vpn with OpenBSD
Npppd: easy vpn with OpenBSDNpppd: easy vpn with OpenBSD
Npppd: easy vpn with OpenBSD
 
Openssh: comunicare in sicurezza
Openssh: comunicare in sicurezzaOpenssh: comunicare in sicurezza
Openssh: comunicare in sicurezza
 
Ipv6: il futuro di internet
Ipv6: il futuro di internetIpv6: il futuro di internet
Ipv6: il futuro di internet
 
L'ABC della crittografia
L'ABC della crittografiaL'ABC della crittografia
L'ABC della crittografia
 

Mysql diventa grande

  • 2. Mi presento ● Titolare della SnB, azienda di assistenza e sviluppo software ● Sviluppatore OpenBSD
  • 3. Perchè MySQL ? ● Opensource ● Multi piattaforma ● Molto diffuso presso molti ISP ● Enterprise-ready
  • 4. Miti da sfatare ● MySQL solo per semplici siti web ● MySQL non ha le caratteristiche di altri database di livello “Enterprise” ● Facebook utilizza MySQL
  • 5. MySQL: i “Pro” ● Buona velocità delle query ● Supporto alle transazioni ACID (atomicity, consistency, isolation, durability) ● Viste, stored procedures e altri stumenti avanzati
  • 6. MySQL: i “Contro” ● Possibilità di replica del db server ● Allocazione dello spazio nel tablespace InnoDB
  • 7. Database engines ● MyISAM ● InnoDB ● Memory ● Blackhole ● Federated
  • 8. MyISAM ● Utitilizzato da molti provider perchè molto veloce ● Non supporta transazioni, viste, stored procedures, partitioned tables, … ● Vivamente sconsigliato per un utilizzo professionale
  • 9. InnoDB ● Engine di default in MySQL 5.5 ● Supporta ogni caratteristica di un db server di livello “Enterprise” ● Se ottimizzato è molto veloce anche con considerevoli quantità di dati
  • 10. Blackhole ● I dati non vengono salvati ● Utile per fare dei benchmark e per le repliche multi livello
  • 11. Memory ● I dati vengono salvati in “memoria volatile” ● Utile soprattutto per utilizzare le tabelle temporanee
  • 12. Federated ● I dati vengono letti da un altro server MySQL e visti come se fossero locali ● Occorre studiare attentamente le query perchè ci sono dei limiti in questo tipo di tabelle
  • 13. Quando i record diventano tanti.. In caso di aumento dei record si ha un naturale calo delle performance ● Correzione dei bug nell'applicazione ● Ottimizzazione del db server ● Miglioramento dell'hardware
  • 14. Quando i record diventano tanti.. ● Usare il comando EXPLAIN per verificare le query ● Fare il profiling delle query ● Mettere (o togliere) i corretti indici ● Configurare i parametri in my.cnf (i parametri di default sono “scarsi”)
  • 15. Quando i record diventano tanti.. ● Le “Partitioned tables” sono uno degli strumenti per velocizzare l'esecuzione delle query ● I dati vengono suddivisi in “partizioni” e la query cerca solo all'interno della partizione che serve
  • 16. “Partitioned tables”, quando ? ● Se si hanno tabelle di grandi dimensioni ● Se le ricerche verranno fatte sempre per l'indice di “partizionamento” ● Se si vogliono eliminare dati storici velocemente ● Se gli indici occupano più spazio della ram disponibile
  • 17. Percona Toolkit ● Set di tools che semplificano l'amministrazione di MySQL ● pt-summary, pt-mysql-summary, pt-variable-advisor per l'ottimizzazione del database ● pt-query-advisor per l'ottimizzazione delle query
  • 18. MySQL Tuner ● Tool molto utile per ottimizzare la configurazione del server MySQL ● Suggerisce delle configurazioni ottimali ma non sostituisce un buon DBA
  • 20. Facciamo un po' di pratica..