电商项目之层级调用原则讲解|学习笔记

简介: 快速学习电商项目之层级调用原则讲解

开发者学堂课程【新电商大数据平台2020最新课程电商项目之层级调用原则讲解】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/640/detail/10496


电商项目之层级调用原则讲解

 

总体原则:

1.禁止逆向调用

2.避免同层调用

3.优先使用公共层

4.避免跨层调用

 image.png

不论是电商收藏还是其他行业的书仓,我们都需要遵循总体的原则:禁止逆向调用,避免同层调用,优先使用公共层和避免跨层调用。

如图左边是划分之后的层级:

1、APP 或 PC 获取数据——>ODS 层——>DWD——>DWS——>DWM——>ADS,整体是由下至上的一个过程,是我们正常开发的一个过程,而左边的DM是一个维度层,除ODS之外每层都可以调用。

2、禁止逆向调用:

比如从 ADS 调用到 DWM,DWS,DWD 都叫逆向调用,这种逆向调用的过程是可行的,因为 ADS 层在最终计算时得到的指标都会通过 DWM,DWS,DWD 这些明细表进行计算从而得到ADS。

3、但是从 ADS 不能调用到 ODS,因为 ODS 是一个不规整的数据,但是明细层可以将各个维度进行统一,创建一些明细表,里面的数据都是准确且规整的,所以,最好不要从 ADS 调用到 ODS。

4、避免同层调用:

5、比如 DWD 层调用 DWD 层,DWS 层调用 DWS 层,这样的调用叫同层调用(排除 DM 层)。同层调用没有意义。

6、优先使用公共层:

7、比如做 ADS 层时,数据应用层的一个指标实现之后,使用的时候最好用 DWM 层,因为 DWM 层是进行一些维度轻度聚合之后的一个聚合结果,所以要优先使用它。

8、如果 DWS 层和 DWD 层两个都可以使用的时候,要尽量选择 DWS 层,因为这层已经做过一些轻度聚合,取得数据之后不需要再进行一次运算,这就叫优先使用公共层。

9、避免跨层调用:

分层是为了清晰明了的调用,所以尽量按顺序调用。

相关文章
|
2月前
|
设计模式 API 数据库
【C/C++ 设计思路】C++中解耦策略的艺术:有效管理复杂依赖关系
【C/C++ 设计思路】C++中解耦策略的艺术:有效管理复杂依赖关系
56 3
|
7月前
|
设计模式 Java
Java设计模式七大原则-合成聚合复用原则
Java设计模式七大原则-合成聚合复用原则
48 0
|
7月前
|
AndFix vr&ar 图形学
潮玩元宇宙/大逃杀游戏系统开发详细案例丨规则流程丨方案逻辑丨功能设计丨需求项目丨源码出售
The development of Chaoyu Metaverse Escape Game System refers to the creation and construction of a virtual reality game system to provide an immersive gaming experience, allowing players to participate in a virtual world for escape and combat.
|
9月前
|
前端开发 区块链
合成游戏看广告视频盒子系统开发方案逻辑/详细案例/功能设计/需求步骤/规则项目/源码说明
在Solidity中,与外部合约交互可以通过调用函数来完成。这些函数可以是在Solidity合约中定义的函数,也可以是在外部合约中定义的函数。调用外部合约函数需要知道合约的地址和函数的签名。
|
9月前
|
存储 移动开发 算法
dapp哈希竞猜链上游戏系统开发案例规则/方案介绍/项目逻辑/源码平台
  Hash,一般翻译做散列,或音译为哈希,是把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。
|
10月前
|
存储 JSON 区块链
NFT游戏系统开发逻辑规则源码实例分析
NFT游戏系统开发逻辑规则源码实例分析
|
10月前
|
设计模式 Java uml
你的职责链模式符合五大原则吗?-系统学习九
工作之余对于用到的设计模式进行总结再梳理,发现职责链模式的妙处以及五大原则的指导下更能发挥职责链模式的优势于是乎便有了这篇博文的诞生
|
11月前
|
存储 分布式数据库 区块链
DAPP互助公排拆分项目系统开发(开发案例)/逻辑方案/功能详解/玩法逻辑
   区块链是一种特殊的分布式数据库,任何服务器都可以成为区块链中的一个节点,且节点之间是平等的,无中心化,区块链中的数据是经过加密存储,已经存储的数据无法修改,可以保证数据的准确性。
|
前端开发 API 微服务
微服务项目:尚融宝(57)(核心业务流程:投资列表展示(2))
微服务项目:尚融宝(57)(核心业务流程:投资列表展示(2))
|
前端开发 API 微服务
微服务项目:尚融宝(56)(核心业务流程:投资列表展示(1))
微服务项目:尚融宝(56)(核心业务流程:投资列表展示(1))
微服务项目:尚融宝(56)(核心业务流程:投资列表展示(1))