Как правило, выбор на основе строки темы должен быть быстрее. Побочный эффект выбора темы в кластере WebSphere MQ заключается в том, что сообщения не распространяются на узлы сети, которые их не используют. В WMQ V6 селекторы сообщений реализованы на клиенте, поэтому приложение по-прежнему получает каждое сообщение, а видит только те, которые соответствуют критериям выбора. В WMQ V7 QMgr выполнит выбор, но сообщение должно попасть в QMgr, чтобы это произошло. Таким образом, если каждый клиент подписан на одну и ту же тему, сообщения будут перенаправляться на каждый QMgr, к которому подключен клиент. Но если клиенты подписываются в гранулярных точках дерева тем, сообщения будут отправляться только на узлы, на которые что-то подписано.
Помимо распределения, вопрос выбора темы или свойства сильно зависит от таксономии. Структура дерева тем должна обеспечивать детализацию в соответствии с логической иерархией данных, но, в отличие от файловой системы, нет никаких «мягких ссылок», позволяющих наложить альтернативные структуры внутри дерева. Это простая иерархия.
Во многих случаях существуют элементы данных, которые, если они используются в дереве темы, нарушают таксономию, и все же они необходимы для выбора. Это кандидаты на недвижимость.
Элементы темы, как правило, носят более категоричный характер. Такие элементы, как регион, МВЗ, номер отдела, номер филиала, как правило, попадают в деревья тем, поскольку они служат для разделения данных в соответствии с категориальными бизнес-требованиями.
Поэтому, как правило, используйте темы для тех вещей, по которым вы можете суммировать транзакции. Они обычно соответствуют существующим и естественным таксономиям, которые вы уже используете для определения своего бизнеса. Например, отдел или центр затрат - это два общих элемента. Если вы можете легко представить отчет с разбивкой по этому значению, это может быть элемент темы. «Покажите мне все транзакции из ветви 01234» является примером. Используйте свойства для вещей, которые являются атрибутами определенных транзакций, а не категорий. Примеры здесь будут включать цвет или цену. Скорее всего, «покажи мне все транзакции для синих элементов» звучит неправильно, потому что синий не является категориальным элементом и, следовательно, вероятно, не является хорошим кандидатом для дерева тем. (Если только вы не занимаетесь красками!)