За последние 24 часа нас посетили 31768 программистов и 1755 роботов. Сейчас ищут 993 программиста ...

sqlite vs mysql- экономия?

Тема в разделе "PHP для новичков", создана пользователем php_user, 23 июл 2014.

  1. php_user

    php_user Новичок

    С нами с:
    19 апр 2014
    Сообщения:
    91
    Симпатии:
    0
    У меня у хостинг провайдера написано, что за хостинг в зависимости от количества sql баз- свой тарифный план. Я правильно понимаю, что если я буду использовать SQLite, то мне вроде как базы хостера не нужны, главное чтобы в php.ini был доступен sqlite?
     
  2. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    а ещё чтобы сборка php поддерживала SQLite, были права у юзера редактировать базы
    Да и SQLite и MySQL — разные вещи, не всегда заменяемые.
    А ещё есть много дешёвых VPS без дурацких ограничений на количество баз/ящиков/поддоменов
     
  3. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    ты можешь обойтись одной базой mysql на хостинге. ограничений на число таблиц, надеюсь, нет? )))

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

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.817
    Симпатии:
    1.333
    Адрес:
    Лень
    для SQLite ненужно спрашивать разрешения у хостера. SQLite - это что хочу то и творю
     
  5. Zuldek

    Zuldek Старожил

    С нами с:
    13 май 2014
    Сообщения:
    2.381
    Симпатии:
    344
    Адрес:
    Лондон, Тисовая улица, дом 4, чулан под лестницей
    У sqllite в сравнении с mssql или mysql есть ряд ограничений. Убедитесь что она полностью соответствует вашим требованиям.
    В частности, рекомендую обратить внимание на необходиомость использования триггеров и пользовательских функций для работы с некоторыми типами данных.
    Кроме того, не знаю как сейчас, а раньше запросы типа update блокировали всю базу и не было разграничения прав, реализованных в СУБД

    upd. Прошу прощение за падежи в моих сообщениях (т9), поправил.
     
  6. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    так вроде и не будет никогда механизма прав и параллельного обращения в sqlite. это СУБД для "встроенных приложений". тупо - для персонального использования.

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

    Добавлено спустя 2 минуты 28 секунд:
    а если к базе на хостинге будут параллельные запросы, то внезапно™ будут возникать лаги из-за блокировок. не родная это сфера применения для sqlite…
     
  7. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Его не будет, потому что бд в sqlite - это файлик, редактируемый тем, кто обратился. Любое изменение файлика при таком условии, требует установку блокировки на запись. В противном случае получаем дата коррапт.
     
  8. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    потому что sqlite для монопольной работы создана, а не потому что "файлик". всегда есть какие-то "файлики" )))

    напротив, mysql движок innodb блокирует на уровне отдельных записей, хотя физически разные записи в одном файле хранятся и даже разные таблицы могут быть в одном файле.
     
  9. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Наверное, потому что mysql не просто так работает в виде сервера, который и есть тот самый один-единственный монополист, обрабатывающий запросы извне. А у sqLite такого нет. Там каждый клиент сам-себе обработчик. Это я и имел ввиду.

    Сервер, принявший 10 запросов разом, как-нибудь разберется, куда, что и как. Он один и знает о них. А вот если 1 файлик параллельно задербанят 10 клиентов, понятия не имеющие о существовании друг друга, по одному запросу каждый, файлик накроется уже на третьем. Потому что первый и второй уже поломают все, создав немножно каши.

    Потому и блокировка на запись является вынужденной мерой.
     
  10. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    Феликс, что-то я уже нить потерял, о чем мы говорим вообще )))
     
  11. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Объясняем ТСу, что скулайт для веба - гуано.