我正在开发一个使用非关系数据库作为后端的Web应用程序(django-nonrel + AppEngine)。 我需要存储一些分层数据(项目/子项目_1 /子项目_N /任务),我想知道我应该使用哪种模式。现在我想的:关于非关系数据库的分层数据的建议?
- 邻接表(存储项目的父ID)
- 嵌套组(存储左,右值项)
在我的情况下,嵌套的深度对于普通用户不会超过4-5级。 此外,在用户界面上,我希望为第一级的项目分页,以避免在第一次加载页面时加载太多项目。
从我了解到目前为止,嵌套集是伟大的,当层次更多地用于显示。当在树上进行编辑经常完成时,邻接列表非常棒。在我的情况下,我想我需要的显示比编辑更多(当使用嵌套时,即使显示效果很好,上面的分页可能会使编辑变得复杂)。
根据您对非关系数据库的经验,您有任何想法和建议吗?