Я ищу общую структуру доступа к данным, которая обеспечит переносимость различных баз данных nosql, таких как SimpleDB, Azure Tables, Cassandra, CouchDB, MongoDb и т. Д. Я создаю приложение и хочу, чтобы мои клиенты могли использовать которые когда-либо хранят в магазине nosql.Есть ли агрегированная база данных nosql для .NET?
В более реляционном сценарии я бы использовал Linq над nHibernate или Entity Framework, но я не нашел эквивалентную структуру для баз данных nosql. Все, что я нашел, это API, специфичный для базы данных, хотя, похоже, существует значительная общность. Есть ли один? Предпочтительно один с LINQ.
Итак, каков основной набор общих функций прямо сейчас? Это действительно просто объект, доступ к которому осуществляется через его идентификатор объекта? BTW. Azure не отказались от таблиц, они просто предложили как Relational, так и NoSQL. То же самое, что Амазонка сделала с RDS. –
На этом этапе я думаю, что вы получаете базовые операции CRUD. Map/Reduce значительно отличается даже между Couch и Mongo (которые относительно похожи). Некоторые из перечисленных предложений поддерживают управление версиями, но Mongo этого не делает. У Couch есть концепция «взглядов», которая является центральной для уменьшения карты, но Mongo просто бросает выходы с уменьшением карты в новую коллекцию. Таким образом, возможно, что вы могли бы «абстрагировать» это, но это много абстрагируется, b/c они делают разные вещи. –