海量数据分流策略

面对万亿规模数据增量,纯数据拖拽构建链路消费会消耗大量的资源和成本;有必要对海量采集的数据按着业务的情况进行分别管理和组织,期待达到业务层面的解耦。通过分治思想在数据采集和业务消费层面做数据的合理切分,一方面能给下游不同优先级的业务消费带来优化加速的空间,同时也能够在整个数据链路侧对数据的产出和不同重要程度的业务做链路剥离, 从而满足不同场景下的业务诉求。

1.数据分流的目的

首先,分流的目的很明确,就是一份数据很大的流需要分离成不同的流来并行处理,从而达到加速和链路产出时间上的提升。例如在流量业务中,往往采集的时候所有的数据是放在一起的,下游使用访问、点击的数据都需要等待前置所有的采集数据到齐之后进行下游链路的消费,因此需要等待,下游的具体业务也需要等待前置业务链路全部产出之后,下游才能进一步进行调度。

其次,分流的目的不是为了拆分而拆分,过度的拆分,最终会埋下数据链路难以运维的大坑,既要兼顾全局业务上的需求,又要兼顾链路业务上的解耦,还要考虑数据模型建设的纵向横向扩展以及数据质量和计存上的衡量,因此,既不能盲目拆的稀碎,也不能分的太死,最好能灵活调整,满足不同场景的迭代和需求。

最后,数据分流一方面要考虑技术实现,更要考虑下游业务使用上的便捷度,所以是需要从数据采集开始就应该介入合理设计的过程。

2. 数据分流策略

分流策略从数据链路来开可以分为前置和后置。前置就是在数据采集的时候就已经按着一定的分流策略给分解掉来进行入仓。然后数仓进行进一步的处理。而后置的意思则是在公共层对业务支持的层面进行模型层面的设计和分解,来满足不同的业务场景。前置策略一般是需要平台技术能力支持,而后置则需要数据研发同学紧贴业务消费侧进行合理设计或者二次加工。一般的在一个具体的实践案例中,分流的策略往往是先进行前置的粗略拆分,然后数据同学再根据具体的业务来进行精细化设计。

数据分流的两种策略

3. 全链路的分流方案

大数据量场景下,解决数据下游消费和上报链路稳定,一般都需要考虑将多个复杂业务进行相互拆留解耦以满足不同业务的发展。在很多规模较大的公司里面,都会对如此庞大的数据进行数据流上的整合与处理,下图为整个数据链路方案的实施方案。需要借助全链路的方案才能在数据设计上解决时效性的要求和资源效率的约束,并且在一定程度解耦高优先任务。从而定制化灵活的解决不同场下的业务诉求。

数据分流整合全链路设计方案

4. 总结

数据的分流策略在整个研发中是非常常见的,例如大家的多级分区设计,以及多个任务更新一张业务表,这样都能在下游调度的时候,根据优先级和依赖的重要程度,解决部分业务的问题。在日常具体的应用场景中,还有很多值得总结的方案需要大家沉下心好好的总结。

#java秋招面试##数据开发工程师##数据分析##数据人offer决赛圈怎么选##数据人的面试交流地#
全部评论

相关推荐

来,说点可能被同行“骂”的大实话。🙊当初接数字马力Offer时,朋友都说:“蚂蚁的“内包”公司?你想清楚啊!”但入职快一年后的今天,我反而对他有了不一样的看法!🔹 是偏见?还是信息差!之前没入职之前外面都在说什么岗位低人一等这类。实际上:这种情况不可至否,不能保证每个团队都是其乐融融。但我在的部门以及我了解的周边同事都还是十分好相处的~和蚂蚁师兄师姐之间也经常开一些小玩笑。总之:身份是蚂蚁公司给的,地位是自己挣的(一个傲娇女孩的自述)。🔹 待遇?玩的就是真实!试用期工资全额发!六点下班跑得快(早9晚6或者早10晚7,动态打卡),公积金顶格交。别听那些画饼的,到手的钱和下班的时间才是真的(都是牛马何必难为牛马)。🔹 能不能学到技术?来了就“后悔”!我们拥有权限直通蚂蚁知识库,技术栈多到学不完。说“学不到东西”的人,来了可能后悔——后悔来晚了(哈哈哈哈,可以不学但是不能没有)!💥 内推地址:https://app.mokahr.com/su/ueoyhg❗我的内推码:NTA6Nvs走我的内推,可以直达业务部门,面试流程更快速,进度可查!今天新放HC,之前挂过也能再战!秋招已经正式开始啦~机会就摆在这,敢不敢来试一试呢?(和我一样,做个勇敢的女孩)
下午吃泡馍:数字马力的薪资一般哇,5年经验的java/测试就给人一万出头,而且刚入职第三天就让人出差,而且是出半年
帮你内推|数字马力 校招
点赞 评论 收藏
分享
阿武同学:基本信息保留前面三行,其他的可以全部删掉,邮箱最重要的你没写,主修课程精简到8个以内,实习里面2/3/4都是水内容的,非要写的话建议两到三句话,项目经历排版优化下,自我评价缩到三行
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务