Sqlite или MySql? Как решить?

60

Какие-нибудь хорошие эмпирические правила о том, как решить, какой из них использовать?

И если вы возьмете базу данных Sqlite, и ожидается, что система "станет намного больше", как решить, придерживаться ее или перейти на MySql?

  • 1
    Рассмотрим FirebirdEmbedded, это очень мощная смесь двух.
  • 1
    Голосование за закрытие слишком широкое. Возможный дубликат был удален: stackoverflow.com/questions/3630/sqlite-vs-mysql
Показать ещё 3 комментария
Теги:
database

4 ответа

64
Лучший ответ

Их набор функций совсем не то же самое. Sqlite - это встроенная база данных, которая не имеет сетевых возможностей (если вы не добавите их). Поэтому вы не можете использовать его в сети.

Если вам нужно

  • Доступ к сети - например, доступ с другой машины;
  • Любая реальная степень concurrency - например, если вы считаете, что хотите запустить сразу несколько запросов или запустить рабочую нагрузку с множеством выборок и несколькими обновлениями, и хотите, чтобы они прошли гладко и т.д..
  • много использования памяти, например, для буферизации частей вашей базы данных 1Tb в 32G памяти.

Вам нужно использовать mysql или некоторые другие серверные РСУБД.

Обратите внимание, что MySQL не единственный выбор, и есть много других, которые могут быть лучше для новых приложений (например, pgSQL).

Sqlite - очень, очень приятная часть программного обеспечения, но он никогда не претендовал на любые из этих действий, которые делают серверы РСУБД. Это небольшая библиотека, которая запускает SQL на локальных файлах (с помощью блокировки для обеспечения того, чтобы несколько процессов не вставляли файл вверх). Это действительно хорошо протестировано, и мне это очень нравится.

Кроме того, если вы не можете правильно выбрать это самостоятельно, вам, вероятно, нужно нанять кого-то из вашей команды, который может.

  • 0
    Таким образом, в основном sqllite является альтернативой файлам доступа MS.
  • 2
    Эти три пункта - именно то, что говорит Ричард Хипп: youtu.be/Jib2AmRb_rk?t=1693
Показать ещё 1 комментарий
37

Команда sqlite опубликовала статью, в которой объясняется когда нужно использовать SQL файл, который отлично читается. В принципе, вы хотите избежать использования sqlite, когда у вас много писем concurrency, или нужно масштабировать до терабайт данных. Во многих других случаях sqlite является удивительно хорошей альтернативой "традиционной" базе данных, такой как MySQL.

9

SQLite из коробки не является полнофункциональным в отношении concurrency. У вас возникнут проблемы, если у вас есть сотни веб-запросов, попавших в ту же базу данных SQLite.

Вы обязательно должны пойти с MySQL или PostgreSQL.

Если это для проекта с одним человеком, SQLite будет проще настроить, хотя.

  • 0
    Для простоты у меня всегда есть одно программное обеспечение, которое является единственным пользователем, которому разрешен доступ к базе данных, даже для сетевых приложений, которые используют базу данных MySql, но, безусловно, особенно для Sqlite.
6

Мои несколько центов к предыдущим отличным ответам. сайт www.sqlite.org работает в базе данных sqlite. Вот ссылка когда автор (Richard Hipp) отвечает на аналогичный вопрос.

  • 1
    Спасибо за ссылку, тот же автор продолжает свой собственный верстак, который он тестировал на Athlon 1600. 1 ГБ ОЗУ. IDE диск 5400 об / мин. Redhat 7.3. Он заключает: «Теперь я считаю, что SQLite подходит для использования в качестве основной базы данных на веб-сайтах, которые получают до 1 миллиона обращений в день».

Ещё вопросы

Сообщество Overcoder
Наверх
Меню