Хранение деревьев в объектах

Нечто

Психолог РНРClub
Хранение деревьев в объектах

Привет!
Вчера наткнулся на проект CuteSITE. Там для хранения дерева "объектов" (документов, шаблонов и т.п.) используется object persistence - сериализованный объект дерева в базе.

Я бы хотел спросить, в чем плюсы такого подхода (для конкретной ситуации), и как этот способ хранения может повлиять на производительность при большом размере объекта.
Там, например, если на сайт добавляется новость, то запись о ней тоже хранится в дереве => имеем ~260 записей в год. Это нормально?
Если PHPClub посещает автор проекта, то вообще будет замечательно.
 

svdesign

Guest
Вообщето в CuteSITE не используется PODB, я начал делать PODB для создания CuteSITE следующего поколения. Но все никак не съеду полностью с CuteSITE нынешнего и продолжаю разрабатывать его. Ресурс у простой сериализации большого объекта еще имеется и есть над чем поработать :)

По вашему вопросу: 260 записей в год это немного :) Сайт не обрастет огромным количеством объектов, а годов через 5 вы скорее всего забудете о нем вообще. Реальные примеры, наши сайты, имеют очень большую (или глубокую) структуру объектов, и все прекрасно работает, время порядка 0.2-1 сек. для генерации страниц это не плохой показатель для таких сложных и в тоже время гибких сайтов.
http://www.symmetron.com.ua/
http://www.tobap.com.ua/

Вообще-то идеология работы с CuteSITE не предполагает хранить уж очень большое кол-во объектов в структуре сайта, такие вещи как "лента новостей", "публикации", "фото-галерея" по-правильному выносятся в плагины. Это есть и мы этим пользуемся. А когда объем данных и интенсивность их наполнения не предполагается быть большой мы все колбасим в простые объекты: папки, строки, тексты и т.п.
Для того я и занялся этими "вложенными множествами" чтобы сделать новый объект "Каталог", он будет находится где угодно в структуре сайта, он будет содержать какую угодно вложенную структуру, иметь возможность содержать данные разного рода. Это может быть новости, публикации, статьи, выпуски журналов или газет и т.п. Все это хранится прямо в mysql таблицах и поэтому кол-во информации, которую хранит каталог может быть сколько угодно много (в пределах возможностей MySQL :)) Самих объектов каталогов в структуре сайта также может быть сколько угодно.

И еще, вскоре мы собираемся открыть сайт CuteSITE (ссылка будет на http://sourceforge.net/projects/cutesitecms/) где будут раздаватся демо-снепшоты, немного пацаватая документация и все такое.
 

Нечто

Психолог РНРClub
svdesign, спасибо за развернутый комментарий!
Меня просто заинтересовало практическое применение OP в такого рода проектах.
вскоре мы собираемся открыть сайт CuteSITE
Буду следить =)
 
Сверху