Форум русской поддержки Joomla!® CMS
05.12.2016, 08:35:33 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Многократное распухание базы данных из-за UCM (Unified Content Model — версии контента в Joomla 3.x)

 (Прочитано 3665 раз)
0 Пользователей и 1 Гость смотрят эту тему.
ZHart
Joostina
*****

Репутация: +53/-2
Offline Offline

Пол: Мужской
Сообщений: 335



« : 16.02.2014, 16:05:08 »

Поискав по форуму, я с удивлением для себя обнаружил, что эта тема еще не обсуждалась.
А ведь серьезная тема — в Joomla (начиная с версии 3.2) появился функционал, позволяющий хранить историю изменения статей (как в wiki) и при желании откатываться на более ранние версии.

Потенциально возможность интересная, только вот на практике (во всяком случае для меня) она вылилась проблемой.
Узнал я об этой великой возможности после того, как на одном из сайтов база данных вдруг начала раздуваться до неимоверных размеров.
Почему?
Да потому, что:
Во-первых, по умолчанию сохраняются последние 10 версий статьи, что довольно-таки немало.
Во-вторых, сами статьи в БД хранятся как положено в кириллице, а вот сохраненные версии почему-то хранятся в кодах Unicode (типа «\u0440\u0435\u043c\u043e\u043d\u0442» вместо шестибуквенного слова). Итого база распухает еще в 6-7 раз.

Я не разбирался в механизме, но если все версии контента хранятся целиком, то получаем увеличение БД в 60-70 (!) раз. Даже если данные сохраняются не полностью, распухание все равно будет очень существенным. Например, в моем случае таблица _ucm_history занимает около 95% от общего объема БД, и это при том, что сайт новый и статьи после создания почти не редактировались.

На большинстве моих сайтов версионность в принципе не нужна, и думаю, что не один я такой.
Версионность контента легко можно отключить в настройках материалов на вкладке «Форма редактирования» (Сохранять историю -> Нет).
Но вот вопрос — как корректно поудалять уже существующую сохраненную историю изменения статей?
Странно, но в настройках возможности пакетной чистки не предусмотрено (или я плохо искал), а удалять вручную версии в каждой статье — слишком долго и напоминает мартышкин труд.
Можно ли просто удалить таблицы «_ucm_base», «_ucm_content», «_ucm_history»? Или есть более корректный способ очистки?
Записан
b2z
Support Team
*****

Репутация: +708/-0
Offline Offline

Пол: Мужской
Сообщений: 7517


Разраблю понемногу


« Ответ #1 : 16.02.2014, 19:51:44 »

Насчет пакетной очистки не знаю, но вот удалять таблицы «_ucm_base», «_ucm_content», «_ucm_history» нельзя. А вот очистить данные из них по моему можно.
Записан
ZHart
Joostina
*****

Репутация: +53/-2
Offline Offline

Пол: Мужской
Сообщений: 335



« Ответ #2 : 16.02.2014, 21:08:15 »

«По моему» — звучит как-то неуверенно Azn
Пускай не удалять таблицы целиком, пускай почистить — могу ли я это сделать безболезненно, не опасаясь за стабильность работы сайта?

P.S.: Ручная очистка таблиц — странный способ обслуживания современной дружественной CMS. Также сомневаюсь, что меня одного смущает увеличение базы в 60-70 раз на пустом месте. Видимо, Joomla 3.2 пока еще слишком свежа и мало людей успели ей попользоваться или заметить эту чудесную особенность. Надеюсь, эти недостатки со временем будут устранены.
Записан
b2z
Support Team
*****

Репутация: +708/-0
Offline Offline

Пол: Мужской
Сообщений: 7517


Разраблю понемногу


« Ответ #3 : 17.02.2014, 10:48:54 »

Конечно неуверенно, потому что я не пользуюсь версионностью... Попробуй задать фопрос на forum.joomla.org.
Записан
ZHart
Joostina
*****

Репутация: +53/-2
Offline Offline

Пол: Мужской
Сообщений: 335



« Ответ #4 : 17.02.2014, 12:25:17 »

Хорошо, попробую.
А версионностью я тоже не пользуюсь. Только у меня об этом не спросили, в Joomla 3.2 она активирована по дефолту. Тоже странно кстати, могли бы по умолчанию оставить эту опцию неактивной.
Записан
b2z
Support Team
*****

Репутация: +708/-0
Offline Offline

Пол: Мужской
Сообщений: 7517


Разраблю понемногу


« Ответ #5 : 17.02.2014, 12:27:15 »

Вот это уже хороший вопрос. Можно поднять бучу на том же org, чтобы по дефу была отключена, раз она так базу сжирает.
Записан
noszone
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 59


Люблю Жумлу и ненавижу...


« Ответ #6 : 18.03.2014, 09:53:55 »

Все таки нашёл этот параметр. Компоненты-Метки-Настройки. Каким боком управление версиями попало в раздел Метки.
А нет, это относится к меткам, а материалы в Менеджере материалов - Настройки - Форма редактирования
« Последнее редактирование: 18.03.2014, 10:38:53 от noszone » Записан
voland
Профи
********

Репутация: +487/-86
Offline Offline

Пол: Мужской
Сообщений: 8704


любит наш народ всякое гавно...


« Ответ #7 : 18.03.2014, 11:55:17 »

Вот это уже хороший вопрос. Можно поднять бучу на том же org, чтобы по дефу была отключена, раз она так базу сжирает.
Не надо буч, хорошая фича именно для многих новичков.
Я еще в 2.5 через плагин юзал.
Записан
AlekVolsk
Профи
********

Репутация: +316/-3
Offline Offline

Пол: Мужской
Сообщений: 6453



« Ответ #8 : 18.03.2014, 22:57:23 »

Очистить таблицы можно безболезненно, но только после отключения версионности, хотя они сами при этом очиститься должны.
Непонятно, чем именно полезна эта фишка именно новичкам.

И кстати, хорошую русскую доку по таблицам J где можно почитать?
« Последнее редактирование: 18.03.2014, 23:00:50 от AlekVolsk » Записан
Очередной вебмастер
Завсегдатай
*****

Репутация: +54/-0
Online Online

Пол: Мужской
Сообщений: 790


лысый умный дядя


« Ответ #9 : 19.03.2014, 01:08:17 »

И кстати, хорошую русскую доку по таблицам J где можно почитать?
Вот и мне интересно... Давно ищу.
Записан
b2z
Support Team
*****

Репутация: +708/-0
Offline Offline

Пол: Мужской
Сообщений: 7517


Разраблю понемногу


« Ответ #10 : 19.03.2014, 11:10:24 »

Не такой. А что интересует, там вроде бы все интуитивно понятно, может быть за исключением новых UCM таблиц.
Записан
bgg87
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 141



« Ответ #11 : 15.04.2016, 23:37:09 »

Очистить таблицы можно безболезненно, но только после отключения версионности, хотя они сами при этом очиститься должны.
Подскажите почему после отключения, таблица _ucm_history так и не очистилась?
Если выполнить вручную очистку, то на сколько это безопасно?
Записан
filars
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 1


« Ответ #12 : 18.07.2016, 14:40:43 »



Так вроде проще чем через php.
« Последнее редактирование: 18.07.2016, 14:50:46 от filars » Записан
Sulpher
Практически профи
*******

Репутация: +385/-15
Offline Offline

Пол: Мужской
Сообщений: 2208


Шаблоны и расширения Joomla


« Ответ #13 : 20.07.2016, 13:20:35 »

Очистить таблицы можно безболезненно, но только после отключения версионности, хотя они сами при этом очиститься должны.
Это проверенная информация (таблицы чистятся после отключения параметра) или все же руками нужно очищать таблицу?
Записан
ZHart
Joostina
*****

Репутация: +53/-2
Offline Offline

Пол: Мужской
Сообщений: 335



« Ответ #14 : 20.07.2016, 14:03:18 »

Так вроде проще чем через php.

Во-первых, не php, а MySQL, а во-вторых:

Странно, но в настройках возможности пакетной чистки не предусмотрено (или я плохо искал), а удалять вручную версии в каждой статье — слишком долго и напоминает мартышкин труд.
Записан
zahar_92
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 95



« Ответ #15 : 31.08.2016, 14:50:38 »

Это проверенная информация (таблицы чистятся после отключения параметра) или все же руками нужно очищать таблицу?
Сами таблицы не чистятся. После отключения функции, очистил вручную. Пока проблем не наблюдаю.
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet