Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 26, 2010 16:00:33

helm2004
От: Украина, Винница
Зарегистрирован: 2008-02-27
Сообщения: 630
Репутация: +  9  -
Профиль   Отправить e-mail  

SQLite и размер БД

Доброго времени суток!
Я использую SQLite, но там есть ограничение размера файла(вроде 2гига).
Вопрос в следующем - как решить вопрос если БД превысила лимит размера?
Буду рад ссылкам и ответам.
Спасибо!

Офлайн

#2 Апрель 26, 2010 16:51:01

veon
От:
Зарегистрирован: 2010-04-26
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

SQLite и размер БД

Максимальный размер БД зависит от параметров page_size и max_page_count, которые можно менять с помощью команды PRAGMA.
По-умолчанию page_size = 1024, а max_page_count = 2**30 - 1. Таким образом максимальный размер БД будет около 1 ТБ.
Можно увеличить их до 2**15 и 2**31 - 1, соответственно. Тогда максимальный размер БД будет около 64 ТБ.



Офлайн

#3 Апрель 26, 2010 18:19:16

bw
От:
Зарегистрирован: 2007-09-26
Сообщения: 938
Репутация: +  20  -
Профиль   Адрес электронной почты  

SQLite и размер БД

Я не сталкивался с таким ограничением. Возможно это проблемы конкретной сборки (для винды?!) или файловой системы. В Linux (Debian/Ubuntu) на ext2/3 база у меня такая “из коробки” размером 6 гигов работает.

..bw



Офлайн

#4 Апрель 26, 2010 18:52:45

Lexander
От:
Зарегистрирован: 2008-09-19
Сообщения: 1139
Репутация: +  33  -
Профиль   Отправить e-mail  

SQLite и размер БД

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

Если такое происходит, то, согласно документации: An attempt to insert new data that would cause the database file to grow larger than this will return SQLITE_FULL.



Отредактировано (Апрель 26, 2010 18:55:11)

Офлайн

#5 Апрель 26, 2010 22:13:51

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

SQLite и размер БД

Я думаю, что правильным ответом тут будет направить на использование нормальных систем управления базами данных. ИМХО, sqlite не для таких объёмов.



Офлайн

#6 Апрель 26, 2010 22:50:38

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

SQLite и размер БД

Ну если хочется использовать именно sqlite3, то можно немного схитрить и разбить базу данных на несколько файлов. Подходит в том случае, когда известно по каким критерием разбивать.
В одной своей софтинке, которая генерирует ежедневно достаточно большое количество данных, разбиваю базу данных по файлам, типа: 2010-01.db, 2010-02.db (каждая около 500-600 мб.). Выборку из базы в основном делаю по датам, поэтому легко понять к какой базе данных нужно делать connect и запросы, которые кстати выполняются быстрее, чем если бы мы искали по одной большой базе данных.



Офлайн

#7 Апрель 26, 2010 23:00:46

helm2004
От: Украина, Винница
Зарегистрирован: 2008-02-27
Сообщения: 630
Репутация: +  9  -
Профиль   Отправить e-mail  

SQLite и размер БД

igor.kaist спасибо за подсказку! Прога будет стоять на клиенте и поэтому мне нет смысля ставить СУБД.

Офлайн

#8 Апрель 26, 2010 23:15:53

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

SQLite и размер БД

helm2004
Прога будет стоять на клиенте и поэтому мне нет смысля ставить СУБД.
Посмотри на Firebird – умеет работать без сервера, быстра, удобна и вообще хороша.



Офлайн

#9 Апрель 27, 2010 00:07:16

Lexander
От:
Зарегистрирован: 2008-09-19
Сообщения: 1139
Репутация: +  33  -
Профиль   Отправить e-mail  

SQLite и размер БД

ZZZ
ИМХО, sqlite не для таких объёмов.
Ссылку плиз ;)

ЗЫ
имхо, терабайтные - да, много, а гигабайтные - легко.



Офлайн

#10 Апрель 27, 2010 00:27:56

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

SQLite и размер БД

Lexander, это чисто моё ощущение, основанное на моём опыте, но не претендующее на достоверность. Вот.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version