Estoy desarrollando una aplicación web que utiliza una base de datos no relacional como backend (django-nonrel + AppEngine). Necesito almacenar algunos datos jerárquicos (projects/subproject_1/subproject_N/tasks), y me pregunto qué patrón debería usar. Por ahora pensé:¿Recomendaciones con datos jerárquicos en bases de datos no relacionales?
- lista de adyacencia (guardar la identificación padre del elemento)
- conjuntos anidados (tienda de izquierda y los valores adecuados para el artículo)
En mi caso, la profundidad de anidamiento para un usuario normal no excederá de 4 a 5 niveles. Además, en la interfaz de usuario, me gustaría tener una paginación para los elementos en el primer nivel, para evitar cargar demasiados elementos en la primera carga de la página.
Por lo que entiendo hasta ahora, los conjuntos anidados son geniales cuando la jerarquía se usa más para mostrar. Las listas de adyacencia son excelentes cuando la edición en el árbol se realiza con frecuencia. En mi caso, creo que necesito mostrar más que la edición (cuando se usan conjuntos anidados, incluso si la pantalla funcionara bien, la paginación anterior podría complicar las cosas en la edición).
¿Tiene alguna idea y consejo, en función de su experiencia con las bases de datos no relacionales?