我正在寻找具有以下功能的数据库系统:
因此,如果我的密钥与App > User > Item
类似,我可以运行如下查询:“此用户的下一个项目是什么?”或者“此应用程序的下一个用户是什么?”
我基本上想要一个多维树。我发现GTM,我想知道是否还有其他此类产品。
答案 0 :(得分:2)
鉴于您的要求,我会说使用多个嵌套的b-tree是一个很好的解决方案。
您可能还需要考虑使用单个b树和一些聪明的密钥编码,以便对于密钥(路径)中的每个段,都有一个保留的最小令牌和最大令牌。
拥有这样的密钥将允许您为查询使用标准的b树访问方法。
“此用户的下一项是什么”将是:找到大于App > User > Item > **MAX**
和“此应用的下一个用户是什么”将是:找到大于App > User > **MAX**
的密钥
对于第二种方法(密钥编码而不是嵌套树),任何基于b树的No-SQL解决方案都足够了。选择哪一个取决于您的编程环境和您可能具有的其他要求。
答案 1 :(得分:0)
我之前遇到过这个问题;我使用了一个名为parent_id
的列,该列使用了父级的id来链接子级。在一个简单示例中,我们将维度“Item”的id
设置为5
。因此,parent_id
5
foreach
的所有行都将位于“项目”下。然后,您可以使用{{1}}链接所有父母。