Come funziona effettivamente il blob di MySQL?

0

Questa è una domanda guidata dalla curiosità. Sto imparando il database Oracle e il database Oracle gestisce i dati BLOB in un tablespace separato, che a mio avviso riduce il sovraccarico durante il tentativo di leggere dati Blob di grandi dimensioni. Mi chiedo come MySQL gestisce Blob? In realtà sto pianificando di iniziare un progetto e vorrei provare a salvare le immagini nei database MySQL invece dell'approccio standard di salvataggio dei file nel file system.

Grazie.

    
posta Jason 11.05.2013 - 09:58
fonte

1 risposta

3

Se interpreto correttamente i due collegamenti seguenti almeno quando si utilizza InnoDB, i BLOB sembrano essere memorizzati nella stessa struttura B + degli altri dati ma, a seconda del formato della riga, i dati possono essere memorizzati nelle cosiddette pagine di overflow. Nel (vecchio) formato COMPACT InnoDB memorizza i primi 768 byte della pagina sulla pagina e il resto della pagina. Il formato DYNAMIC sembra memorizzare solo il valore completo (se sufficientemente piccolo) o un singolo puntatore sulla pagina. Quindi questo sembra meglio.

Personalmente ho clienti con circa 20-30 GB di dati binari in un database MySQL. I BLOB sono archiviati in una tabella separata e quindi semplicemente referenziati tramite una chiave. In realtà mi piace questo schema meglio dello storage di filesystem poiché funziona bene per la piccola quantità di dati e se i dati crescono puoi cambiare la tabella con un meccanismo diverso. Il filesystem renderà anche più difficile aggiungere più nodi al tuo sistema poiché dovrai aggiungere un filesystem in cluster / in rete. In questo modo, puoi usare MySQL come file server povero. Funziona abbastanza bene per carichi di lavoro medio-piccoli.

Non sono un esperto di MySQL o Oracle, ma spero che questo aiuti.

Link

risposta data 11.05.2013 - 12:03
fonte

Leggi altre domande sui tag