30 Giugno 2024

MariaDB 11.4 è Attualmente più veloce di MySQL

Le Analisi Indipendenti e i Benchmark di Mark Callaghan, un noto esperto di SQL e di benchmark delineano ad oggi la superiorità di MariaDB rispetto a MySQL

Benchmark-MariaDB-MySQL-April-2024

Negli ultimi anni, il mondo dei database relazionali ha assistito a numerosi sviluppi, con MariaDB e MySQL che continuano a competere per la supremazia in termini di performance. Con l’introduzione di MariaDB 11.4, la competizione ha raggiunto un nuovo livello. Recenti analisi ad Aprile 2024, (appena 2 mesi dalla scrittura di questo post)e benchmark condotti da Mark Callaghan, un rinomato esperto SQL e figura di spicco nel settore dei database, hanno evidenziato che MariaDB 11.4 offre prestazioni superiori rispetto a MySQL nelle configurazioni testate. Questo articolo esplorerà i dettagli di questi benchmark e analizzerà le ragioni dietro la superiorità di MariaDB.

Mark-Callaghan-Facebook

Mark Callaghan è un nome ben noto nel mondo dei database relazionali e delle performance SQL. Con oltre due decenni di esperienza, Mark ha lavorato con alcune delle aziende più influenti del settore, tra cui Google, dove ha contribuito in modo significativo all’ottimizzazione di MySQL per i carichi di lavoro su larga scala. È conosciuto per la sua profonda conoscenza tecnica e la sua capacità di eseguire benchmark dettagliati e imparziali, che hanno aiutato molte organizzazioni a migliorare le loro infrastrutture di database.

Mark, un oracolo nel suo campo, gestisce il blog “Small Datum“, dove condivide regolarmente le sue analisi e i risultati dei benchmark che esegue su varie versioni di MariaDB e MySQL. I suoi articoli sono rinomati per la loro trasparenza e la precisione dei dati, diventando una risorsa fondamentale per sviluppatori e ingegneri di database in tutto il mondo. La sua esperienza e i suoi contributi alla comunità hanno reso le sue valutazioni particolarmente rispettate e affidabili.

Benchmark e Metodologia

Mark Callaghan ha condotto una serie di benchmark utilizzando Sysbench, un noto tool per il benchmarking dei database, su configurazioni di server di diverse dimensioni. Gli studi principali considerati per questo articolo includono:

Questi benchmark hanno confrontato le performance di MariaDB 11.4 con varie versioni di MySQL (5.6, 5.7 e 8.0), focalizzandosi su diverse tipologie di query e carichi di lavoro, tra cui query di punti, query di range e operazioni di scrittura.

Risultati dei Benchmark

Sysbench su un Piccolo Server

Il primo benchmark è stato condotto su un server di piccole dimensioni, dotato di una CPU i7, 16GB di RAM e un dispositivo di archiviazione M.2. Le tabelle di test sono state completamente memorizzate nella cache da InnoDB. I risultati hanno rivelato che MariaDB è stata in grado di evitare regressioni della CPU nel tempo, contrariamente a MySQL, che ha mostrato una tendenza alle regressioni con l’introduzione di nuove funzionalità.

In particolare, MariaDB 11.4 ha registrato un throughput (QPS) compreso tra il 113% e il 122% rispetto a MySQL 8.0.36 nei vari microbenchmark. Questo dato evidenzia che MariaDB non solo ha mantenuto le prestazioni, ma le ha anche migliorate significativamente rispetto alle versioni precedenti e rispetto a MySQL. Ad esempio, nel test delle query di punti, MariaDB ha superato MySQL con una media di 150,000 QPS contro i 130,000 QPS di MySQL.

Sysbench su un Server meno Piccolo

Un benchmark simile è stato eseguito su un server con configurazioni leggermente più potenti, comprendente una CPU più moderna e maggiore capacità di RAM. Anche in questo scenario, i risultati hanno confermato la superiorità di MariaDB. Il database ha mostrato una maggiore efficienza nell’uso della CPU, ottenendo throughput superiori in quasi tutti i test. Per esempio, durante le query di range, MariaDB ha registrato una media di 140,000 QPS, mentre MySQL si è fermato a 125,000 QPS.

Il Benchmark di Inserimento

Il benchmark di inserimento misura la velocità e l’efficienza delle operazioni di scrittura, critiche per le applicazioni che richiedono un alto tasso di inserimenti e aggiornamenti, come le piattaforme di e-commerce e i sistemi di gestione dei contenuti. In questo test, MariaDB ha nuovamente superato MySQL. MariaDB ha registrato un throughput di scrittura superiore del 15% rispetto a MySQL, con una media di 120,000 operazioni di inserimento al secondo contro le 105,000 di MySQL. Questo risultato è particolarmente significativo per le applicazioni ad alta intensità di dati, dove la velocità di inserimento può influenzare direttamente le prestazioni complessive del sistema.

Analisi delle Performance

Le ragioni dietro la superiorità di MariaDB possono essere attribuite a diversi fattori chiave:

Ottimizzazioni del Motore di Storage

MariaDB ha continuato a migliorare il suo motore di storage InnoDB, introducendo ottimizzazioni specifiche che riducono il sovraccarico della CPU e migliorano la gestione della memoria. Questo include miglioramenti nel buffer pool, che consente un accesso più veloce ai dati frequentemente utilizzati, e l’adozione di tecniche avanzate di compressione dei dati per ridurre l’utilizzo dello spazio di archiviazione e aumentare le prestazioni di lettura e scrittura.

Ad esempio, MariaDB ha integrato l’algoritmo di compressione zlib, che consente una riduzione significativa del consumo di spazio su disco e migliora il throughput delle operazioni di I/O. Inoltre, le ottimizzazioni nei meccanismi di lock-free e nella gestione delle transazioni hanno contribuito a ridurre la latenza e aumentare l’efficienza complessiva del sistema.

Miglioramenti della Concorrenza

Le nuove versioni di MariaDB includono miglioramenti significativi nella gestione della concorrenza, riducendo i colli di bottiglia e migliorando il throughput complessivo. Questo è stato ottenuto attraverso l’implementazione di schemi di lock più efficienti e l’ottimizzazione degli algoritmi di scheduling delle query.

In particolare, l’introduzione del parallel replication ha permesso di migliorare notevolmente le performance in ambienti multi-threaded, dove le operazioni di replica possono essere eseguite in parallelo, riducendo i tempi di latenza e aumentando il throughput delle operazioni di replica. Questi miglioramenti sono particolarmente utili in scenari di alta concorrenza, come i sistemi di e-commerce e le applicazioni web ad alto traffico.

Evita Regressioni

A differenza di MySQL, MariaDB ha dimostrato di essere più attenta nell’evitare regressioni di performance, assicurando che nuove funzionalità non compromettano le prestazioni esistenti. Questo è stato ottenuto attraverso un rigoroso processo di testing e benchmarking continuo, che permette di identificare e risolvere eventuali regressioni prima del rilascio delle nuove versioni.

Un esempio concreto di questo impegno è il processo di Continuous Integration (CI) adottato da MariaDB, che include una suite di test di performance eseguiti su ogni commit di codice. Questo approccio proattivo garantisce che ogni nuova funzionalità sia accuratamente testata e ottimizzata, minimizzando il rischio di regressioni e garantendo un miglioramento continuo delle performance.

Supporto e Collaborazione della Comunità

MariaDB beneficia di un forte supporto dalla comunità open source, che contribuisce con patch, ottimizzazioni e feedback continui. La comunità di MariaDB è composta da sviluppatori, utenti e aziende che collaborano attivamente per migliorare il software, risolvere bug e aggiungere nuove funzionalità.

Questa collaborazione aperta ha permesso di accelerare lo sviluppo e l’implementazione di nuove tecnologie, come il supporto per l’architettura ARM e le ottimizzazioni per i workload cloud-native. Inoltre, la comunità fornisce un feedback prezioso che aiuta a identificare e risolvere rapidamente i problemi di performance, assicurando che MariaDB rimanga all’avanguardia nel settore dei database relazionali.

Un caso reale di un nostro cliente migrato da Percona Server 5.7 a MariaDB 11.4

Un nostro cliente con traffico internazionale che viaggiava in ogni momento della giornata con un load average tra 8 e 10, dopo il passaggio da Percona Server 5.7 a MariaDB 11.4 ha visto il carico letteralmente dimezzarsi.

Conclusioni

Le analisi e i benchmark condotti da Mark Callaghan evidenziano chiaramente che MariaDB 11.4 è attualmente più veloce di MySQL nelle configurazioni testate. Questo rende MariaDB una scelta preferibile per molte applicazioni che richiedono alte prestazioni e affidabilità.

Per chi desidera approfondire i dettagli tecnici dei benchmark, si consiglia di consultare i post originali di Mark Callaghan su Small Datum.

MariaDB continua a evolversi, offrendo miglioramenti costanti e mantenendo un forte impegno verso l’ottimizzazione delle performance. Mentre MySQL rimane una scelta popolare, MariaDB 11.4 rappresenta un’opzione eccellente per chi cerca il massimo delle prestazioni nei database relazionali.

Riferimenti

Hai dei dubbi? Non sai da dove iniziare? Contattaci !

Abbiamo tutte le risposte alle tue domande per aiutarti nella giusta scelta.

Chatta con noi

Chatta direttamente con il nostro supporto prevendita.

0256569681

Contattaci telefonicamente negli orari d’ufficio 9:30 – 19:30

Contattaci online

Apri una richiesta direttamente nell’area dei contatti.

INFORMAZIONI

Managed Server S.r.l. è un player italiano di riferimento nel fornire soluzioni avanzate di sistemistica GNU/Linux orientate all’alta performance. Con un modello di sottoscrizione dai costi contenuti e prevedibili, ci assicuriamo che i nostri clienti abbiano accesso a tecnologie avanzate nel campo dell’hosting, server dedicati e servizi cloud. Oltre a questo, offriamo consulenza sistemistica su sistemi Linux e manutenzione specializzata in DBMS, IT Security, Cloud e molto altro. Ci distinguiamo per l’expertise in hosting di primari CMS Open Source come WordPress, WooCommerce, Drupal, Prestashop, Joomla, OpenCart e Magento, affiancato da un servizio di supporto e consulenza di alto livello adatto per la Pubblica Amministrazione, PMI, ed aziende di qualsiasi dimensione.

Red Hat, Inc. detiene i diritti su Red Hat®, RHEL®, RedHat Linux®, e CentOS®; AlmaLinux™ è un marchio di AlmaLinux OS Foundation; Rocky Linux® è un marchio registrato di Rocky Linux Foundation; SUSE® è un marchio registrato di SUSE LLC; Canonical Ltd. detiene i diritti su Ubuntu®; Software in the Public Interest, Inc. detiene i diritti su Debian®; Linus Torvalds detiene i diritti su Linux®; FreeBSD® è un marchio registrato di The FreeBSD Foundation; NetBSD® è un marchio registrato di The NetBSD Foundation; OpenBSD® è un marchio registrato di Theo de Raadt. Oracle Corporation detiene i diritti su Oracle®, MySQL®, e MyRocks®; Percona® è un marchio registrato di Percona LLC; MariaDB® è un marchio registrato di MariaDB Corporation Ab; REDIS® è un marchio registrato di Redis Labs Ltd. F5 Networks, Inc. detiene i diritti su NGINX® e NGINX Plus®; Varnish® è un marchio registrato di Varnish Software AB. Adobe Inc. detiene i diritti su Magento®; PrestaShop® è un marchio registrato di PrestaShop SA; OpenCart® è un marchio registrato di OpenCart Limited. Automattic Inc. detiene i diritti su WordPress®, WooCommerce®, e JetPack®; Open Source Matters, Inc. detiene i diritti su Joomla®; Dries Buytaert detiene i diritti su Drupal®. Amazon Web Services, Inc. detiene i diritti su AWS®; Google LLC detiene i diritti su Google Cloud™ e Chrome™; Microsoft Corporation detiene i diritti su Microsoft®, Azure®, e Internet Explorer®; Mozilla Foundation detiene i diritti su Firefox®. Apache® è un marchio registrato di The Apache Software Foundation; PHP® è un marchio registrato del PHP Group. CloudFlare® è un marchio registrato di Cloudflare, Inc.; NETSCOUT® è un marchio registrato di NETSCOUT Systems Inc.; ElasticSearch®, LogStash®, e Kibana® sono marchi registrati di Elastic N.V. Hetzner Online GmbH detiene i diritti su Hetzner®; OVHcloud è un marchio registrato di OVH Groupe SAS; cPanel®, L.L.C. detiene i diritti su cPanel®; Plesk® è un marchio registrato di Plesk International GmbH; Facebook, Inc. detiene i diritti su Facebook®. Questo sito non è affiliato, sponsorizzato o altrimenti associato a nessuna delle entità sopra menzionate e non rappresenta nessuna di queste entità in alcun modo. Tutti i diritti sui marchi e sui nomi di prodotto menzionati sono di proprietà dei rispettivi detentori di copyright. Ogni altro marchio citato appartiene ai propri registranti. MANAGED SERVER® è un marchio registrato a livello europeo da MANAGED SERVER SRL, Via Enzo Ferrari, 9, 62012 Civitanova Marche (MC), Italia.

Torna in alto