Si prega di ignorare il benchmark sopra abbiamo avuto un bug all'interno.
Abbiamo record Inserire 1M con le seguenti colonne: id (int), stato (int), il messaggio (140 char, casuale). Tutti i test sono stati eseguiti con il driver C++ su un PC desktop i5 con disco Sata da 500 GB.
Benchmark con MongoDB:
1M Records Inserire senza Indice
time: 23s, insert/s: 43478
1M Records Inserire con Indice su Id
time: 50s, insert/s: 20000
prossimo aggiungiamo record 1M a la stessa tabella con Index a nd 1M records
time: 78s, insert/s: 12820
che risultano tutti in prossimità di file da 4 GB su fs.
Benchmark con MySQL:
1M Records Inserire senza Indice
time: 49s, insert/s: 20408
1M Records Inserire con Indice
time: 56s, insert/s: 17857
prossimo aggiungiamo record 1M allo stesso tabella con Indice e 1M record
time: 56s, insert/s: 17857
esattamente stesse prestazioni, nessuna perdita su MySQL sulla crescita
Vediamo Mongo è mangiare intorno 384 MB di Ram durante il test e del carico 3 nuclei della CPU, MySQL era felice con 14 MB e di carico solo 1 core.
Edorian era sulla strada giusta con la sua proposta, farò qualche altro Benchmark e sono sicuro che possiamo raggiungere un 2x Quad Core Server 50K Inserti/sec.
Penso che MySQL sia la strada giusta da percorrere.
Sono in procinto di ristrutturare alcune applicazioni in mongoDB. Hai dimenticato CouchDB nella tua lista, ma da quello che ho imparato, opterei anche per mongoDB ... – polemon
Grazie, significa che sarei con MongoDB sulla giusta strada, altri voti per MongoDB? :-) – Nenad
Nei miei test non recenti, ho raggiunto 14K tps con MySQL/Innodb sul server quad-core e il throughput è stato cpu-bound in python, non mysql. In altre parole, la tua ipotesi su MySQL era abbastanza sbagliata. Le mie transazioni sono state abbastanza semplici da testare e inserire con la contesa, penso che "King of the Hill" abbia giocato tra molti utenti. –