gpt4 book ai didi

tree - Riak 存储树结构

转载 作者:行者123 更新时间:2023-12-04 23:57:00 28 4
gpt4 key购买 nike

我正在为一个项目开发一个带有riak的分布式文件系统。我想在riak数据库中存储一个树结构,并且,我想在给定路径时获取节点id(A Path like/root/dev/bin)

我想用物化路径来存储树,其中使用节点id和从根开始的路径存储一棵树

一个
/\
B C
/\\
D E F

节点编号 |路径
一个 _
B A
C A
D A,B
F A,C

因此,要获取路径的 id,一种解决方案是将路径存储为键,将节点 id 存储为值,然后使用 riak key filters 获取路径的节点 id,另一个解决方案是将路径存储为值并使用 riak 搜索来获取节点 ID。如果我使用 riak 搜索,我应该将路径存储为 json 数组还是将其存储为纯字符串?

另外我想做一些操作,比如,

1. Get childrens of a node(all files in a directory)
2. Add new children(add files or folders)
3. Traverse the tree

那么对于以上的解决方案,你怎么看呢?大家还有什么建议吗?

谢谢

最佳答案

我实现了一个简单的树结构,包括插入和删除节点等操作。我已经使用物化路径和邻接表实现了我的系统。要存储具有邻接列表的树,它需要同时使用链接和二级索引。但是邻接表的缺点是当它需要检索特定节点的子节点时效率很低。但是如果你使用物化路径来存储一棵树,那么插入和删除节点就真的很容易了。 Riak key filters 和 map reduce 函数可以用来实现这一点。

关于tree - Riak 存储树结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21159716/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com