Размер базы данных

Главные вкладки

Аватар пользователя Psymax2007 Psymax2007 31 августа 2007 в 9:26

Здравствуйте.
Недавно решил перейти на drupal. Долго разбирался, добился того чего хотел от сайта. Но теперь вот возник такой вопрос: При добавлении текста размером в 20 кб размер базы данных увеличивается примерно на 100-300кб
Это я где-то накосячил или это нормально?
Из сторонних модулей использую:

  • extlink
  • cck
  • db_maintenance
  • devel
  • extlink
  • similarterms
  • views

Таксономия не сложная: два словаря по 10 терминов, индексацию для поиска еще не производил...

Сколько занимает база drupal.ru (если это не военная тайна). А то может мне тариф пора у хостера менять...

Комментарии

Аватар пользователя ultraboy@drupal.org ultraboy@drupal.org 31 августа 2007 в 11:36

Настораживает, что данные дублируются в таблице SEARCH_INDEX (очень большой размер таблицы получается...). Но, видимо, такая уж логика поиска получается..

Аватар пользователя coil coil 31 августа 2007 в 10:35

естественно оптимально делать через командную строку
Жаль только не на всех хостингах это возможно

Аватар пользователя lexaural lexaural 31 августа 2007 в 11:39

Кстати а в связи с размером БД - можно както отказаться от "версионности" (убрать предыдушие копии страницы - "проследить" и т.д)?

Аватар пользователя axel axel 31 августа 2007 в 14:40

Следует помнить, что кроме непосредственно данных в общем случае примерно половину размера занимают индексные данные для таблицы. Индексы служат для быстрого поиска по данным. В друпале тоже есть своя индексация контента для той же цели - для ускорения поиска по контенту сайта. Также обработанные данные нодов (html после обработки фильтров) попадают в таблицы кеша. Всё это добавляет размера базе, пугаться не нужно.

При регулярной записи/удалении со временем данные в файлах БД начинают располагаться с пропусками. Из-за особенностей хранения пустые места всё равно занимают дисковое пространство. Тогда нужно делать процедуру оптимизации (OPTIMIZE) для таблиц - обычно этого требуют таблицы кеша и сессий.

На drupal.ru phpmyadmin не доступен сейчас, поэтому посмотреть сколько занимают данные БД не могу. Места на диске непосредственно под файлы таблиц данных и файлы индексов занято 570Мб.

Аватар пользователя jason32 jason32 31 августа 2007 в 15:03

для начала неплохо бы оптимизировать таблицы, например хотя бы через phpmyadmin, а потом считать. Потом, если поиска на сайте нет - можно очистить поисковые таблицы и обязательно почистить watchdog - там иногда пару сотен мегов скапливается. Иногда такое же бывает в таблице access - здесь надо проверить, надо это, нет, если нет - то тоже очистить...

Аватар пользователя axel axel 1 сентября 2007 в 15:58

На сервере с drupal.ru я применил радикальный метод Smile - поскольку юзеры (неважно друпаловских сайтов или нет) забывают регулярно оптимизировать свои базы (а потом интересуются, чё это у них сайт медленно работает? - а там базы по паре гигов уже), то в кроне стоит отключение mysql (и вебсервера) раз в сутки, во время минимального трафика - ранним утром. После остановки сервисов по всем файлам БД проходит утилита myisamchk (учитывая, что практически все таблицы в базах у меня myisam), которая во-первых восстанавливает сбойные таблицы, во-вторых проводит оптимизацию. Этого достаточно, чтобы содержать базы консистентными и минимальными по размеру - за сутки они не успевают сильно разрастись в размерах.

Аватар пользователя B.X B.X 4 сентября 2007 в 21:55

"тоже обратил внимание на быстрое раздувание базы,
как оптимально при таких размерах делать backup/restore?"

оптимально получится только с Sypex Dumper - http://sypex.net/
или с программными аналогами, но не все открывают доступ к mysql для них...