Лучшая система для обслуживания баз данных sqlite для веб-серверов по сети?
Я помогаю в настройке веб-службы, в которой пользовательские данные будут храниться в базах данных sqlite на сервере, работающем под управлением Samba, и один или несколько веб-серверов будут выполнять чтение и запись в эти базы данных на сервере. Я хотел бы получить совет относительно того, какую сетевую файловую систему использовать в среде all-linux, а также любые другие соображения.
4 ответа
NFS, вероятно, ваш лучший выбор. NFS довольно настраиваемый и, вероятно, окажется лучшим инструментом для работы. Если у вас есть какая-либо Windows в соединении, CIFS (Samba) - это путь, но в среде с полностью Linux, NFS.
При этом я согласен с Беном С. Если единственный выбор - это sqlite (что, я надеюсь, это не так), NFS - это путь. Но настоящая СУБД - намного лучший выбор.
Из документации sqlite:
Кроме того, логика блокировки файлов во многих сетевых файловых системах содержит ошибки (как в Unix, так и в Windows). Если блокировка файла работает не так, как должно, две или более клиентские программы могут изменить одну и ту же часть одной и той же базы данных одновременно, что приведет к повреждению базы данных.
так что будь очень осторожен! В частности, хорошо известно, что NFS не следует поведению POSIX, особенно в отношении атомарности.
Я бы предложил настоящую многопользовательскую базу данных. SQLite - лучший выбор для однопользовательских приложений, а не для нескольких серверов.
Это действительно не то, для чего sqlite. Это возможно, но гораздо более надежная система (и более простая в обслуживании) будет простой установкой MySQL вместо всего файлового сервера.