Перейти на форум
Уведомления
Очистить все

снова про размеры базы

392 Посты
97 Пользователи
6 Реакции
56.1 Тыс. Просмотры
barbeysize
Зарегистрирован: 27.06.2008

когда-то уже создавал подобную тему. есть база в хм, есть папка с базами на винте. папка на винте весит много больше чем все мои хх.

раньше я думал, что это может быть из-за того, что у меня несколько баз ну и типа какие-то побочные данные хранятся.

потом я переставлял хм и постгре, при этом делал полные реимпорт всех хх (экспорт из хм и импорт в новый хм с новым посгре). так вот, все хх весят 3 гига, а база посгре весит 15. где справедливоть? как уменьшить?


Ответить
Цитата
391 ответ
vpmarat
Зарегистрирован: 22.01.2008

Справедливость устанавливается так:
1. Прибей (руками) логи Постгри, которые лежат в папке data\pg_log, но саму папку не трогай. Если операционка не дает удалить - временно останови сервис.
2. Чтобы она логи больше не писала (а они - лишние для нас), отключи ету опцию в настройках Постгри (logging_collector = off) вот так:

(открыть файлик postgresql.conf на редактирование еще можно через Пуск -Программы-PostgreSQL-Конфигурационные файлы)
3. После етого сделай вакуум базы, а потом еще и реиндексацию (удобнее через PGAdmin, раскрыв дерево, подключившись к нужной базе и по правому клику выбрав пункт Техобслуживание). UPD: в новых версиях ХМ для етого есть Optimize в меню database management.
Картинка PGadmin

4. Если покажется мало - удали из базы сдачи (какие не жалко). Options > Settings - Observed HH configuration - кнопка Purge HH options. Оно собственно истории выкинет, а статистика от них останется. Только посмотреть ты их потом в реплейере не сможешь. Экономится процентов 12-15 дискового пространства. Можно удалить только часть (есть возможность отбора по разным критериям). Полная инструкция на английском здесь.
Осторожно! В ХМ есть и другая опция (Options - Settings Purge hands), которая, в отличие от вышеописаной, СОВСЕМ удаляет и руки, и статистику от них! Не перепутайте.
4а. Что касается ПТ и Слона, то удаление сдачи из базы удаляет и статистику от нее тоже. После удаления сдач (в любой из трех программ) необходимо проделать вакуум базы и реиндекс.
5. А потом, после всего - дефрагментацию диска, на котором лежит папка Data. Причем, опять же, при остановленном сервисе Постгри. Лучше делать более серьезным средством, чем встроенный в Винду дефрагментатор. Например, http://technet.microsoft.com/en-us/sysinternals/bb897428.aspx
6. После чего перегрузить комп - все само включится.

Вопрос актуальный, внес в FAQ


Ответить
Цитата
barbeysize
Зарегистрирован: 27.06.2008

помоему все эти действия и пол процента места не освободят :f_confused:

вообще меня просто удивляет как рука попадая в базу начинает занимать в 5 раз больше места...


Ответить
Цитата
vpmarat
Зарегистрирован: 22.01.2008

ты удивишься, посмотрев размеры тех логов

а история руки, попадая в базу, подвергается "прожевыванию" в виде подсчетов и записывания всех возможных статов (ето кроме самой истории, которая тоже в базе хранится)


Ответить
Цитата
barbeysize
Зарегистрирован: 27.06.2008

ну что, удалил я логи на 300 метров, сделал вакуум и реиндекс. теперь база весит 13,9 вместо 14,7. как мертвому припарка :)


Ответить
Цитата
vpmarat
Зарегистрирован: 22.01.2008

ну удали часть рук
только сделай бекап базы средствами Pgadmin перед етим (на всякий случай)


Ответить
Цитата
foocks
Зарегистрирован: 09.09.2008

Оригинал пользователя barbeysize
помоему все эти действия и пол процента места не освободят :f_confused:

вообще меня просто удивляет как рука попадая в базу начинает занимать в 5 раз больше места...

не знаю - не знаю - я удалил логи - освободилось 6 гиг, это меня явно порадовало.


Ответить
Цитата

Убил логи... -8 ГБ ! Спасибо ! :grin:


Ответить
Цитата

Оригинал пользователя barbeysize
ну что, удалил я логи на 300 метров, сделал вакуум и реиндекс. теперь база весит 13,9 вместо 14,7. как мертвому припарка :)
я полностью согласен, в ХМ удалил все руки которые не свзяаны со мной(меняю рум, думал удалится майнинг, о да...) осободились копейки, логи выключены, сделал вакум ... и ? особождаются копейки! я вот не понимаю если я удалил все руки со мной не связанные то как моя хэнд хистори на 10к рук сыгранна мной может занимать 10гб?


Ответить
Цитата
vpmarat
Зарегистрирован: 22.01.2008

там сам текст истории сдачи (а он хранится в базе) может несколько килобайтов занять.
Оптимально удалить сами истории вообще все, а статистику оставить (см п. 32 из faq )


Ответить
Цитата

Оригинал пользователя vpmarat
там сам текст истории сдачи (а он хранится в базе) может несколько килобайтов занять.
Оптимально удалить сами истории вообще все, а статистику оставить (см п. 32 из faq )

не подскажешь как такое вот провернуть? удалить историю штоб осталась только одна статистика?


Ответить
Цитата
vpmarat
Зарегистрирован: 22.01.2008

идешь в faq п. 32 и видишь там подпункт 4 - все написано
я такое каждый месяц проделываю. Зачем мне текст сдачи, в которой меня переехали? Только в тильт вводит _biggrin:
А статы остались


Ответить
Цитата
dubo4eg
Зарегистрирован: 30.01.2009

А покупка винта на терабайт-два не помогла бы?


Ответить
Цитата

Оригинал пользователя dubo4eg
А покупка винта на терабайт-два не помогла бы?

Если есть деньги, ради бога.


Ответить
Цитата

Оригинал пользователя vpmarat
идешь в faq п. 32 и видишь там подпункт 4 - все написано
я такое каждый месяц проделываю. Зачем мне текст сдачи, в которой меня переехали? Только в тильт вводит _biggrin:
А статы остались

эта процедура кроме того што уменьшат размер базы, на што-нибудь еще влияет? может производительность увеличивается и ХМ шустрее работать начинает или нет?


Ответить
Цитата
vpmarat
Зарегистрирован: 22.01.2008

по идее - чем меньше и компактнее база, тем быстрее из нее берется инфа


Ответить
Цитата
Bonifacius
Зарегистрирован: 27.09.2007

Логов было на 40 с лишним гигабайт. На диске занимали, правда, только 18, но всё равно...


Ответить
Цитата
Pe4orin
Зарегистрирован: 25.11.2008

Уточнить хочу.. я, во-первых, перенесу на другой диск, потом удалю логи, отключу их производство.. правильно?

а дальше:
1) что даёт обработка этого вакуума, или как это называется? что происходит при этом?
2) удалить ненужные руки - это, например, нл10-100 мне совсем уже не нужны, и тогда мне их удалить прямо из ХМ?


Ответить
Цитата
ReF1ex
Зарегистрирован: 17.04.2009

Да Печёрин, в ХМе если ты их удалиш, они на самом деле пометятся как удалённые, потом делаешь вакуум и тогда строки вырезаются из файлов и освобождаются свободные ячейки…


Ответить
Цитата
Pe4orin
Зарегистрирован: 25.11.2008

то есть, правильно я понял, что вакуум этот делать бессмысленно, если не удалял никакие руки, и что эта процедура относится только к тому случаю, когда я вручную что-то удалил, или же она ещё что-то решает?


Ответить
Цитата