Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Базы данных под .NET > Посоветуйте базу данных для C# (.net3.5,.net4


Автор: alexplato 9.9.2012, 13:11
При написании программных продуктов, часто сталкиваюсь с задачей хранить большие объемы данных (300000 - 500000 записей, возможно даже больше). Насколько я понимаю, самым правильным решением является использование здесь баз данных. Таким образом, я сформировал набор требований, которые предъявляю к провайдеру базы данных:

1. Производительность и скорость (объемы информации описал выше. Например это могут быть 500000 записей, хранящих информацию (различные параметры) об объектах недвижимости);
2. Возможность автоматической установки базы данных вместе с моим приложением (например посредством создания инсталлятора в Inno Setup) - чтобы пользователь не утруждал себя лишними действиями для установки еще и базы данных (грубо говоря - чтобы он даже не знал о ее существовании).
3. Работоспособность на популярных ОС (win7,xp,vista) 32 и 64 разрядных.
4. Бесплатная лицензия для коммерческого распространения

Уже пробовал разные решения. Сначала использовали sqlite - но при увеличении базы данных, тем более до таких объемов, он работает слишком медленно. Затем задействовали mssql express - но его инсталляция - это какой то ужас (то есть автоматическое скачивание и установка, настроенные в рамках проекта InnoSetup - это не проблема, но вот дальнейшее использование - постоянные проблемы то с правами, то с названием сервера базы, то еще непонятно с чем). Очень нравится вариант mysql - но, насколько я понимаю, его нельзя распространять с коммерческим приложением (точнее можно, но для этого нужно купить commercial license).  Еще недавно слышал про firebird, но не пробовал что это за птица такая.

Кстати  - будет ли нарушением коммерческой лицензии mysql, если Innosetup будет при установке моей программы, автоматически скачивать с официального сайта и устанавливать mysql?

Но основной вопрос - какая БД будет соответствовать всем вышеперечисленным требованиям? Также - если у вас есть большой опыт в данном вопросе - готов заплатить за консультацию по данному вопросу и создание небольшого примера инсталлятора десктопного приложения, который будет параллельно автоматически устанавливать базу данных (соответствующую вышеперечисленным требованиям), с которой данное приложение в дальнейшем сможет взаимодействовать.

Автор: fedyunina 9.9.2012, 16:54
по-моему, первые 2 пункта и 4й совешенно не совместимы  smile слишком много хотим от бесплатной СУБД

Автор: alexplato 9.9.2012, 17:25
Цитата(fedyunina @ 9.9.2012,  16:54)
по-моему, первые 2 пункта и 4й совешенно не совместимы  smile слишком много хотим от бесплатной СУБД

я бы рассмотрел и платную, но стоимость той же mysql - впечатляет

Автор: erm0l0v 17.9.2012, 12:41
Если база локальная то лучше SQL Compact вы решения не найдете. Работает быстро и лишней памяти не жрется. По сравнению с тем же MSSQL при чтении данных объемом в X кб у вас память приложения увеличится на X кб + память под необходимые классы, а в MSSQL на 2*X кб плюс необходимые классы.

Да и ставить ничего не надо. Если же база для нескольких машин то тут уже нужно выбирать в зависимости от сервера.

Автор: Uvs 6.8.2013, 06:38
Пробуйте Firebird

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)