Come ottenere esperienza in database su larga scala?

4

Ho scritto applicazioni di dimensioni molto ridotte e il codice che scrivo funziona bene per loro. Ma mi sono chiesto spesso come il codice lato server che scrivo aumenterebbe da 100s di query al giorno a milioni.

Inoltre, guardando a possibili lavori / progetti, le persone sono spesso alla ricerca di sviluppatori con esperienza in questo tipo di progettazione di database ad alto traffico, quindi vorrei almeno poter dire, non ho lavorato su un progetto che è stato questo è popolare, ma almeno ho provato a simularlo.

Esistono strumenti o framework che possono generare molto traffico o almeno simulare ciò che accadrebbe con il traffico su diversi ordini di grandezza, quindi potrei fare pratica scrivendo codice ottimizzato per applicazioni di traffico più elevate?

    
posta Justin 04.07.2012 - 01:26
fonte

1 risposta

4

Questo è un problema comune non solo per le persone che hanno scritto applicazioni di dimensioni molto ridotte, ma anche per coloro che hanno effettivamente scritto app su larga scala e non sono in grado di testarle. La mancanza di un ambiente di test (un database di grandi dimensioni o file di dati) è spesso tra gli sviluppatori. Ad esempio, ho lavorato su alcuni progetti diversi a tempo limitato:

  1. Un caricatore SQL che doveva caricare 15 milioni di righe in una tabella (200 colonne) in meno di 10 minuti. Ovviamente fino a quando non è stato fornito un file da 100 MB dalla piattaforma SAS, era impossibile testare il caricatore. Solo dopo ho potuto impostare i parametri del caricatore giusto (commit, bindsize ecc.)

  2. Un UPDATE sulla stessa tabella con alcune regole molto complicate (unendo altre 3-4 tabelle a seconda dei dati già esistenti) da eseguire in 5 minuti. Certo, avevo bisogno di dati reali sul tavolo e non potevo falsificare la stessa fila di volte. Come potevo sapere quanto velocemente la procedura è stata completata senza i dati? Successivamente ho sintonizzato le procedure usando MERGE invece di UPDATE, funzioni deterministiche ecc.

Quindi quello che sto cercando di dire è che non dovresti preoccuparti di questo perché ne tratterai quando sarà il momento giusto. È difficile simulare dati reali complessi ma sono sicuro che non sarà un'abilità chiave negli occhi del tuo datore di lavoro.

    
risposta data 15.07.2012 - 02:55
fonte

Leggi altre domande sui tag