Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update super-node.md #980

Merged
merged 1 commit into from
Sep 17, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 11 additions & 14 deletions docs-2.0/8.service-tuning/super-node.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,27 +40,24 @@ Nebula Graph {{ nebula.release }} 属性索引的设计复用了存储模块 Roc

- 删除多条边,合并为一条

例如,一个转账场景: `(账户A)-[转账]->(账户B)`。每次`转账`建模为`一条AB之间的边`,那么`(账户A)`和`(账户B)`之间会有着数万十次转账的场景。
例如,一个转账场景: `(账户A)-[转账]->(账户B)`。每次`转账`建模为`一条AB之间的边`,那么`(账户A)`和`(账户B)`之间会有着数万十次转账的场景。

按日、周、或者月为粒度,合并陈旧的转账明细。也就是批量删除陈旧的边,改为少量的边“月总额”和“次数。而保留最近月的转账明细。
按日、周、或者月为粒度,合并陈旧的转账明细。也就是批量删除陈旧的边,改为少量的边“月总额”和“次数。而保留最近月的转账明细。

- 拆分相同类型的边,变为多种不同类型的边

例如,`(机场)<-[depart]-(航班)`场景,每个架次航班的离港,都建模为一条航班和机场之间的边。那么大型机场的离港航班会极多。
例如,`(机场)<-[depart]-(航班)`场景,每个架次航班的离港,都建模为一条航班和机场之间的边。那么大型机场的离港航班会极多。

根据不同的`航空公司`将 `depart` 这个Edge type拆分更细的Edge type,如 `depart_ceair`, `depart_csair` 等。在查询(图遍历)时,指定离港的航空公司。
根据不同的`航空公司`将 `depart` 这个Edge type拆分更细的Edge type,如 `depart_ceair`, `depart_csair` 等。在查询(图遍历)时,指定离港的航空公司。

- 切分顶点本身

例如,对于`(人)-[借款]->(银行)`的借款网络,某大型银行A的借款次数和借款人会非常的多。
例如,对于`(人)-[借款]->(银行)`的借款网络,某大型银行A的借款次数和借款人会非常的多。

可以将该大行节点 A 拆分为多个相关联的子节点 A1、A2、A3,
可以将该大行节点 A 拆分为多个相关联的子节点 A1、A2、A3,

```text
(人1)-[借款]->(银行A1), (人2)-[借款]->(银行A2), (人2)-[借款]->(银行A3);
(银行A1)-[属于]->(银行A), (银行A2)-[属于]->(银行A), (银行A3)-[属于]->(银行A).
```

这里的 A1、A2、A3 既可以是 A 真实的三个分行(例如北京、上海、浙江),也可以是三个按某种规则设立的虚拟分行,
例如按借款金额划分 `A1: 1-1000, A2: 1001-10000, A3: 10000+`。
这样,查询时对于 A 的任何操作,都转变为为对于 A1、A2、A3 的三次单独操作。
```text
(人1)-[借款]->(银行A1), (人2)-[借款]->(银行A2), (人2)-[借款]->(银行A3);
(银行A1)-[属于]->(银行A), (银行A2)-[属于]->(银行A), (银行A3)-[属于]->(银行A).
```
这里的 A1、A2、A3 既可以是 A 真实的三个分行(例如北京、上海、浙江),也可以是三个按某种规则设立的虚拟分行,例如按借款金额划分 `A1: 1-1000, A2: 1001-10000, A3: 10000+`。这样,查询时对于 A 的任何操作,都转变为为对于 A1、A2、A3 的三次单独操作。