Дерево произвольного количества нод на каждой ветке. Допустим, у каждой ноды есть какой-то набор какого-то добра, т.е. добро ноды на уровне k + 1 состоит из ее добра и добра всех ее предков.
Еще нужно эту структуру хранить как какую-то персистентнуюю опердень, но нет условия на конкретную реализацию - т.е., если будет удобно в mysql, то mysql, если имеется какое-то дерево, которое может быть персистентным, было бы отлично. Еще (опционально) было бы неплохо иметь возможность шардить.
Важно вот что - в любой предложенной реализации должна присутствовать возможность получить для ноды список всех предков при уловии, что у каждой ноды один родитель, что очевидно, до корня. (банально записать просто плоской структурой в sql не катит, ибо если у дерева высота 1к, то это 1к запросов - ну его). И второй ключевой момент - оязательна возможность перекидывать ноды (как по соседству, так и с уровня на уровень), и чтоб при этом их добро менялось в соответствии с новым положением, в т.ч. и добро их детей.
(добавил в теги «математика», ибо математики обычно и подстказывают годные идеи, но если вас зацепило - простите)