Новостной движок позволяет проводить ревизию БД

Posted by: Rumba
Date: Sat, 12 Jan 1980 09:29:53
Tags: движок сайта движек оптимизация управление сайтом cms системы новостной База данных

Я пригласил вас, господа, с тем, чтобы сообщить вам пренеприятное известие: к нам едет ревизор.
© Н.В.Гоголь

В новой версии Rumba News 0.9а появилась ранее нигде не виданная функция в разделе администрирования - ревизия базы данных (людям с экономическим образованием это слово может резать слух). Необходимо в двух словах разъяснить, как же пользоваться (и когда) этой кнопкой, дабы в определенный момент не повторять позу городничего в виде столба, с распростертыми руками и запрокинутой назад головою из немой сцены бессмертного творения Николая Васильевича Гоголя (см. эпиграф).

Для начала рассмотрим, как работает база, и тогда будет понятно, почему ревизия может потребоваться в принципе. Представим, что у нас в базе три статьи (вариант 1):


  1. Статья_1ХХХХХ

  2. Статья_2ХХХХХ

  3. Статья_3ХХХХХ


В этом примере буквой Х обозначены пробелы, зарезервированные самой БД (мы то добавляли только саму статью). Теперь мы решили отредактировать статью 2 с переносом в начало (и также поступает скрипт с записью комментариев к статье при добавлении комментария). Т.е. база выполняет команду rewrite (не путать с replace). Теперь база будет выглядеть так (вариант 2):

  1. Статья_1ХХХХХХХХХХХХХХХХХХ

  2. Статья_3ХХХХХ

  3. Статья_2ХХХХХ


Что же произошло? БД освободила место, занимаемое записью номер 2 и добавила его к записи номер 1 (это 8 знаков букв плюс пять пробелов). Таким образом, размер базы увеличился на 13 знаков. Значит, размер базы постепенно растет (с подачи команды rewrite). Однако если эта команда проводится нечасто, то ничего страшного в этом нет, в конечном итоге, 10 мегабайт размером или 12 - особой разницы нет). Мало того, раздувание базы может иметь даже положительную роль. Например, представим, что статью 1 мы решили отредактировать (не меняя её порядкового места, через replace - для обычной правки статьи это норма). Мы дописываем фразу * - интересная*. Теперь база будет выглядеть так (вариант 3):

  1. Статья_1 - интереснаяХХХХХ

  2. Статья_3ХХХХХ

  3. Статья_2ХХХХХ


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

Однако представим, что слово *интересная* мы не добавляли, и решили провести ревизию. База переберёт все записи удалит лишние пробелы, и мы получим (вариант 4):

  1. Статья_1ХХХХХ

  2. Статья_3ХХХХХ

  3. Статья_2ХХХХХ


Таким образом *разбухание* базы исчезает и база приводится к нормальному состоянию, что и требовалось.

Теперь вернемся к Rumba News и попробуем разобраться, как часто надо проводить ревизию БД. Итак, сначала о базе статей - если вы функцией rewrite при редактировании почти не пользуетесь (для обычных правок , безе переноса статей нужна replace), то можете не проводить ревизию никогда. Для базы комментариев - если комментарии достаточно часты на вашем сайте (десяток - другой в день), то раз в недельку проводите ревизию (удобно рано утром, когда комментарии не сыпятся, как из рога изобилия). Хотя реально можно проводить и раз в месяц. Если же вы создали высокопосещаемый интернет-ресурс (честь вам и хвала), то ежедневная *уборка мусора* пусть станет частью регламентных работ наряду с модерированием комментариев (под ритмы Rumba).

Смотри также:


Комментарии и WYSIWYG редактор Rumba News 0.8a  Новое в КМС (CMS) версии 1.8 - Rumba продолжает развиваться  Работа CMS с большими массивами информации  Лучший новостной движок Румбы  Быстрая новость Rumba 





Комментарии


webbat

Fri, 18 Dec 2009 06:57:12

Спасибо за ответ!


Маэстро

Thu, 17 Dec 2009 13:52:34

Подтверждаю, адреса не изменить на адреса без префикса page_ Если есть желание экспериментировать на эту тему, то тогда уж просто меняйте page на какой-ниудь подходящий вашей тематике ключевик, например seo или sape ))


Дмитрий

Thu, 17 Dec 2009 17:29:11

Уважаемый webbat.Если Маэстро разрешит, я ЕЩЁ РАЗ отвечу на ваш вопрос.Через два коммента от моего ниже:"Адреса не изменить!","...для этого надо править .htaccess и КОД "От себя: имеется в виду код движка, такова его структура...


webbat

Fri, 18 Dec 2009 07:14:45

Уже третий день жду ответа. Спасибо, вы очень любезны ...


webbat

Fri, 18 Dec 2009 00:29:13

я тут удалил "page" пока не работает, где еще подправить?config.php$prefiks='page';.htaccessRewriteRule ^page_(.+)\.html$ index.php?event=page&zapros=$1


Маэстро

Thu, 17 Dec 2009 22:35:14

Адреса не изменить, для этого надо править htaccess и код. По поводу ревизии - она генерирует нагрузку (что и понятно) - возможно, сайт у вас очень большой, и времени выполнения 30 секунд (стандарт на хостингах) не хватило. Но прежде оттестируйте всё на Денвере, может быть ваша база содержит ошибки?


AS

Thu, 17 Dec 2009 20:48:47

Я кстати у себя на хостинге, (avihost) эту волшебную кнопку нажал и сайт повис))


webbat

Thu, 17 Dec 2009 10:08:40

Подскажите пожалуйста, как у движка убрать в структуре ссылок "page_" http://rumba/page_xmleditor.htmlИдеально вот так http://rumba/xmleditor.htmlчтоб урлы были без "page_"


Верещагин

Thu, 17 Dec 2009 14:23:08

Это кое-что обьясняет, спасибо.


Инженер

Tue, 09 Mar 2010 11:15:49

Теперь странички навсегда будут без префикса page_ или в перспективе другие изменения? Я хочу апгрейдить свой сайт на Rumba News, но адреса при этом у меня старого типа, не хочется лишний раз менять адреса туда-сюда


AS

Tue, 09 Mar 2010 12:48:40

Так можно же, через htacces простенький редирект сделать и все.


geomineral.ru

Thu, 08 Jun 2017 11:20:27

Плагины, как правило, имеют массу различных настроек и опций. MaxSite CMS полностью берёт на себя всю работу по хранению, обновлению и организации опций.


Комментировать


Ваше имя
Ваша почта
Ваш сайт
Рассылка комментариев





Ввести код:


    Сгенерировано
    Rumba News v.1.0a
    за 0.485186 сек.