MySQL: carica database in memory

C'è un modo per caricare un integer database MySQL sulla RAM, in particolare su un server EC2?

  1. Il database è piuttosto piccolo (~ 500 MegaBytes)
  2. Ho abbastanza memory
  3. I problemi di velocità sono cruciali – le query risultanti vengono utilizzate per servire una pagina web dynamic.

Grazie,

Adamo

2 Solutions collect form web for “MySQL: carica database in memory”

È ansible caricare indici in cache; se si dispone di piccole tabelle ISAM che vengono frequentemente interrogate, MySQL probabilmente caricherà questi anche nella cache. Ecco un buon articolo di Performance Wiki su MySQL tuning.

È ansible memorizzare il database su un disco RAM, ad esempio ramfs . Questo potrebbe potenzialmente rischiare i dati, a seconda dell'implementazione, pertanto dovresti progettarlo per compensare questo. Una soluzione potenziale sarebbe quella di avere un slave di lettura replicando su un disco RAM e i dati che potrebbero essere smaltibili.

MySQL Clustering (motore NDB) è progettato per memorizzare i dati in memory. Tuttavia, il cluster MySQL è più adatto per piccoli set di dati accessibili con query semplici.

Una soluzione preferita è memcached in questi giorni ma questo richiede l'architettura delle applicazioni per supportre la tecnologia.

Questa è una domanda piuttosto grande. MySQL ad alte performance è un libro fantastico che copre implementazioni di alto livello MySQL.

  • RAM Disk
  • MySQL Cluster
  • memcached
  • MySQL ad alte performance
Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.