Spero che molti di voi stiano lavorando con siti Web basati su database ad alto traffico e che i problemi di scalabilità siano maggiori nel database. Ho notato un paio di cose ultimamente:
I database più grandi richiedono un team di DBA per ridimensionare. Lottano costantemente con le limitazioni dei dischi rigidi e finiscono con soluzioni molto costose (SAN o RAID di grandi dimensioni, finestre di manutenzione frequente per la deframmentazione e il ripartizionamento, ecc.). troppo ripido per me :)
Infine, abbiamo ottenuto diverse aziende come Intel, Samsung, FusionIO, ecc. Che hanno appena iniziato a vendere dischi rigidi SSD estremamente veloci ma convenienti basati sulla tecnologia SLC Flash. Queste unità sono 100 volte più veloci in lettura / scrittura casuale rispetto ai migliori dischi rigidi rotanti sul mercato (fino a 50.000 scritture casuali al secondo). Il loro tempo di ricerca è praticamente zero, quindi il costo dell'I / O casuale è lo stesso dell'I / O sequenziale, il che è fantastico per i database. Queste unità SSD costano circa $ 10- $ 20 per gigabyte e sono relativamente piccole (64 GB).
Quindi, sembra esserci un'opportunità per evitare i costi ENORMI del ridimensionamento dei database nel modo tradizionale semplicemente costruendo un array RAID 5 abbastanza grande di unità SSD (che costerebbe solo poche migliaia di dollari). Quindi non ci importa se il file di database è frammentato e possiamo permetterci 100 volte più scritture su disco al secondo senza dover distribuire il database su 100 mandrini. .
Qualcun altro è interessato a questo? Ho testato alcune unità SSD e posso condividere i miei risultati. Se qualcuno su questo sito ha già risolto il collo di bottiglia degli I / O con gli SSD, mi piacerebbe sentire le tue storie di guerra!
PS. So che ci sono molte soluzioni costose che aiutano con la scalabilità, ad esempio le SAN basate su RAM collaudate nel tempo. Voglio essere chiaro che anche $ 50K sono troppo costosi per il mio progetto. Devo trovare una soluzione che non costa più di $ 10.000 e non richiede molto tempo per essere implementata.
Dave, NXC e Burly,
Grazie per le tue risposte! Vorrei chiarire che la parola "economico" è molto importante nella mia situazione. Quindi, devo usare server Dell economici ($ 4K 2950 che hanno solo 8 banchi di memoria). Ho già installato 32 GB di RAM, quindi non posso continuare a scalare in questo modo. Inoltre, l'aggiunta di RAM non ti salva dai colli di bottiglia del disco WRITE, che è il mio problema principale in questo momento.
Ero preoccupato per la durata degli SSD, ma dopo aver letto i moderni algoritmi di livellamento dell'usura sono abbastanza sicuro che queste unità dureranno abbastanza a lungo. Il mio database scrive 300 GB al giorno e nel 2009 ha previsto di superare 1 TB al giorno. Gli SSD Enterprise sono progettati per gestire circa 10 TB di scritture al giorno per più anni.
Non sarei d'accordo con il punto di Burly sul fatto che ci vuole troppo lavoro per migrare da SAS a SSD. Il mio database è un mirror sincrono, quindi posso aggiornare un lato del mirror, quindi guardarlo per alcuni mesi e se si rompe posso eseguire il failover sul secondo server che ha ancora i vecchi buoni dischi rigidi SAS ...