Domanda

Sto cercando un quadro di accesso ai dati comune che contempla portabilità tra diversi database NoSQL come SimpleDB, Tavoli Azure, Cassandra, CouchDB, MongoDb, ecc sto costruendo un app e vorrebbe miei clienti siano in grado di uso che mai NoSQL memorizzano che vogliono.

In uno scenario più relazionale, userei Linq su NHibernate o Entity Framework, ma non ho trovato un quadro equivalente per i database NoSQL. Tutto quello che ho trovato è specifico database API, anche se sembra che ci siano significative comunanza. Si fa a esistere? Preferibilmente uno con LINQ.

È stato utile?

Soluzione

Non queste cose sono troppo diversi e troppo specifica (almeno in questo momento). Se si voleva qualcosa di davvero semplice, come solo un wrapper su un oggetto a cui si accede solo da ID, allora si può avere una speranza. In realtà, se si guarda a norma, può essere possibile adattare che a vari fornitori.

Tuttavia, al di fuori di un piccolo nucleo di caratteristiche, queste banche dati "NoSQL" sono molto diverse in molti aspetti. Voglio dire, come si fa a implementare le varie mappa / ridurre funzioni agnosticamente? Come è possibile realizzare operazioni atomiche quando sostengono diverse operazioni atomiche?

In entrambi i casi, siamo troppo presto nel ciclo di vita NoSQL per avere un quadro agnostica per tutto questo. Azure praticamente abbandonato la loro offerta NoSQL a favore di "SQL server ospitato". MongoDB è forse 20 mesi di età, CouchDB è ancora in versione 0.11.x, SimpleDB è inferiore a 24 mesi di età, Cassandra è in versione 0.6.2 ed è forse stato in uso regolare per un paio di anni.

Siamo solo non c'è ancora.

Altri suggerimenti

Un linguaggio di query comune (chiamato UnQL) è in fase di sviluppo: http: //www.unqlspec. org / display / UnQL / Casa

Ci sono fornitori di LINQ per MongoDB, ma non credo che ci sia una generica .net fornitore di LINQ to 'all' db NoSQL di.

Alcune persone hanno contemplato su un linguaggio di query NoSQL generico: http://nosql.mypopescu.com/post/731261002/a-common-nosql-query-language

scroll top