Python и SQLite в производстве - PullRequest
2 голосов
/ 05 июня 2011

При использовании python можно ли использовать SQLite в качестве производственной базы данных для управления, скажем, 10 000 файлов баз данных (каждый в отдельном файле - размером 500 [МБ])?

Для записи данных в файлы базы данных будет использоваться только один поток (без параллелизма).

Существуют ли альтернативные библиотеки, которые могут работать лучше / быстрее / надежнее?

Ответы [ 2 ]

7 голосов
/ 05 июня 2011

Может быть, вы посмотрите на эту страницу под названием "соответствующее использование для sqlite".Процитируем:

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

Другой способ взглянуть на SQLite заключается в следующем: SQLite не предназначен для замены Oracle.Он предназначен для замены fopen ().

0 голосов
/ 06 июня 2011

Если вы работаете с одной базой данных SQLite за раз, количество файлов базы данных, с которыми вы можете работать, не ограничено.Просто убедитесь, что вы правильно очистили (закройте каждое соединение с базой данных) перед тем, как открывать следующую базу данных, и у вас не должно возникнуть никаких проблем.

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

Что касается ограничений по размеру, взгляните на http://www.sqlite.org/limits.html;, проект SQLite серьезно тестирует и ограничивает базу данныхвключены.С максимальным размером BLOB 2 ГБ это означает, что они тестируют базы данных, которые по крайней мере настолько велики в своем наборе тестов, поэтому базы данных объемом до 500 МБ должны быть легкими для работы.

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