Для чего используется Sqlite? - PullRequest
17 голосов
/ 02 апреля 2009

Я не знаю, насколько это авторитетно, но я нашел это:

http://www.sqlite.org/cvstrac/wiki?p=PerformanceConsiderations

и не очень хорошо иметь много подключений к sqlite. Кажется, это плохо для Интернета и большинства приложений, в которых работают несколько пользователей. Мне трудно думать о том, для чего будет использоваться sqlite, когда вам не нужно столько подключений. Каждая программа, о которой я могу думать, нуждается в пользователях, иногда в большом количестве, так что для чего мне использовать базу данных, для которой не допускается такое количество соединений? Я думал о прототипах, но зачем мне это использовать, когда я могу просто подключиться к большой базе данных? Может быть встроенные приложения?

Спасибо.

РЕДАКТИРОВАТЬ: Спасибо всем. Я смотрю на страницу, рекомендованную ниже, но что-то смущен:

При соответствующем использовании для sqlite он имеет:

Ситуации, когда SQLite работает хорошо

• Веб-сайты

SQLite обычно отлично работает в качестве движка базы данных для веб-сайтов с низким и средним трафиком (то есть 99,9% всех веб-сайтов). Объем веб-трафика, который может обрабатывать SQLite, зависит, конечно, от того, насколько интенсивно веб-сайт использует свою базу данных. Вообще говоря, любой сайт, который получает менее 100 тыс. Посещений в день, должен нормально работать с SQLite. Показатель 100K хитов в день - это консервативная оценка, а не жесткая верхняя граница. Было продемонстрировано, что SQLite работает с 10-кратным объемом трафика.

Ситуации, когда другая СУБД может работать лучше

• Клиентские / серверные приложения

Если у вас есть много клиентских программ, обращающихся к общей базе данных по сети, вам следует рассмотреть возможность использования ядра базы данных клиент / сервер вместо SQLite. SQLite будет работать над сетевой файловой системой, но из-за задержки, связанной с большинством сетевых файловых систем, производительность не будет большой. Кроме того, логика блокировки файлов во многих сетевых файловых системах содержит ошибки (как в Unix, так и в Windows). Если блокировка файла работает не так, как должно, две или более клиентские программы могут изменить одну и ту же часть одной и той же базы данных одновременно, что приведет к повреждению базы данных. Поскольку эта проблема возникает из-за ошибок в реализации базовой файловой системы, SQLite ничего не может сделать, чтобы предотвратить ее.

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

Вопрос:

Я собираюсь показать свое невежество здесь, но в чем разница между этими двумя?

Ответы [ 9 ]

30 голосов
/ 02 апреля 2009

Это хорошо для ситуаций, когда у вас нет доступа к «реальной» базе данных и вы все еще хотите использовать мощность реляционной базы данных. Например, Firefox хранит кучу информации о ваших настройках / истории / и т.д. в базе данных SQLite. Вы не можете ожидать, что у всех, кто запускает firefox, будет установлен MySQL или postgre на их компьютере.

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

26 голосов
/ 02 апреля 2009

На этот вопрос хорошо отвечает сама sqlite: Надлежащее использование sqlite

Another way to look at SQLite is this: 
SQLite is not designed to replace Oracle. It is designed to replace fopen().
8 голосов
/ 02 апреля 2009

Я также считаю, что использование SQLite полезно для быстрого создания прототипа приложения без дополнительных затрат на отдельный сервер БД или создание среды разработки с экземпляром MySQL / Oracle / Wh независимо.

Также легко подобрать и переместить базу данных на другой компьютер, если вам нужно.

7 голосов
/ 02 апреля 2009

Часто используется для встроенных приложений.

Может быть очень удобно использовать базу данных, например хранилище, когда у вас нет доступа к службе базы данных. Таким образом, SQLite используется, поскольку это просто файл, который вы где-то храните.

3 голосов
/ 02 апреля 2009

Подумайте о простых клиентских или настольных приложениях, которые могут использовать БД, например, в качестве плохого примера, адресной книги. Вместо того, чтобы связывать с вашим продуктом огромный движок БД, такой как mysql или postgre, sqlite очень легкий и его легко включить в готовое приложение.

3 голосов
/ 02 апреля 2009

iPhone использует его для истории вызовов, SMS-сообщений, контактов и других типов данных. Как сказал Олафур Вейдж, он хорош для встраиваемых приложений на мобильных устройствах, потому что он легкий. Я использовал его также в автономных приложениях. Прост в использовании и доступен на большинстве платформ.

2 голосов
/ 16 января 2011

Проще говоря, SQLite - это общедоступный программный пакет, который обеспечивает система управления реляционными базами данных или RDBMS. Системы реляционных баз данных используется для хранения пользовательских записей в больших таблицах. В дополнение к хранению данных и управлению, ядро базы данных может обрабатывать сложные команды запроса, которые объединяют данные из нескольких таблиц для создания отчетов и сводок данных. Другие популярные РСУБД продукты включают в себя Oracle Database, IBM DB2 и Microsoft SQL Server на коммерческая сторона, MySQL и PostgreSQL - популярные продукты с открытым исходным кодом. «Lite» в SQLite не относится к его возможностям. Скорее, SQLite легок когда дело доходит до сложности установки, административных издержек и использования ресурсов.

Для получения подробной информации и решения о SQLite перейдите по ссылке ниже:

http://blog.developeronhire.com/what-is-sqlite-sqlite/

Спасибо.

2 голосов
/ 03 апреля 2009

Этот еженедельный эпизод подкастов FLOSS говорит с создателем SQLite и охватывает, помимо прочего, тип вещей, для которых вы бы его использовали. Все, от файловых систем для мобильных телефонов до небольших веб-сайтов.

0 голосов
/ 02 апреля 2009

Что говорят два приведенных выше ответа. Немного углубляясь в ответ Чеда Берча, он обращается к базе данных SQLite и довольно плохой реализации sync (), из-за которой FF3 в Linux очень медленный.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...