Sto esaminando la possibilità di utilizzare SCM distribuiti come Git o Mercurial per gestire milioni di file XML. Ogni file sarebbe una transazione commerciale, ad esempio un ordine di acquisto, che verrebbe aggiornato 10 volte durante il ciclo di vita della transazione fino a quando non viene "completato" e non viene più modificato.
E con "gestisci", intendo che lo SCM verrebbe utilizzato non solo per la versione dei file, ma anche per replicarli su altre macchine per la ridondanza e il trasferimento dell'IP.
Supponiamo, per esempio, che un obiettivo sia fornire buone prestazioni se gestisse il volume di ordini che Amazon.com ha affermato di avere al suo massimo nel dicembre 2010: circa 150.000 ordini al minuto.
Ci aspettiamo che il sistema sia distribuito su molti server per ottenere prestazioni ragionevoli. Stiamo anche pianificando di utilizzare esclusivamente unità a stato solido.
C'è una ragione per cui non vogliamo usare un RDBMS per l'archiviazione primaria, ma è un po 'oltre lo scopo di questa domanda.
Qualcuno ha esperienza diretta con le prestazioni di SCM distribuiti sotto tale carico e quali strategie sono state utilizzate?
Preferibile open source, poiché anche il prodotto finale deve essere FOSS.