朋友圈技术范儿装X指南-有向无环图

简介: 朋友圈技术范儿装X指南-有向无环图

这是我的第70篇原创

拼奢侈品装名媛,实在是太LOW了。真正的奢侈品不是外物,而是知识!是科学!你看我,从来没告诉过任何人,我开过私人飞机。

所以,今天要给大家分享一个可以在朋友圈装X的词:有向无环图,英文简称DAG。这个词太高端了,高端到你的朋友圈里90%以上的人不认识,但是又基本和你的工作、生活扯上关系。一股高处不胜寒的技术直男高级感油然而生!


啥是有向无环图?

有向无环图(DAG)与烂大街的二叉树一样,都是一种拓扑结构。同属于图论的领域。你看,这逼格是不是顿时就起来了?

搞信息技术的大佬们,很会取名字,目的就是为了减少信息传输时的损耗。你看二叉树就很形象,就是分两个叉叉的树状结构。

有向无环图好像很高大上,其实拆开也很容易理解,就是整个图的形状是有方向的,但是有没有形成环。所以,二叉树其实也是一种有向无环图(DAG)。

这个玩意,可以用来做很多事情,咱一个一个来说。


ETL任务调度

玩过ETL的同学都知道,所有的ETL任务都是一个有向无环图(DAG)。

我会教所有玩ETL的同学这个概念。因为有些人真的会天马行空的设计出一个环状任务流。这个就是有环图了。有换图会直接报错,执行不了,因为A任务的启动,前置条件是后续的任务的结果。

有些同学逻辑思维能力强,虽然不知道有向无环图(DAG),但是天然就明白不能这么设计,这种人就是老天爷赏饭吃,天赋使然,令人艳羡。

但是如果情况特殊,真的有前置条件是后置任务的结果该咋办?有这种情况,但是肯定不是当前任务,而是相同任务的下一次执行。所以把结果存储下来,下次执行的时候读取一下就行了。

有经验的同学,会对任务进行合理的安排,既不冲突,又能高效。之前在数据倾斜的文章《点击查阅:12种方法,彻底搞定数据倾斜!》里,有一个方案是ETL预处理,其本质就是在数据输入之前,用ETL把数据整理的比较均匀,然后再传给Spark进行计算。这种方法实际上并没有减轻整个任务链的工作时间,但是能保证Spark的只占用较少的计算时间。我们可以在资源利用低谷,用ETL处理好数据,然后在凌晨资源利用高峰期进行计算,这样能削峰填谷,资源整体利用率高。


项目管理

好,现在开始考试,请听题:

这是信息系统项目管理师(高级职称)的一道考题,PMP里也会有。这个是不是很熟悉?这也是有向无环图(DAG)。这是计算关键路径,关键路径决定着整个项目的最长用时。如果我们需要压缩整个工期,应该从关键路径上下功夫。

上面那道题应该还比较简单,我们整点有难度的:

你可能会觉得奇怪,项目管理要学这个干啥?这些其实就是任务安排啊。任务前后有顺序,有依赖。在不改变关系的前提下,我们还要压缩工期,咋整?就得用上面的工具了。咱不能所有工作都是流水线,该并行就得并行,该资源调拨,就得调拨。我们得知道兵力往哪里部署是最能节省时间和成本的。这就得用到拓扑学中的有向无环图(DAG)了。一招一式,都是学问。


区块链

区块链的数据存储方式本质上是一个链表。就是一个严格按照顺序进行存储的表。

而且区块链的去中心化的设计思想,是集群中50%以上的节点都下载并认可这条数据,这个数据才被宣告有效,也就是得超过50%的节点下载并写入成功才可以。可想而知,这得多慢啊!所以区块链最大的弊端就是并发量不够。

目前区块链最热门的技术就是有向无环图(DAG)。这直接解决了区块链的链表线性存储效率低下的弊端。

区块链通过DAG进行交易认证,这比50%认可的链表可快多了!

相关文章
|
6月前
|
数据可视化 数据挖掘 数据管理
当钢铁企业装上数据眼,从此告别PPT
当钢铁企业装上数据眼,从此告别PPT
|
6月前
|
移动开发 前端开发 JavaScript
童年回忆——开心消消乐(内含源码inscode一键运行)
童年回忆——开心消消乐(内含源码inscode一键运行)
|
20天前
|
存储 算法 安全
2024重生之回溯数据结构与算法系列学习【无论是王道考研人还真爱粉都能包会的;不然别给我家鸽鸽丢脸好嘛?】
数据结构的基本概念;算法的基本概念、特性以及时间复杂度、空间复杂度等举例说明;【含常见的报错问题及其对应的解决方法】
|
Windows
分享5款小众且无广告的软件,走过路过别错过
你是否喜欢一些小众且无广告的软件?如果是的话,那可不要错过今天我给你们推荐的这5款软件。
56 0
|
C++
你们想要的开源的冰墩墩模型来了!! 先睹为快!实现冰墩墩自由!
你们想要的开源的冰墩墩模型来了!! 先睹为快!实现冰墩墩自由!
166 0
|
Windows
谈一谈|下载软件的门道你懂吗?
谈一谈|下载软件的门道你懂吗?
134 0
|
数据安全/隐私保护 图形学 Windows
推荐五款宝藏软件,身为宝藏男孩和宝藏女孩的你,不试一下吗?
今天带来五款宝藏软件,身为宝藏男孩和宝藏女孩的你们,不试一下吗?
195 0
推荐五款宝藏软件,身为宝藏男孩和宝藏女孩的你,不试一下吗?
|
人工智能 算法 固态存储
这才是模块化电脑该有的样子:一人打造的超迷你计算机,震动了整个极客圈
这才是模块化电脑该有的样子:一人打造的超迷你计算机,震动了整个极客圈
140 0
|
小程序 数据库
喜欢看球,那就手撸一个看球小程序系统
一,系统展示;二,小程序端代码;三,后端代码;四,数据库;五,手把手教你学习
115 0
喜欢看球,那就手撸一个看球小程序系统