diff --git a/docs-2.0/8.service-tuning/2.graph-modeling.md b/docs-2.0/8.service-tuning/2.graph-modeling.md index fd6c5029aa8..baa0d176185 100644 --- a/docs-2.0/8.service-tuning/2.graph-modeling.md +++ b/docs-2.0/8.service-tuning/2.graph-modeling.md @@ -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。 例如,在一个业务模型中,人的属性是相对固定的,例如“年龄”,“性别”,“姓名”。而“通信好友”,“出入场所”,“交易账号”,“登录设备”等是相对容易改变的。前者适合建模为属性,后者适合建模为点或边。