跳转到主要内容
Chinese, Simplified

作为最佳实践,首先定义支持业务案例的访问模式。然后进行数据建模以支持这些访问模式。在定义访问模式之前,请查看本指南示例中使用的汽车零部件层次结构树。

使用示例树

绘制汽车组件的示例树可以帮助您映射它们之间的关系。下图显示了具有四个级别的依赖关系图。CM1是示例汽车本身的顶级组件。它有两个子组件用于两个示例电池,CM2和CM3。每个电池有两个子组件,即模块。CM2具有模块CM4和CM5,而CM3具有模块CM6和CM7。每个模块都有几个子组件,即单元。CM4模块有两个单元,CM8和CM9。CM5具有一个单元CM10。CM6和CM7还没有任何相关联的细胞。


                Example tree diagram showing the previously described
                    relationships.

本指南将使用此树及其组件标识符作为参考。顶部组件将被称为父组件,子组件将被称作子组件。例如,顶部组件CM1是CM2和CM3的父组件。CM2是CM4和CM5的父代。这是父子关系的图表。

从树中,您可以看到组件的完整依赖关系图。例如,CM8依赖于CM4,CM4依赖于CM2,CM2依赖于CM1。树将完整的依赖关系图定义为路径。路径描述了两件事:

  • 依赖关系图
  • 树中的位置

CM8从上到下的路径是CM1|CM2|CM4|CM8。

本指南的示例用例具有以下访问模式,用于管理不同汽车组件之间的关系。

 

访问模式

1

作为一个用户,我想检索父组件ID的所有直接子组件(向下一级)。

2

作为一个用户,我想检索组件ID的所有子(下级)组件的递归列表。

3

作为用户,我希望看到组件的祖先。

使用汽车组件示例,每个组件(汽车、电池、模块和电池)都具有组件ID作为唯一标识符。在这种情况下,如果使用电池组件ID进行查询,则直接的子级是模块。递归列表显示模块和单元。对于电池来说,祖先是模块、电池和汽车。

要为您的用例定义必要的访问模式,请彻底分析业务需求。在您有完整的业务需求之前,不要开始数据建模。

 

原文地址
https://docs.aws.amazon.com/prescriptive-guidance/latest/dynamodb-hierarchical-data-model/define-access-patterns.html
本文地址
Article

微信

知识星球

微信公众号

视频号