2010-07-31 2 views
1

Кто-нибудь знает, если это хорошее решение для использования SQLite в многопоточной среде. Я хочу заменить SQL Server более простой и встроенной базой данных, так как нет необходимости кормить такую ​​большую серверную БД. Предполагаемый максимальный размер БД будет 4 гигабайта после 4-5 лет использования. Это нормально для встроенной БД? Может ли это повлиять на производительность?Заменить SQLite на SQL Server?

+0

SQL Server или SQL Server Compact Edition? Компактная версия встраивается. Есть мир различий между SQL Server non-Compact Edition и SQLite ... –

ответ

1

Я не знаю, какой дистрибутив вы здесь говорите. Я только использовал SQLite.NET, и я знаю, что он хорошо работает в многопоточных приложениях.

Он также может быть развернут в системах клиент-сервер, поэтому вам не нужно беспокоиться.

Учитывая заявление Vinko о «реальных» базах данных, вы можете его игнорировать. SQLite действительно стоит соли.

Если вы работаете с .NET, вы можете найти эту ссылку полезным: http://sqlite.phxsoftware.com

+1

«Действительный» бит базы данных не был предназначен для решения SQLite, что отлично подходит для того, что это такое, и оно не предназначено для замены на всех серверах РСУБД, как это не хватает, по дизайну !, многие из функций, которые есть у «реальных» баз данных. –

+0

См. Http://sqlite.org/faq.html#q5 –

1

В соответствии с documentation SQLite является потокобезопасным, но есть оговорки.

1

Вы можете использовать SQLite в многопоточной среде, но тогда и только тогда, когда вы создадите специальную версию (и узнаете, поддерживает ли она ее, поддерживает ли она ее, и не настраивает ее, если она не работает). Итак, если ваша библиотека поддерживает многопоточность SQLite, если вам действительно нужен высокий уровень параллелизма в базе данных, вы можете предпочесть использовать «реальную» базу данных. Будь то MSSQL или любое другое выходит за рамки вопроса.

Рассмотрим, например, MySQL и SQL Server Express.

Если ваш уровень параллелизма низкий, SQLite может справиться с ним.

2

Это зависит от типа запросов, которые вы использовали бы. Если запросы являются простыми выборами с равными соединениями, то SQLite может преуспеть, но я думаю, что вам все равно будет лучше с e. г. Firebird 2.5, когда выйдет стабильная версия (теперь доступен RC3). У вас будет более богатый SQL-интерфейс. Я не знаю, сколько объемных грузов важно для вас, но ни SQLite, ни Firebird не очень сильны в этой области. Если вам нужна хорошая производительность вставки вставки и низкая стоимость, вы должны посмотреть PostgreSQL или MySQL. Существует также очень интересная поисковая база данных, с которой я случайно наткнулся на недавно названном CUBRID. Я только установил его до сих пор, поэтому я не могу сказать, насколько это хорошо или плохо, но это, безусловно, стоит посмотреть. Вы также можете посмотреть эту статью в википедии: http://en.wikipedia.org/wiki/Comparison_of_relational_database_management_systems

0

Я также предлагаю вам взглянуть на CUBRID database. Он имеет приятную оптимизацию для веб-приложений, и его легко освоить.

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