Найти - Пользователи
Полная версия: SQLite и размер БД
Начало » Python для экспертов » SQLite и размер БД
1 2 3
helm2004
Доброго времени суток!
Я использую SQLite, но там есть ограничение размера файла(вроде 2гига).
Вопрос в следующем - как решить вопрос если БД превысила лимит размера?
Буду рад ссылкам и ответам.
Спасибо!
veon
Максимальный размер БД зависит от параметров page_size и max_page_count, которые можно менять с помощью команды PRAGMA.
По-умолчанию page_size = 1024, а max_page_count = 2**30 - 1. Таким образом максимальный размер БД будет около 1 ТБ.
Можно увеличить их до 2**15 и 2**31 - 1, соответственно. Тогда максимальный размер БД будет около 64 ТБ.
bw
Я не сталкивался с таким ограничением. Возможно это проблемы конкретной сборки (для винды?!) или файловой системы. В Linux (Debian/Ubuntu) на ext2/3 база у меня такая “из коробки” размером 6 гигов работает.

..bw
Lexander
Это наверняка ограничение ОС.

Если такое происходит, то, согласно документации: An attempt to insert new data that would cause the database file to grow larger than this will return SQLITE_FULL.
ZZZ
Я думаю, что правильным ответом тут будет направить на использование нормальных систем управления базами данных. ИМХО, sqlite не для таких объёмов.
igor.kaist
Ну если хочется использовать именно sqlite3, то можно немного схитрить и разбить базу данных на несколько файлов. Подходит в том случае, когда известно по каким критерием разбивать.
В одной своей софтинке, которая генерирует ежедневно достаточно большое количество данных, разбиваю базу данных по файлам, типа: 2010-01.db, 2010-02.db (каждая около 500-600 мб.). Выборку из базы в основном делаю по датам, поэтому легко понять к какой базе данных нужно делать connect и запросы, которые кстати выполняются быстрее, чем если бы мы искали по одной большой базе данных.
helm2004
igor.kaist спасибо за подсказку! Прога будет стоять на клиенте и поэтому мне нет смысля ставить СУБД.
ZZZ
helm2004
Прога будет стоять на клиенте и поэтому мне нет смысля ставить СУБД.
Посмотри на Firebird – умеет работать без сервера, быстра, удобна и вообще хороша.
Lexander
ZZZ
ИМХО, sqlite не для таких объёмов.
Ссылку плиз ;)

ЗЫ
имхо, терабайтные - да, много, а гигабайтные - легко.
ZZZ
Lexander, это чисто моё ощущение, основанное на моём опыте, но не претендующее на достоверность. Вот.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB