У меня у хостинг провайдера написано, что за хостинг в зависимости от количества sql баз- свой тарифный план. Я правильно понимаю, что если я буду использовать SQLite, то мне вроде как базы хостера не нужны, главное чтобы в php.ini был доступен sqlite?
а ещё чтобы сборка php поддерживала SQLite, были права у юзера редактировать базы Да и SQLite и MySQL — разные вещи, не всегда заменяемые. А ещё есть много дешёвых VPS без дурацких ограничений на количество баз/ящиков/поддоменов
ты можешь обойтись одной базой mysql на хостинге. ограничений на число таблиц, надеюсь, нет? ))) добрые движки дают возможность указать префикс для имен используемых таблиц. чтобы избежать случайного пересечения с другими приложениями.
У sqllite в сравнении с mssql или mysql есть ряд ограничений. Убедитесь что она полностью соответствует вашим требованиям. В частности, рекомендую обратить внимание на необходиомость использования триггеров и пользовательских функций для работы с некоторыми типами данных. Кроме того, не знаю как сейчас, а раньше запросы типа update блокировали всю базу и не было разграничения прав, реализованных в СУБД upd. Прошу прощение за падежи в моих сообщениях (т9), поправил.
так вроде и не будет никогда механизма прав и параллельного обращения в sqlite. это СУБД для "встроенных приложений". тупо - для персонального использования. например: браузер хранит историю в sqlite. у каждого пользователя ПК свой файл базы в его личной папке профиля. файл базы дергает только одно приложение и только от лица одного пользователя. все счастливы. Добавлено спустя 2 минуты 28 секунд: а если к базе на хостинге будут параллельные запросы, то внезапно™ будут возникать лаги из-за блокировок. не родная это сфера применения для sqlite…
Его не будет, потому что бд в sqlite - это файлик, редактируемый тем, кто обратился. Любое изменение файлика при таком условии, требует установку блокировки на запись. В противном случае получаем дата коррапт.
потому что sqlite для монопольной работы создана, а не потому что "файлик". всегда есть какие-то "файлики" ))) напротив, mysql движок innodb блокирует на уровне отдельных записей, хотя физически разные записи в одном файле хранятся и даже разные таблицы могут быть в одном файле.
Наверное, потому что mysql не просто так работает в виде сервера, который и есть тот самый один-единственный монополист, обрабатывающий запросы извне. А у sqLite такого нет. Там каждый клиент сам-себе обработчик. Это я и имел ввиду. Сервер, принявший 10 запросов разом, как-нибудь разберется, куда, что и как. Он один и знает о них. А вот если 1 файлик параллельно задербанят 10 клиентов, понятия не имеющие о существовании друг друга, по одному запросу каждый, файлик накроется уже на третьем. Потому что первый и второй уже поломают все, создав немножно каши. Потому и блокировка на запись является вынужденной мерой.