Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / SQLite [игнор отключен] [закрыт для гостей] / SQLite. Помогите плз разобраться с размером БД / 6 сообщений из 6, страница 1 из 1
26.08.2009, 14:54
    #36164142
Sanctor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLite. Помогите плз разобраться с размером БД
В БД содержится куча текстов, разбитых на таблицы по категориям.
Суммарный объем - 19.3 ГБ. Размер страницы - 4096
просматривая файл, сгенеренный sqlite_analyser, заметил интересную вещь:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
*** Table TXT_101_CONTENT ********************************************

Percentage of total database..........   0.45%   
Number of entries..................... 20000     
 Bytes of storage consumed ............. 92741632  
 Bytes of payload ...................... 73767042    79.5% 
Average payload per entry............. 3688.35   
Average unused bytes per entry........ 923.57    
Average fanout........................ 350.00    
Fragmentation.........................  32.4%    
Maximum payload per entry............. 205377    
Entries that use overflow............. 5471        27.4% 
Index pages used...................... 47        
Primary pages used.................... 16447     
Overflow pages used................... 6148      
Total pages used...................... 22642     
Unused bytes on index pages........... 27488       14.3% 
Unused bytes on primary pages......... 17950212    26.6% 
Unused bytes on overflow pages........ 493783       2.0% 
 Unused bytes on all pages ............. 18471483    19.9%

Получается, что около 20% объема просто гуляет?
Из-за чего такое происходит и как этого избежать? Все-таки сэкономленные 3.8 ГБ на винте лишними не будут.
Возможно, нужно изменить размер страницы?
...
Рейтинг: 0 / 0
26.08.2009, 17:25
    #36164578
MBG
MBG
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLite. Помогите плз разобраться с размером БД
Если вы готовы втрое потерять в производительности ради экономии 10% места на диске, поставьте размер страницы 1кб.

P.S. Интересно, что вам мешает использовать сжатие данных. Экономия будет раз в 10, если не выше, в зависимости от содержимого.
...
Рейтинг: 0 / 0
27.08.2009, 13:46
    #36166141
Sanctor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLite. Помогите плз разобраться с размером БД
MBG,
спасибо за ответ

значит, таки размер страницы.

а как в SQLite можно задействовать сжатие данных
...
Рейтинг: 0 / 0
27.08.2009, 15:27
    #36166407
PPA
PPA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLite. Помогите плз разобраться с размером БД
SanctorMBG,
а как в SQLite можно задействовать сжатие данных

+1 и как это сказывается на производительсности?
...
Рейтинг: 0 / 0
27.08.2009, 18:03
    #36166814
MBG
MBG
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLite. Помогите плз разобраться с размером БД
Размер страницы не имеет смысла ставить отличным от размера блока ФС. В линуксе стандартный размер блока для ext3 равен 4 кб.

Сжатие реализуется функциями или измененной прослойкой управления страницами памяти.
Первый вариант можете взять из моего deb-репозитория
http://mobigroup.ru/page/debian
или здесь
http://mobigroup.ru/files/sqlite-ext/compress/

Использован zlib-алгоритм, что при сжатии и распаковке дает прирост скорости за счет значительного уменьшения IO при небольшом увеличении нагрузки на процессор.
...
Рейтинг: 0 / 0
27.08.2009, 18:24
    #36166857
Sanctor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLite. Помогите плз разобраться с размером БД
а, ясно
такое уже используется
...
Рейтинг: 0 / 0
Форумы / SQLite [игнор отключен] [закрыт для гостей] / SQLite. Помогите плз разобраться с размером БД / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]