- Database›
- Amazon RDS›
- Amazon RDS per MySQL
Cos'è MySQL?
Cos'è MySQL?
MySQL svolge la funzione di archiviazione dati relazionale principale per molti siti Web, applicazioni e prodotti commerciali popolari. Con oltre 25 anni di sviluppo e supporto supportati dalla community, MySQL è un sistema di gestione di database SQL (structured query language) affidabile, stabile e sicuro.
Il database MySQL è adatto a una vasta gamma di casi d'uso, tra cui app mission-critical e siti Web dinamici. MySQL è anche un popolare motore SQL per applicazioni moderne, grazie alla sua semplicità e affidabilità. Gli sviluppatori di applicazioni ottengono un motore con una semplice interfaccia client-server e un onboarding più rapido, mentre le organizzazioni risparmiano sui costi di formazione.
AWS supporta MySQL in diversi modi, tra cui un servizio di database completamente gestito, Amazon Relational Database Service (RDS) per MySQL. Anche Amazon Aurora con compatibilità MySQL è sviluppato utilizzando MySQL e Amazon RDS supporta il popolare progetto fork di MySQL, MariaDB.
Puoi anche ospitare il software MySQL su Amazon EC2 e gestire autonomamente il database oppure sfogliare le offerte MySQL di terze parti in AWS Marketplace.
Storia di MySQL
La prima versione di MySQL Server è stata rilasciata nel 1995 dalla società svedese MySQL AB, fondata da David Axmark, Allan Larsson e Michael Widenius. MySQL deve il nome alla figlia di Widenius, che si chiama My. Il progetto MySQL è stato rilasciato come open source nel 2000, sotto la licenza libera GNU General Public License (GPL).
Nel 2001, MySQL aveva raggiunto più di 2 milioni di installazioni attive; nel 2004, i download del software erano più di 30.000 al giorno. MySQL è stata acquisita da Sun Microsystems nel 2008 e, quando Oracle ha acquisito Sun nel 2009, è diventata proprietaria anche di MySQL.
Vantaggi dell'utilizzo del database MySQL
Facilità d’uso
Il database MySQL ha ottenuto il favore degli sviluppatori Web grazie alle sue funzionalità di semplicità d'uso e produttività, tra cui trigger, procedure archiviate e visualizzazioni aggiornabili. MySQL include utility come il programma di backup mysqldump, il client amministrativo mysqladmin e MySQL Workbench, una GUI per processi di gestione e migrazione.
Prestazioni
Nel tempo, MySQL ha migliorato le capacità prestazionali con funzionalità come tabelle su disco B-tree con compressione degli indici, allocazione di memoria basata su thread e unioni a ciclo annidato ottimizzate. Grazie al blocco a livello di riga e alle letture coerenti nel motore di archiviazione, MySQL offre ulteriori vantaggi prestazionali per la simultaneità multiutente. MySQL segue e promuove pratiche di progettazione per prestazioni più rapide fornendo funzionalità di base con un set di funzionalità minimo.
Affidabilità e sicurezza
Il motore di archiviazione transazionale InnoDB di MySQL è conforme al modello ACID, con funzionalità aggiuntive che migliorano la protezione dei dati, tra cui il ripristino point-in-time e l'autocommit. InnoDB offre anche protezioni per l'integrità dei dati attraverso il supporto per i vincoli di chiavi esterne, prevenendo le incongruenze dei dati tra le tabelle dati.
MySQL include funzionalità di sicurezza solide e flessibili, tra cui la verifica basata su host e la crittografia del traffico delle password. InnoDB offre vantaggi aggiuntivi in termini di sicurezza, con la crittografia dei dati a riposo del tablespace che utilizza un'architettura con chiave di crittografia a due livelli.
Licenza open source
MySQL è disponibile con una licenza open source (la licenza libera GNU General Public License) che consente di utilizzare e modificare liberamente il codice sorgente quando si installa MySQL. Le versioni gestite di MySQL, come Amazon RDS per MySQL, non comportano costi di licenza aggiuntivi, a differenza dei motori SQL proprietari.
L'ampia community globale di collaboratori e appassionati di MySQL offre molti vantaggi aggiuntivi a coda lunga all'utilizzo del sistema di database. Ad esempio, la community MySQL è sempre aggiornata sui problemi di sicurezza e sulle correzioni di bug, dando così un grande contributo alla resilienza complessiva del software. I gruppi di utenti, gli eventi, i forum e le mailing list di MySQL costituiscono una rete integrata per l'istruzione e il supporto.
Casi d'uso frequenti per MySQL
Database OLTP per uso generico
MySQL è adatto a qualsiasi applicazione che richieda un motore SQL transazionale, comprese le app mission-critical e i siti web con traffico elevato. MySQL soddisfa i principi ACID e include estensioni allo standard SQL ANSI/ISO, nonché il supporto per XML e JSON.
MySQL supporta anche il clustering di database ad alta disponibilità e può gestire database di dimensioni in petabyte. Le applicazioni più diffuse che utilizzano il database MySQL includono TYPO3, MODx, Joomla, WordPress, phpBB, MyBB e Drupal.
Applicazioni per e-commerce
MySQL è uno dei motori transazionali più popolari per le piattaforme di e-commerce. MySQL è particolarmente utile per la gestione di tutti i dati per i clienti, delle transazioni e dei cataloghi di prodotti.
Nelle soluzioni di e-commerce, MySQL viene spesso utilizzato insieme ad altri database non relazionali, tra cui archivi di documenti e chiave-valore per la sincronizzazione dei dati degli ordini e l'archiviazione di dati non relativi ai prodotti.
Stack open source LAMP
MySQL è parte integrante di innumerevoli applicazioni in esecuzione nello stack di software open source LAMP (LAMP è l'acronimo di Linux, Apache, MySQL e PHP/Python/Perl). LAMP è uno stack di soluzioni di servizi web molto diffuso ed è ampiamente considerato la piattaforma preferita per siti web dinamici e applicazioni web ad alte prestazioni.
Progetti fork del software MySQL
MariaDB
MariaDB è un popolare fork di MySQL di MariaDB, fondato dagli sviluppatori originali di MySQL che intendevano che rimanesse libero e open source sotto la licenza libera GNU GPL. Sebbene MariaDB sia gestito separatamente da MySQL, mantiene un alto grado di compatibilità con MySQL, inclusa l'equivalenza binaria delle librerie, la corrispondenza esatta con le interfacce di programmazione dell'applicazione (API) e vari strumenti di gestione. AWS supporta MariaDB con il servizio di database completamente gestito, Amazon RDS per MariaDB.
Percona Server
Percona Server è un altro popolare fork di MySQL di Percona. Percona Server include XtraDB, il fork di Percona del motore di archiviazione InnoDB.
Supporto del linguaggio per lo sviluppo di applicazioni
MySQL è leader con il supporto del linguaggio SQL. MySQL supporta anche la maggior parte dei principali linguaggi e protocolli di programmazione, consentendo agli utenti di utilizzare: Python, Java, Perl, Node.js, .NET, PHP, Ruby, Erlang, C/C++, Tcl, ODBC e Objective-C.
Confronto tra MySQL e PostgreSQL
MySQL e PostgreSQL sono entrambi database relazionali open source popolari. La popolarità di MySQL è dovuta al fatto che è stato percepito come facile da usare e veloce, mentre PostgreSQL come ricco di funzionalità e più paragonabile alle versioni con licenza commerciale di database come Oracle. Tuttavia, le attuali versioni principali di MySQL e PostgreSQL offrono entrambe molte solide funzionalità e funzionalità a supporto delle prestazioni delle query, dell'affidabilità, della sicurezza e altro ancora. Scopri di più su PostgreSQL e prova Amazon Aurora PostgreSQL or Amazon RDS per PostgreSQL utilizzando il piano gratuito AWS.
Opzioni di hosting di MySQL su AWS
MySQL autogestito su Amazon EC2
Storicamente, i database relazionali erano on-premises e, con il graduale spostamento dei carichi di lavoro di database nel cloud, le organizzazioni hanno inizialmente utilizzato Amazon EC2 per eseguire i propri database. Con questo approccio, è possibile gestire tutte le normali attività amministrative associate a un database on-premises, come il provisioning dell'hardware, la configurazione del database, l'ottimizzazione, l'applicazione di patch, i backup e la scalabilità MySQL.
MySQL completamente gestito su Amazon RDS
Amazon Relational Database Service (Amazon RDS) è un servizio di database relazionale facile da gestire ottimizzato per il costo totale di proprietà. È semplice da configurare, utilizzare e scalare in base alla domanda. Automatizza le attività generiche di gestione dei database, come il provisioning, la configurazione, i backup e l'applicazione di patch.
RDS permette di creare un database in pochi minuti e fornisce la flessibilità per personalizzare le soluzioni in base alle specifiche necessità. È possibile ottimizzare le prestazioni con funzionalità come due standby leggibili, operazioni di scrittura e lettura ottimizzate e istanze basate su AWS Graviton4. Per una gestione efficace dei costi, possono inoltre scegliere tra diverse opzioni tariffarie.
Modernizza con l'edizione compatibile con Amazon Aurora MySQL
Amazon Aurora offre prestazioni elevate e disponibilità senza precedenti su scala globale per MySQL. Aurora ha un throughput 5 volte superiore a MySQL con piena compatibilità. Aurora offre ampi standard di conformità e funzionalità di sicurezza aziendali, oltre al supporto ad app distribuite a livello globale.
Iniziare a utilizzare Amazon RDS per MySQL è facile
1
Registrati ad Amazon RDS
Ottieni l'accesso al piano gratuito di Amazon RDS.
2
Impara con semplici tutorial
3
Inizia a creare con Amazon RDS
Inizia a creare con l'aiuto della guida per l'utente di MySQL su Amazon RDS.
Processo di migrazione dei database MySQL
Approcci di migrazione dei database MySQL nativi e di terze parti
Servizi di dump e replica SQL
L'approccio nativo più pratico alla migrazione del sistema di gestione di database relazionali MySQL consiste nell'eseguire un dump SQL e quindi nel condurre attività di replica per garantire la sincronizzazione dei database. mysqldump di MySQL, un'utilità di backup integrata, funge da base per la migrazione del database del server MySQL. Mysqldump scarica l'intero database con un file di dump e fornisce una serie di istruzioni SQL per rigenerare il database. Questo metodo è utile per un database di dimensioni inferiori a 10 GB, quando si dispone di una connessione Internet veloce e stabile e il tempo di migrazione dei dati non è critico.
Percona XtraBackup e Amazon S3
Trasferendo prima i file e i backup di Percona XtraBackup in Amazon S3, è possibile migrare i server di database in modo 1 a 1 da un database di origine a un nuovo cluster Amazon RDS per MySQL o Aurora DB. L'utilizzo di questo processo di conversione della migrazione dei dati per caricare i dati può essere significativamente più veloce rispetto all'utilizzo di mysqldump.
Database INFORMATION_SCHEMA
Il database INFORMATION_SCHEMA integrato può essere utilizzato come esploratore di metadati MySQL. Utilizzando questo esploratore di metadati MySQL in combinazione con AWS DMS Schema Conversion, è possibile determinare se gli schemi del database di origine corrispondono agli schemi e ai tipi di dati del database di destinazione e identificare dove correggere eventuali lacune.
Servizi di migrazione dati gestiti MySQL
AWS Database Migration Service
AWS Database Migration Service (DMS) rileva, valuta, converte e migra i carichi di lavoro del database MySQL in AWS, riducendo le modifiche manuali e il lavoro. La procedura guidata di migrazione di AWS DMS consente di selezionare l'infrastruttura di origine e di destinazione, utilizzando la replica automatica con Change Data Capture (CDC) e crea report con valutazione automatica e consigli sugli oggetti di destinazione. Non è necessario convertire schemi o definizioni di oggetti nelle migrazioni da MySQL a MySQL. Sfrutta Servizio AWS di individuazione delle applicazioni per scoprire eventuali dipendenze nei database dei server MySQL prima di migrare i dati.
Servizio AWS di migrazione delle applicazioni
Se si sta eseguendo un semplice lift-and-shift per migrare i dati a EC2 dal server MySQL on-premises, è possibile migrare l'intero server a EC2 utilizzando AWS Application Migration Service. È possibile applicare questa tecnica per singoli database o più oggetti di database.