Skip to content

Commit

Permalink
Update super-node.md (#980)
Browse files Browse the repository at this point in the history
  • Loading branch information
izhuxiaoqing authored Sep 17, 2021
1 parent 70e13e0 commit 8c594f1
Showing 1 changed file with 11 additions and 14 deletions.
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 的三次单独操作。

0 comments on commit 8c594f1

Please sign in to comment.