Your SlideShare is downloading. ×
0
MySQL: il database open source che ha sfidato i giganti Emilio Scalise - Senior Systems Engineer, Babel S.r.l. 14 Giugno 2...
Le origini di <ul><li>1996   MySQL AB rilascia la prima versione </li></ul><ul><ul><ul><li>I primi pezzi di codice di MySQ...
La comunità ed Oracle <ul><li>MySQL Developer Zone  - http://dev.mysql.com </li></ul><ul><ul><ul><li>Gestito principalment...
Chi usa MySQL? <ul><li>Perché scegliere MySQL? </li></ul><ul><ul><li>Estremamente flessibile </li></ul></ul><ul><ul><li>Ri...
Edizioni open e commerciali <ul><li>Versioni ufficiali: </li></ul><ul><ul><li>MySQL Community   (open) </li></ul></ul><ul>...
Edizioni open e commerciali <ul><li>Società che sviluppano e supportano MySQL e derivati: </li></ul><ul><ul><li>Oracle  (M...
Flessibilità di MySQL <ul><li>Piattaforme supportate: </li></ul><ul><ul><li>Linux </li></ul></ul><ul><ul><li>Windows </li>...
Flessibilità di MySQL <ul><li>Connettori e librerie: </li></ul><ul><ul><li>C/C++  (libmysql) </li></ul></ul><ul><ul><li>Ja...
Architettura di MySQL
Gli Storage Engines <ul><li>MySQL memorizza i dati attraverso gli  Storage Engines : </li></ul><ul><ul><li>Il motore è leg...
Gli Storage Engines <ul><li>Alcuni esempi: </li></ul><ul><ul><li>InnoDB </li></ul></ul><ul><ul><li>MyISAM </li></ul></ul><...
Gli Storage Engines:  MyISAM <ul><ul><li>Parte integrante di MySQL dalla v3.23 </li></ul></ul><ul><ul><li>E’ stato lo stor...
Gli Storage Engines:  InnoDB <ul><ul><li>Sviluppato da InnoBase (acquisita da Oracle nel 2005) </li></ul></ul><ul><ul><li>...
Gli Storage Engines: NDB Cluster <ul><ul><li>Motore incluso in MySQL Cluster </li></ul></ul><ul><ul><li>I dati vengono mem...
Gli Storage Engines:  altri motori <ul><ul><li>Memory </li></ul></ul><ul><ul><ul><li>Totalmente in memoria </li></ul></ul>...
Soluzioni di backup <ul><ul><li>Strategie di backup: Hot, Warm e Cold </li></ul></ul><ul><ul><li>Backup logico </li></ul><...
Configurazioni in alta affidabilità <ul><ul><li>MySQL Replication </li></ul></ul><ul><ul><ul><li>replica asincrona </li></...
Configurazioni in alta affidabilità: Replica
Configurazioni in alta affidabilità: MySQL Cluster Fonte: http://www.mysql.it/products/cluster/architecture.html
Configurazioni in alta affidabilità: Cluster di terze parti <ul><ul><li>Software esterno per il clustering e per la condiv...
I servizi di supporto e formazione erogati da Babel <ul><ul><li>Babel  è </li></ul></ul><ul><ul><li>Servizi professionali ...
Grazie! Visitate www.babel.it
Upcoming SlideShare
Loading in...5
×

MySQL: il database open source che ha sfidato i giganti

882

Published on

Emilio Scalise, TechAdvisor Babel esperto nell'integrazione di prodotti open source, ripercorre la storia del database MySQL e offre consigli tecnici per sfruttare al meglio i vantaggi del prodotto.

Il TechAdvisor parla delle origini di MySQL e descrive la sua evoluzione, generata dall'interazione tra la comunità open source e le aziende che nel corso degli anni hanno contribuito alla pacchettizzazione del prodotto.

Scoprite la particolare flessibilità di questo prodotto, la sua architettura e le modalità di configurazione.

Video e testi integrali su www.babel.it

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
882
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "MySQL: il database open source che ha sfidato i giganti"

  1. 1. MySQL: il database open source che ha sfidato i giganti Emilio Scalise - Senior Systems Engineer, Babel S.r.l. 14 Giugno 2011
  2. 2. Le origini di <ul><li>1996 MySQL AB rilascia la prima versione </li></ul><ul><ul><ul><li>I primi pezzi di codice di MySQL risalgono al 1979 </li></ul></ul></ul><ul><ul><ul><li>Scritto principalmente dai fondatori di MySQL AB, David Axmark, Michael “Monty” Widenius e Allan Larsson </li></ul></ul></ul><ul><ul><ul><li>Doppia licenza GPL e Commerciale </li></ul></ul></ul><ul><li>2008 Acquisizione da parte di Sun Microsystems </li></ul><ul><ul><ul><li>Ampie discussioni sul futuro dello sviluppo open del prodotto </li></ul></ul></ul><ul><ul><ul><li>Monty Widenius lascia nel 2009 e fonda Monty Program AB </li></ul></ul></ul><ul><li>2010 Oracle acquisisce Sun e MySQL AB </li></ul><ul><ul><ul><li>L’antitrust USA autorizza l’acquisizione di Sun anche se Oracle DB è uno dei maggiori competitor di MySQL </li></ul></ul></ul>
  3. 3. La comunità ed Oracle <ul><li>MySQL Developer Zone - http://dev.mysql.com </li></ul><ul><ul><ul><li>Gestito principalmente da Oracle </li></ul></ul></ul><ul><ul><ul><li>Forum di discussione e supporto </li></ul></ul></ul><ul><ul><ul><li>Wiki con la documentazione tecnica </li></ul></ul></ul><ul><ul><ul><li>Blog </li></ul></ul></ul><ul><ul><ul><li>Mailing list </li></ul></ul></ul><ul><li>MySQL Forge - http://forge.mysql.com </li></ul><ul><ul><ul><li>Sponsorizzato da Oracle, gestito dalla community </li></ul></ul></ul><ul><ul><ul><li>Portale della community orientata agli sviluppatori </li></ul></ul></ul>
  4. 4. Chi usa MySQL? <ul><li>Perché scegliere MySQL? </li></ul><ul><ul><li>Estremamente flessibile </li></ul></ul><ul><ul><li>Ridotti requisiti hardware </li></ul></ul><ul><ul><li>Basso investimento iniziale </li></ul></ul><ul><li>E’ la scelta piu naturale per gli utilizzatori della pila LAMP (Linux + Apache + MySQL + PHP/Perl/Python) </li></ul><ul><li>Quali aziende usano MySQL? </li></ul><ul><ul><li>Progetti open come Wikipedia </li></ul></ul><ul><ul><li>Grandi società come Google (Youtube, Flickr, etc.), Facebook , Nokia </li></ul></ul>
  5. 5. Edizioni open e commerciali <ul><li>Versioni ufficiali: </li></ul><ul><ul><li>MySQL Community (open) </li></ul></ul><ul><ul><li>MySQL Enterprise (commerciale) </li></ul></ul><ul><ul><li>MySQL Cluster (open e commerciale) </li></ul></ul><ul><ul><li>MySQL Embedded (open e commerciale) </li></ul></ul><ul><li>Fork: </li></ul><ul><ul><li>MariaDB (deriva da MySQL 5.1) </li></ul></ul><ul><ul><li>Percona Server (deriva da MySQL 5.0) </li></ul></ul><ul><ul><li>Drizzle (riscrittura in C++ di MySQL 6.0) </li></ul></ul>
  6. 6. Edizioni open e commerciali <ul><li>Società che sviluppano e supportano MySQL e derivati: </li></ul><ul><ul><li>Oracle (MySQL Enterprise/Community) </li></ul></ul><ul><ul><li>Monty Program AB (MariaDB, MySQL) </li></ul></ul><ul><ul><li>SkySQL AB (MySQL, MariaDB, Drizzle) </li></ul></ul><ul><ul><li>Percona (Percona Server, XtraDB) </li></ul></ul><ul><ul><li>OpenQuery (OQGraph, MySQL, MariaDB, Drizzle) </li></ul></ul>
  7. 7. Flessibilità di MySQL <ul><li>Piattaforme supportate: </li></ul><ul><ul><li>Linux </li></ul></ul><ul><ul><li>Windows </li></ul></ul><ul><ul><li>Solaris </li></ul></ul><ul><ul><li>Mac OS X </li></ul></ul><ul><ul><li>FreeBSD </li></ul></ul><ul><ul><li>HP UX </li></ul></ul><ul><ul><li>IBM AIX </li></ul></ul><ul><ul><li>porting da sorgenti </li></ul></ul>
  8. 8. Flessibilità di MySQL <ul><li>Connettori e librerie: </li></ul><ul><ul><li>C/C++ (libmysql) </li></ul></ul><ul><ul><li>Java (JDBC) </li></ul></ul><ul><ul><li>ODBC (Win/Unix) </li></ul></ul><ul><ul><li>PHP </li></ul></ul><ul><ul><li>Perl </li></ul></ul><ul><ul><li>Python </li></ul></ul><ul><ul><li>Altri linguaggi (wrapper libmysql) </li></ul></ul>
  9. 9. Architettura di MySQL
  10. 10. Gli Storage Engines <ul><li>MySQL memorizza i dati attraverso gli Storage Engines : </li></ul><ul><ul><li>Il motore è legato alla singola tabella </li></ul></ul><ul><ul><li>E’ possibile usare motori differenti in una singola query ( attenzione... ) </li></ul></ul><ul><ul><li>Ad ogni engine è associato uno storage medium </li></ul></ul><ul><ul><li>Ogni engine ha delle specifiche features aggiuntive </li></ul></ul>
  11. 11. Gli Storage Engines <ul><li>Alcuni esempi: </li></ul><ul><ul><li>InnoDB </li></ul></ul><ul><ul><li>MyISAM </li></ul></ul><ul><ul><li>NDB Cluster </li></ul></ul><ul><ul><li>Memory </li></ul></ul><ul><ul><li>Archive </li></ul></ul><ul><ul><li>... </li></ul></ul>
  12. 12. Gli Storage Engines: MyISAM <ul><ul><li>Parte integrante di MySQL dalla v3.23 </li></ul></ul><ul><ul><li>E’ stato lo storage engine di default fino alla v5.1 </li></ul></ul><ul><ul><li>Motore non transazionale </li></ul></ul><ul><ul><li>Lock a livello di tabella </li></ul></ul><ul><ul><li>Caching solo per gli indici </li></ul></ul><ul><ul><li>Storage dei dati semplice e con poco overhead </li></ul></ul><ul><ul><li>Ottimo per applicazioni web (no transazioni) </li></ul></ul><ul><ul><li>Veloce per carichi prevalentemente in lettura </li></ul></ul>
  13. 13. Gli Storage Engines: InnoDB <ul><ul><li>Sviluppato da InnoBase (acquisita da Oracle nel 2005) </li></ul></ul><ul><ul><li>Parte integrante di MySQL dalla v4.0 </li></ul></ul><ul><ul><li>E’ lo storage engine di default dalla v5.5 </li></ul></ul><ul><ul><li>Motore transazionale </li></ul></ul><ul><ul><li>Meccanismi avanzati di caching </li></ul></ul><ul><ul><li>Integrità referenziali e foreign key </li></ul></ul><ul><ul><li>MVCC (multiversioning) </li></ul></ul><ul><ul><li>Row level locks </li></ul></ul><ul><ul><li>Crash recovery automatico </li></ul></ul><ul><ul><li>Tablespaces compressi (innodb plugin 1.x) </li></ul></ul>
  14. 14. Gli Storage Engines: NDB Cluster <ul><ul><li>Motore incluso in MySQL Cluster </li></ul></ul><ul><ul><li>I dati vengono memorizzati sui data nodes anziché su storage locale </li></ul></ul><ul><ul><li>Consente di utilizzare più data nodes in load sharing e failover </li></ul></ul><ul><ul><li>All’avvio necessita di una connessione al cluster manager </li></ul></ul>
  15. 15. Gli Storage Engines: altri motori <ul><ul><li>Memory </li></ul></ul><ul><ul><ul><li>Totalmente in memoria </li></ul></ul></ul><ul><ul><ul><li>Ottimo per piccole tabelle consultate di frequente o temporanee </li></ul></ul></ul><ul><ul><ul><li>Campi di lunghezza dinamica non supportati </li></ul></ul></ul><ul><ul><ul><li>Dati non permanenti </li></ul></ul></ul><ul><ul><li>Archive </li></ul></ul><ul><ul><ul><li>Dati storici compressi (fino al 70%) </li></ul></ul></ul><ul><ul><ul><li>Solo INSERT e SELECT </li></ul></ul></ul>
  16. 16. Soluzioni di backup <ul><ul><li>Strategie di backup: Hot, Warm e Cold </li></ul></ul><ul><ul><li>Backup logico </li></ul></ul><ul><ul><ul><li>mysqldump </li></ul></ul></ul><ul><ul><li>Backup binari </li></ul></ul><ul><ul><ul><li>Copia files a server fermo </li></ul></ul></ul><ul><ul><ul><li>Filesystem snapshots </li></ul></ul></ul><ul><ul><ul><li>Tools commerciali (es. MySQL Enterprise Backup) </li></ul></ul></ul><ul><ul><li>Backup su architetture distribuite </li></ul></ul><ul><ul><ul><li>Es. replica + backup server slave </li></ul></ul></ul>
  17. 17. Configurazioni in alta affidabilità <ul><ul><li>MySQL Replication </li></ul></ul><ul><ul><ul><li>replica asincrona </li></ul></ul></ul><ul><ul><ul><li>replica semisincrona (v5.5+) </li></ul></ul></ul><ul><ul><li>MySQL Cluster (integrato fino alla v5.0) </li></ul></ul><ul><ul><li>Active-Passive Cluster </li></ul></ul>
  18. 18. Configurazioni in alta affidabilità: Replica
  19. 19. Configurazioni in alta affidabilità: MySQL Cluster Fonte: http://www.mysql.it/products/cluster/architecture.html
  20. 20. Configurazioni in alta affidabilità: Cluster di terze parti <ul><ul><li>Software esterno per il clustering e per la condivisione dello storage </li></ul></ul><ul><ul><li>Linux HA (drbd, heartbeat), Red Hat Cluster Suite, Sun Cluster, Veritas Cluster, Windows Cluster, etc. </li></ul></ul><ul><ul><li>Utilizzo di agent specifici per il server MySQL </li></ul></ul>Fonte: http://dev.mysql.com/doc/refman/5.5/en/drbd-mysql-replication-scale.html
  21. 21. I servizi di supporto e formazione erogati da Babel <ul><ul><li>Babel è </li></ul></ul><ul><ul><li>Servizi professionali relativi a installazione, configurazione, gestione e troubleshooting di server MySQL, anche in alta affidabilità e in ambienti multipiattaforma </li></ul></ul><ul><ul><li>Erogazione di corsi personalizzati per sviluppatori e sistemisti </li></ul></ul><ul><ul><li>Organizzazione di sessioni di training on the job del personale tecnico presso la sede Cliente o la sede Babel </li></ul></ul><ul><ul><li>Visitate il nostro sito o rivolgetevi ai colleghi presenti allo stand! </li></ul></ul>
  22. 22. Grazie! Visitate www.babel.it
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×