Solution Technologies
Управление сайтом без ограничений
Управление контентом
Всегда быть актуальным? Оперативно реагировать в любых ситуациях?
Работать с сайтом удобно, просто и доступно

Пресс-центр | Пресс-релизы

Солютекс, 12.11 '2007

Новые возможности модулей

Компания «Солютекс» объявляет о новых возможностях структуры модулей XS2 Framework, которые теперь могут работать как в «старом», традиционном, режиме Nested Sets (вложенные множества) так и в новом Id/Parent (списки смежности), позволяющем на порядки увеличить скорость вставки в случаях, когда количество объектов в деревьях превышает 200-250 тысяч единиц.

«Мы ценим доверие наших клиентов и разработчиков, поэтому уделяем много внимания обратной совместимости XS2 API. Это нововведение, разумеется, как и все предыдущие обновления ядра XS2 Framework, пройдет незаметно для функциональности уже существующих проектов, хотя, безусловно, будет очень полезным при проектировке новых систем, предполагающих хранение большого количества объектов в деревьях модулей», говорит Виктор Ясиновский, IT-директор компании «Солютекс», — «В XS2 исторически существовал только один — NS-подход к структурам деревьев модулей. Теперь разработчик может сам в любой момент времени выбрать, какой из двух наиболее популярных механизмов подходит для максимально эффективного решения поставленной перед ним задачи, разумеется, при этом все функции XS2 API работают одинаково».

При использовании в деревьях структуры Nested Sets (вложенные множества) сильно упрощается выборка определенных элементов дерева, таких как родительская ветка, подчиненные узлы, ветка, в которой участвует узел и т.д., но при этом операции изменения дерева (вставка и перемещение) весьма трудоемкие. Напротив, для деревьев со списками смежности (Id/Parent) операции выборки веток и колена трудоемки (рекурсивные запросы), а вставки и операции над деревом весьма просты.

Тип операции над деревом Nested Sets Id/Parent
Прямая выборка детей Да Да
Прямая выборка поддерева (всех потомков) Да Нет, рекурсия
Прямая выборка пути от узла до корня (всех предков) Да Нет, рекурсия
Быстрое определение количества всех потомков узла Да Нет, рекурсия
Быстрое определение уровня Да Нет, рекурсия
Порядок следования узлов при сортировке Да Нет
Быстрая вставка новых узлов Нет Да
Быстрое перемещение поддерева Нет Да
Быстрое удаление поддерева Да Да, каскадное
Дополнительная поддержка целостности Нужна Не нужна

«По сути дела ничего не меняется, просто теперь у разработчика появилась возможность в любой момент менять тип деревьев модуля. То есть, если модуль предполагает хранение небольших объемов информации и при этом весьма важна скорость выборки «колен» (подчиненных узлов), то имеет смысл традиционный для XS2 подход — структура вложенных множеств. Если же для модуля важна скорость вставки объектов, то имеет смысл использовать тип дерева Id/Parent (списки смежностей). Это может быть очень полезным и эффективным решением, например, в системах документооборота или больших www-конференциях», говорит Арсений Лебедев, руководитель отдела R&D компании «Солютекс».

Новости

26.03 '2008
11.01 '2008
23.11 '2007
05.09 '2007
05.06 '2007

Пресс-релизы

12.11 '2007
27.06 '2007
Copyright ©1998-2008 Солютекс. Все права защищены.
Этот сайт сделан в designLab | Работает на технологии XS2
Условия использования | О защите конфиденциальности