2010-03-26 4 views
6

Какое лучшее решение для NoSQL для сервера Windows? предпочтительно с открытым исходным кодомКакое лучшее решение для NoSQL для сервера Windows?

+2

определить «лучший». То есть, каковы критерии, которые наиболее важны для вас * –

+0

Я сделал, с открытым исходным кодом. – NaLin

+3

Нет, серьезно, определить «лучший». NoSQL - такая огромная категория. На самом деле он не говорит, что вы хотите сделать. Вам нужна плоская/документальная БД? Объектная БД? Направленный граф DB? Это зависит от того, что вам нужно сделать. После этого решения вы можете выбрать «хороших кандидатов» на основе ваших функциональных требований. – 2010-03-26 21:06:58

ответ

2

Я использовал MongoDB на Windows, и установка прошла довольно гладко. На данный момент я еще не загрузил на него настоящую тяжелую нагрузку.

И вы можете найти .NET driver here для Монго, если это ваша платформа

3

RavenDB по Ayende является единственным написано в .net (что я знаю), так что «просто работает» на Windows.

Это Open Source, но он имеет двойную лицензию:
вы можете использовать его бесплатно, если ваш проект Open Source, а также, в противном случае вы должны купить commercial license.

5

Вы должны рассмотреть возможность использования Redis. Это расширенная база данных NoSQL с поддержкой богатых серверных структур данных, таких как списки, наборы, отсортированные наборы и хэши. Это также одна из самых быстрых баз данных NoSQL: 110000 SETs/second, 81000 GET/sec в ящике Linux начального уровня. Check the benchmarks.

У меня есть навороченный с открытым исходным кодом C# клиент, который позволяет вам сохраняющиеся любого типа C# POCO изначально доступен по адресу: http://code.google.com/p/servicestack/wiki/ServiceStackRedis

Вот некоторые тесты, сравнивающие Redis C# client vs RavenDB.

Клиент предоставляет богатый интерфейс, обеспечивающий обертки для общих IList, IDictionary и ICollection .NET для богатых структур данных на стороне сервера Redis.

Если вы хотите, чтобы посмотреть хороший учебник о том, как вы можете использовать его для разработки реального мира приложение проверить: http://code.google.com/p/servicestack/wiki/DesigningNoSqlDatabase

Вот пример со страницы выше показано, как легко можно хранить и извлекать C# объекты:

var redis = new RedisClient(); 
using (var redisUsers = redisClient.GetTypedClient<User>()) 
{ 
    redisUsers.Store(new User { Id = redisUsers.GetNextSequence(), Name = "demis" }); 
    redisUsers.Store(new User { Id = redisUsers.GetNextSequence(), Name = "mythz" }); 

    var allUsers = redisUsers.GetAll(); 

    Console.WriteLine(allUsers.Dump()); 
} 
/*Output 
[ 
    { 
     Id: 1, 
     Name: ayende, 
     BlogIds: [] 
    }, 
    { 
     Id: 2, 
     Name: mythz, 
     BlogIds: [] 
    } 
] 
*/ 

Хотя сервер в основном разработан на Linux у меня есть окна Redis-сервер сборки доступны по адресу: http://code.google.com/p/servicestack/wiki/RedisWindowsDownload

1

Немного старый ответ, но есть подход, дающий вам поведение хранилища в nosql'ish по SQL-серверу, http://www.sisodb.com

1

Вы могли бы NosDB попробовать. Его база данных NoSQL полностью написана в .NET, которая также поддерживает SQL queries.

Это open source with Apache 2.0 License, поэтому он полностью свободен без каких-либо привязок.

Ответ на вопрос, является ли это лучшим или нет, полностью основано на мнениях, поэтому вы должны проверить это самостоятельно.

Смежные вопросы