Sto cercando un framework di accesso ai dati comune che fornisca la portabilità tra vari database nosql come SimpleDB, Azure Tables, Cassandra, CouchDB, MongoDb, ecc. Sto costruendo un'app e vorrei che i miei clienti potessero essere in grado di utilizzare quale negozio nosql mai vogliono.Esiste un framework nosql agnostico per database per .NET?
In uno scenario più relazionale, utilizzerei Linq su nHibernate o Entity Framework, ma non ho trovato un framework equivalente per i database nosql. Tutto quello che ho trovato sono API specifiche per database anche se sembra esserci una comunanza significativa. Esiste? Preferibilmente uno con LINQ.
Allora, qual è l'insieme principale di funzionalità comuni in questo momento? È davvero solo un oggetto a cui si accede tramite il suo ID oggetto? BTW. Azure non ha rilasciato Tables, ma ha offerto sia Relational che NoSQL. La stessa cosa che Amazon ha fatto con RDS. –
A questo punto, penso che si ottengano le operazioni CRUD di base. Map/Reduce è significativamente diverso anche tra Couch e Mongo (che sono relativamente simili). Alcune delle offerte elencate supportano il controllo delle versioni, ma Mongo no. Couch ha il concetto di "punti di vista" che è fondamentale per la riduzione delle mappe, ma Mongo semplicemente lancia gli output di riduzione delle mappe in una nuova raccolta. Quindi è possibile che tu possa "astrarre" questo, ma è un sacco di astrazione, b/c stanno facendo cose diverse. –