Tree Riak存储树结构

Tree Riak存储树结构,tree,riak,materialized-path-pattern,Tree,Riak,Materialized Path Pattern,我正在为一个项目使用riak开发一个分布式文件系统。我想在riak数据库中存储一个树结构,并且在给定路径时获取节点id(类似于/root/dev/bin的路径) 我想使用物化路径来存储树,其中通过使用节点id和来自根的路径来存储树 A /\ BC /\\ D E F 节点Id|路径 A uu B A CA D A,B F A,C 因此,要获取路径的id,一种解决方案是将路径存储为键,节点id存储为值,然后使用riak键过滤器获取路径的节点id,另一种解决方案是 解决方案是将路径存储为值,并使用r

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

我想使用物化路径来存储树,其中通过使用节点id和来自根的路径来存储树

A
/\
BC
/\\
D E F

节点Id|路径
A uu
B A
CA
D A,B
F A,C

因此,要获取路径的id,一种解决方案是将路径存储为键,节点id存储为值,然后使用riak键过滤器获取路径的节点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键过滤器和map reduce函数可以用来实现这一点。

我也有类似的问题。我想在里亚克储存一棵树,我正在寻找一个好的解决方案。这似乎可行,但我不是100%确定。