Здравствуйте.
Недавно решил перейти на drupal. Долго разбирался, добился того чего хотел от сайта. Но теперь вот возник такой вопрос: При добавлении текста размером в 20 кб размер базы данных увеличивается примерно на 100-300кб
Это я где-то накосячил или это нормально?
Из сторонних модулей использую:
- extlink
- cck
- db_maintenance
- devel
- extlink
- similarterms
- views
Таксономия не сложная: два словаря по 10 терминов, индексацию для поиска еще не производил...
Сколько занимает база drupal.ru (если это не военная тайна). А то может мне тариф пора у хостера менять...
Комментарии
У меня больше 350MB, для более чем 55000 нод
Очень примерно 6,0 Кб на запись - вполне даже компактно...
Настораживает, что данные дублируются в таблице SEARCH_INDEX (очень большой размер таблицы получается...). Но, видимо, такая уж логика поиска получается..
тоже обратил внимание на быстрое раздувание базы,
как оптимально при таких размерах делать backup/restore?
естественно оптимально делать через командную строку
Жаль только не на всех хостингах это возможно
Кстати а в связи с размером БД - можно както отказаться от "версионности" (убрать предыдушие копии страницы - "проследить" и т.д)?
да, мне это тоже не нравится, тоже хотел бы узнать
это ж не вики все таки
А что за таблица cache_filter
У меня она больше всего жрет места.
Следует помнить, что кроме непосредственно данных в общем случае примерно половину размера занимают индексные данные для таблицы. Индексы служат для быстрого поиска по данным. В друпале тоже есть своя индексация контента для той же цели - для ускорения поиска по контенту сайта. Также обработанные данные нодов (html после обработки фильтров) попадают в таблицы кеша. Всё это добавляет размера базе, пугаться не нужно.
При регулярной записи/удалении со временем данные в файлах БД начинают располагаться с пропусками. Из-за особенностей хранения пустые места всё равно занимают дисковое пространство. Тогда нужно делать процедуру оптимизации (OPTIMIZE) для таблиц - обычно этого требуют таблицы кеша и сессий.
На drupal.ru phpmyadmin не доступен сейчас, поэтому посмотреть сколько занимают данные БД не могу. Места на диске непосредственно под файлы таблиц данных и файлы индексов занято 570Мб.
для начала неплохо бы оптимизировать таблицы, например хотя бы через phpmyadmin, а потом считать. Потом, если поиска на сайте нет - можно очистить поисковые таблицы и обязательно почистить watchdog - там иногда пару сотен мегов скапливается. Иногда такое же бывает в таблице access - здесь надо проверить, надо это, нет, если нет - то тоже очистить...
Нужно скрипт сделать в http://docs.drupal.ru/doc/modul_actions_0 и на cron повесить
На сервере с drupal.ru я применил радикальный метод - поскольку юзеры (неважно друпаловских сайтов или нет) забывают регулярно оптимизировать свои базы (а потом интересуются, чё это у них сайт медленно работает? - а там базы по паре гигов уже), то в кроне стоит отключение mysql (и вебсервера) раз в сутки, во время минимального трафика - ранним утром. После остановки сервисов по всем файлам БД проходит утилита myisamchk (учитывая, что практически все таблицы в базах у меня myisam), которая во-первых восстанавливает сбойные таблицы, во-вторых проводит оптимизацию. Этого достаточно, чтобы содержать базы консистентными и минимальными по размеру - за сутки они не успевают сильно разрастись в размерах.
ultraboy@drupal.org, много, а что за сайт?
тот что в моем профиле
ultraboy@drupal.org, нодов много, камментов и юзеров практически нет. Это «грабиться» откуда-то все?
"импортится", понятное дело
"тоже обратил внимание на быстрое раздувание базы,
как оптимально при таких размерах делать backup/restore?"
оптимально получится только с Sypex Dumper - http://sypex.net/
или с программными аналогами, но не все открывают доступ к mysql для них...