S'S ALGORITHM

关于我为什么会有思维盲点这件事以前都没有非常在意,当出现了问题我一般归结为经验不足,然后期待学习和工作补回来,但是不经过思考的行动是盲目的自我安慰。

这次我在处理数据处理的上下游接口中,各种考虑不足。

比如有多少文件,每个数据文件的path如何,数据来的频度,时间,和下游接口的连接方式。

比如每个利益相关者的可能发生的状况,文件一天来两次,下午的文件会覆盖上午的文件,那么对于文件读取有没有问题。

是基于时间驱动还是基于事件驱动的,如何考量这两种方式的优缺点。

逻辑如何落实到代码层面。

是否易于维护。

在数据工程项目中,数据工程师需要考虑多方面的因素来确保系统的稳定性、效率和可维护性。以下是对各个方面的详细考量:

1. 上游数据处理

考量因素:

处理策略:

2. 下游数据使用

考量因素:

处理策略:

3. 各个主体的突发状况

考量因素:

处理策略:

4. 事件驱动 vs. 时间驱动

考量因素:

处理策略:

5. 开发和运维难度

考量因素:

处理策略:

6. 项目目标

考量因素:

处理策略:

综合考量

在实际项目中,这些方面往往是交织在一起的,需要综合考虑:

通过平衡这些考量,数据工程师能够设计和实施稳健、高效的系统,支持业务的持续发展。