Scalare servizi web sempre disponibili: Un'alternativa allo Storage Engine MySQL MEMORY

Sebbene questa strategia sia efficace nelle implementazioni più piccole e basate essenzialmente sulle operazioni in lettura, con l'evoluzione dei servizi web gli utenti si trovano ad affrontare problematiche in relazione alla gestione di scalabilità, concorrenza e disponibilità per gli utenti, oltre all'aumento degli aggiornamenti dei dati.

MEMORY è uno storage engine MySQL di base, progettato per le operazioni in memoria principale. MySQL Cluster, che può essere implementato come storage engine MySQL, può eseguire le stesse operazioni in memoria principale ed è più veloce e più affidabile, oltre ad utilizzare meno RAM per i dati, persino su un singolo nodo.

Durante i test sulle prestazioni, MySQL Cluster ha dimostrato una velocità di elaborazione dei dati 30 volte superiore e con un terzo della latenza rispetto allo storage engine MEMORY su un singolo nodo, garantendo inoltre durabilità dei dati con check-pointing e logging.

MySQL Cluster può essere configurato ed eseguito allo stesso modo dello storage engine MEMORY (ovvero su di un singolo host senza replicazione e senza persistenza), ma qualsiasi attributo di scalabilità e disponibilità può essere aggiunto via via che aumenta il carico di lavoro. Il database può essere scalato su più nodi senza implementare lo sharding (partizionamento) all'interno dell’applicazione, riducendo notevolmente costi e complessità.

In questo whitepaper presenteremo vari raffronti tra lo storage engine MEMORY storage engine e MySQL Cluster, tra cui uno studio delle prestazioni delle due tecnologie e una guida dettagliata al modo in cui gli utenti dello storage engine MEMORY possono eseguire l’upgrade a MySQL Cluster.