2014-11-22 2 views
2

Я создал приложение на C#, используя Winforms, который ежедневно обрабатывает 2000 строк данных в день. Я использую SQL Server 2012, но я пытаюсь использовать SQLite из-за его славы, и большинство людей ссылаются на это.SQLite vs. SQL Server

Итак, можете ли вы дать мне несколько идей, которые лучше для моих нужд?

Благодаря

+2

Если вам нужно иметь несколько клиентов ** ** подключении к тем же данным, в то же время -> использовать серверную SQL Server. Если это больше о хранении локальных данных для одного пользователя на его локальной машине -> SQLite имеет край –

+0

да, у меня несколько пользователей, я думаю, что от 10 до 20 пользователей одновременно с моим приложением, а некоторые работают в одной и той же форме thx – naeemshah1

ответ

4

SQLite интегрируется с приложением .NET лучше, чем сервер SQL

SQLite, как правило, намного быстрее, чем SQL Server.

Однако SQLite поддерживает только один писатель за раз (что означает выполнение отдельной транзакции). SQLite блокирует всю базу данных, когда ей требуется блокировка (чтение или запись), и только один писатель может хранить блокировку записи одновременно. Из-за своей скорости это фактически не проблема для приложений с низким и средним размером, но если у вас более высокий объем записей (сотни в секунду), то это может стать узким местом. Существует ряд возможных решений, таких как разделение данных базы данных на разные базы данных и кэширование записей в очередь и их асинхронное создание. Однако, если ваше приложение, скорее всего, столкнется с этими требованиями к использованию и еще не написано для SQLite, тогда лучше всего использовать что-то вроде SQL Server с более тонкой блокировкой.

+1

«SQLite интегрируется с вашим .NET-приложением лучше, чем SQL-сервер» - почему? Без фактов это, похоже, основано на мнениях. – Zanon

+1

«SQLite, как правило, намного быстрее, чем SQL Server». - в каких сценариях? Без эталона это, похоже, основано на мнениях. – Zanon

2

SQLite - это хорошая быстрая база данных для использования в автономных приложениях. Есть десятки графических интерфейсов для создания требуемой схемы и интерфейсов для практически любого языка, который вам нужен (C#/C/C++/Java/Python/Perl). Это также кросс-платформа и подходит для Windows, Linux, Mac, Android, iOS и многих других операционных систем.

Вот некоторые преимущества для SQLite:

  • Perfomance

    • Во многих случаях, по крайней мере, в 2-3 раза быстрее, чем MySQL/PostgreSQL.
    • Отсутствие сокетов и/или TCP/IP служебных данных - SQLite работает в том же процессе, что и ваше приложение.
  • Функциональность

    • Sub выборка, триггеры, транзакции, Views.
    • До 2 ТБ хранения данных.
    • Малый объем памяти.
    • Автономный: никаких внешних зависимостей.
    • Атомная фиксация и откат защищают целостность данных.
    • Легко перемещаемая база данных.
  • безопасность

    • Каждый пользователь имеет свою собственную полностью независимую базу (ы).
+3

Я предлагаю вам также добавить недостатки. У всех баз данных есть плюсы и минусы. – Zanon

+0

yes Zanon is ri8 – naeemshah1