Sto lavorando alla progettazione di una base che probabilmente rimarrà inferiore a 100 MB, ha un proprio server e verrà letta e modificata tramite un'applicazione web Java EE intranet. Ho trovato molti riferimenti sull'ottimizzazione per basi ampie e so che è un problema molto più critico, ma ho molto tempo, la velocità di lettura/inserimento è una priorità del progetto e sono abbastanza sicuro di può trarre vantaggio da una dimensione del db totale così piccola, in qualche modo. A meno che MySQL non sia già ottimizzato naturalmente per quel tipo di benchmark di piccole dimensioni, ovviamente.Come ottimizzare MySQL per gestire un piccolo database, ad esempio <100mb?
Si adatta alla memoria, ovviamente, ma ho bisogno che i suoi dati persistano effettivamente, sul disco, o almeno siano salvati su disco a breve; Ho pensato ad alcune alternative pazzesche, come il caricamento sequenziale dell'intera base nella memoria al primo momento necessario (al momento della connessione dell'utente, probabilmente?), In qualche modo, e in seguito sul disco.
ma ho pensato che meglio di chiedere qui e vedere se qualcuno ha affrontato questo tipo di situazione prima e aveva un'idea decente per trarre profitto dalla dimensione piccola base.
sto pensando più in termini di accesso al database e non strutturare, ma se qualcuno ha suggerimenti per la progettazione di strutture per le piccole basi e ritiene che rendere il problema dell'ottimizzazione accesso del tutto irrilevante, affermando che è probabilmente una risposta adeguata come bene.
Grazie in anticipo.
Modifica: l'app è un po 'critica e dopo che ho finito sarà sviluppata da ragazzi che sono per lo più abituati a MySQL, quindi i diversi DBMS non sono una gran scelta a meno che siano veeery simili a MySQL.
Assicurati solo che le cache di mysql siano impostate per essere più grandi della dimensione del db e che verranno automaticamente memorizzate nella cache mentre lavori sul tavolo. –
Ci ho pensato, non ero sicuro che avrebbe funzionato in quel modo. Sembra abbastanza liscio, abbastanza sicuro che lo farò solo allora. Grazie! – userBigNum
Si sta effettivamente verificando problemi di prestazioni? Sembra che tu stia tentando un'ottimizzazione prematura. Innanzitutto, implementa l'applicazione, quindi esegui il benchmark e infine ottimizzala se il benchmark mostra gravi colli di bottiglia. – Barmar