分布式树结构

发布于 2024-08-15 08:55:35 字数 331 浏览 4 评论 0原文

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

由于集合的大小很大,我想在这里实现水平可扩展性。

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

是否存在其他可能的方法来将树结构分布在一组服务器上以实现水平可扩展性?

For example, I have a large set of bulletins which are organized in a tree (category tree). All categories inclusive. So if I watching items in category A, I'm also see all items in subcategories of this category A. And if I'm watching at root I'm see all the bulletins.

I want to achieve horizontal scalability here, because of large size of set.

The only way I know is so called scatter-gather. Scatter-gather means that I'm sending query on all nodes (or subset of all nodes if know where data lays exactly) and after response of data nodes I'm gathering result. The problem with this method is that I can not do paging on data nodes. And this leads to large traffic on network, because of sorting and paging must be done on coordinator node (node which initiates scatter-gather).

Is there any other possible ways exists for distributing tree structures over set of servers for achieving horizontal scalability?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

顾冷 2024-08-22 08:55:35

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

You might consider using some sort of B-tree, where adjacent values will tend to be in the same block, and hence on the same server.

情丝乱 2024-08-22 08:55:35

您可能想研究一下建模为嵌套分布式哈希表的树?只是一个想法。

You might want to look into a tree modeled as nested Distributed Hash Tables? Just an idea.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文