对于非常深的数据树而言,非常大的数据库(超过10亿行),最有效的结构是什么?读取的加载量是最高的使用量,但是定期对树进行更改。深层数据树的高效数据库结构
有几种标准算法来表示数据树。我发现这篇文章是Mongodb手册的一部分,是一个很好的总结:http://docs.mongodb.org/manual/tutorial/model-tree-structures/
我的系统具有不能很好地映射到这些情况的属性。问题在于树的深度非常大,以至于保留“祖先”或“路径”非常大。树也经常变化,“嵌套集”方法效率不高。我正在考虑“物化路径”和“父参考”方法的混合体,而不是存储散列的路径,而不是保证是唯一的,而是散布时间的90%。然后,有10%的时间发生碰撞,父母参考解决它。这个想法是,有90%的时间对路径哈希进行了快速查询。这个想法有点像布隆过滤技术。但这都是为了背景:问题在于这篇文章的第一行。
你能更精确地说明你的意思是“读取加载”吗? –
我的意思是查询vs插入,我应该这么说。我的意思是有定期插入数据库,但大多数访问是查询。重要的是,这不是一棵静态树,插入可以发生在树中的任何位置,但70%的访问是用于查询的。 – tradetree
什么样的查询?整个树(从“木”)?获得(直接)给定节点的孩子吗?获得(递归)给定节点的后代?获得(直接)给定节点的父节点?获取给定节点的所有祖先? –