Recomendações com dados hierárquicos em bancos de dados não relacionais?

Estou desenvolvendo um aplicativo Web que usa um banco de dados não relacional como back-end (django-nonrel + AppEngine). Preciso armazenar alguns dados hierárquicos (projetos / subprojeto_1 / subprojeto_N / tarefas) e estou imaginando qual padrão devo usar. Por enquanto, pensei em:

Lista de adjacências (armazene o ID pai do item)Conjuntos aninhados (armazene os valores esquerdo e direito do item)

No meu caso, a profundidade do aninhamento para um usuário normal não excederá 4-5 níveis. Além disso, na interface do usuário, eu gostaria de ter uma paginação para os itens no primeiro nível, para evitar carregar muitos itens no carregamento da primeira página.

Pelo que entendi até agora, conjuntos aninhados são ótimos quando a hierarquia é usada mais para exibição. As listas de adjacência são ótimas quando a edição na árvore é feita com frequência. No meu caso, acho que preciso exibir mais do que a edição (ao usar conjuntos aninhados, mesmo que a exibição funcione bem, a paginação acima pode complicar as coisas na edição).

Você tem algum pensamento e conselho, com base na sua experiência com os bancos de dados não relacionais?

questionAnswers(2)

yourAnswerToTheQuestion