Mysql
 sql >> Database >  >> RDS >> Mysql

InnoDB (MySQL 5.5.8) è la scelta giusta per miliardi di righe?

Una semplice risposta alla tua domanda sarebbe sì InnoDB sarebbe la scelta perfetta per un set di dati multimiliardario.

C'è una serie di ottimizzazioni possibili.

Le ottimizzazioni più ovvie sarebbero l'impostazione di un pool di buffer di grandi dimensioni, poiché il pool di buffer è la cosa più importante quando si tratta di InnoDB perché InnoDB memorizza nel buffer i dati e l'indice nel pool di buffer. Se hai un server MySQL dedicato con solo tabelle InnoDB, dovresti impostare fino all'80% della RAM disponibile per essere utilizzata da InnoDB.

Un'altra ottimizzazione più importante è avere indici adeguati sul tavolo (tenendo presente il modello di accesso/aggiornamento dei dati), sia primari che secondari. (Ricorda che gli indici primari vengono automaticamente aggiunti agli indici secondari).

Con InnoDB ci sono alcune chicche extra, come la protezione dal danneggiamento dei dati, il ripristino automatico ecc.

Per quanto riguarda l'aumento delle prestazioni di scrittura, dovresti impostare i file di registro delle transazioni fino a un totale di 4G.

Un'altra cosa che puoi fare è partizionare la tabella.

Puoi ottenere maggiori prestazioni, impostando il formato bin-log su "riga" e impostando auto_inc_lock_mode su 2 (che assicurerà che innodb non mantenga i blocchi a livello di tabella durante l'inserimento in colonne con incremento automatico).

Se hai bisogno di qualche consiglio specifico puoi contattarmi, sarei più che disposto ad aiutarti.