Skip to content

Commit

Permalink
Update 2.graph-modeling.md (#644)
Browse files Browse the repository at this point in the history
* Update 2.graph-modeling.md

* Update 2.graph-modeling.md

* Update 2.graph-modeling.md

Co-authored-by: randomJoe211 <69501902+randomJoe211@users.noreply.github.com>
  • Loading branch information
whitewum and randomJoe211 authored Jun 25, 2021
1 parent ee649fd commit 1122a29
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions docs-2.0/8.service-tuning/2.graph-modeling.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,11 @@

改变指的是业务模型和数据模型上的改变(元信息),不是数据自身的改变。

Nebula Graph {{ nebula.release }} 是强 schema 的系统,这意味着业务数据模型中的部分是“不应该经常改变的”,例如属性 schema 应该避免改变。类似于 MySQL 中 alter table 是应该尽量避免的操作
一些图数据库产品是schema-free的设计,所以在数据模型上,不论是图拓扑结构还是属性,都可以非常自由。属性可以建模转变为图拓扑,反之亦然。这类系统通常对于图拓扑的访问有特别的优化

而点及邻边可以非常低成本的增删,因此可以将业务模型中“经常改变的部分”建模成点或边(关系),而不是属性schema。
而 Nebula Graph {{ nebula.release }} 是强 schema 的(行存型)系统,这意味着业务数据模型中的部分是“不应该经常改变的”,例如属性 schema 应该避免改变。类似于 MySQL 中 alter table 是应该尽量避免的操作。

而点及邻边可以非常低成本的增删,因此可以将业务模型中“经常改变的部分”建模成点或边(关系),而不是属性 schema。

例如,在一个业务模型中,人的属性是相对固定的,例如“年龄”,“性别”,“姓名”。而“通信好友”,“出入场所”,“交易账号”,“登录设备”等是相对容易改变的。前者适合建模为属性,后者适合建模为点或边。

Expand Down

0 comments on commit 1122a29

Please sign in to comment.