代码之家  ›  专栏  ›  技术社区  ›  Denis Bazhenov

分布树结构

  •  1
  • Denis Bazhenov  · 技术社区  · 16 年前

    例如,我有一大组公告,它们组织在一个树(类别树)中。包括所有类别。所以,如果我看的是A类中的项目,我也会看到A类子类中的所有项目。如果我看的是根目录,我会看到所有的公告。

    我希望在这里实现水平可伸缩性,因为集合的大小很大。

    我唯一知道的方法就是所谓的分散聚集。分散收集意味着我在所有节点上发送查询(或者如果知道数据的确切位置,则发送所有节点的子集),在数据节点响应之后,我收集结果。这个方法的问题是我不能在数据节点上进行分页。这就导致了网络上的大流量,因为排序和分页必须在协调节点(发起分散收集的节点)上完成。

    有没有其他可能的方法可以将树结构分布在一组服务器上以实现水平伸缩性?

    2 回复  |  直到 16 年前
        1
  •  1
  •   Joe Mabel    16 年前

    您可以考虑使用某种B-树,其中相邻值往往位于同一块中,因此位于同一服务器上。

        2
  •  1
  •   Alex Miller    16 年前

    您可能需要查看建模为嵌套的树 Distributed Hash Tables ?只是一个想法。