Это глобально? Я имею в виду, создает ли оно единое R-дерево для всех данных среди узлов кластера? Или это создает отдельное R-дерево для каждого узла кластера?
Отдельные деревья, по одному на узел.
Если R-дерево отдельно для каждого узла, то как оно выполняет пространственное соединение между узлами.
Полагаю, те же правила, что и для непространственных запросов. Если вы размещаете данные так, что строки, которые должны быть объединены, хранятся на одном и том же узле, тогда вы просто делаете локальные объединения. Если вы не размещаете данные вместе, вы должны использовать setDistributedJoins(true)
- это приведет к тому, что Ignite отправит все строки, которые проходят фильтры одной таблицы WHERE
, на узел запроса, а затем выполнит соединение там. См. на этой странице для получения подробной информации о размещенных и распределенных объединениях.
Мой последний вопрос, какова цель дерева B + здесь.
Первичный индекс и обычные вторичные индексы в Ignite являются B + -деревьями. Пространственные вторичные индексы - это R-деревья.