如何用大数据技术搭建一个高效的搬砖系统?

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 如何用大数据技术搭建一个高效的搬砖系统?


这是我的第10篇原创


放假回老家,老爸正在修围墙,喊彭小贝去帮忙搬砖。果然放假还是别到处乱跑的好,在家吹着空调唱着歌,他不香吗?

没搬两下,彭小贝就累屁了。这不行啊!想到平时老板对他的教导,要用大数据技术驱动业务发展。于是他找了一个阴凉的地方开始进行技术选型。

技术选型可以简单分为三步:需求理解、提出方案、落地及优化。  

 

一、需求理解

搬砖是指对砖头的运输, 从A点运输到B点。期望越快越好(这话怎么这么熟悉?)。影响搬砖速度的因素有:

   1、A、B两点的距离;

   2、砖头的数量

   3、搬运工的人数

   4、异常天气的影响;

   5、搬砖工艺。

二、提出方案

彭小贝分析了一下这5个因素,其中距离和天气是不可抗力,emmm砖头的数量好像也是不可抗力,毕竟老爸会打死他。看来能优化的就是搬运工的人数和搬砖工艺了。


所以方案一出炉:增加一个搬运工,由单线程变成多线程,效率增加50%!

优化效果是非常明显的,但是会有1个问题:AB两地的距离恒定,两个人都要跑来跑去


于是优化版方案二出炉:优化搬砖工艺~~串行执行任务。由于不需要移动,因此效率比两个人跑来跑去还要快,效率再次提升30%。

三、落地及优化

于是彭小贝喊来彭小宝,一起来搬砖。不一会儿就搬了很多砖,效率贼高。但是没一会儿搬砖系统就出故障了:天气太热,彭小宝又累又热,罢工了,给冰棍也不好使!于是又回到最初的单线程时代彭小贝快要崩溃了!此时老板的话又萦绕耳边:要用大数据技术驱动业务!突然,一个念头闪过:可以用kafka(MQ的原理去解决!

彭小贝翻出了以前的学习笔记,上面写的很清楚。


kafka(MQ)对信息传输流程的优化点有:

  • 上下游解耦
  • 同步变异步
  • 削峰填谷
  • 可靠性增加

最终方案出炉

在彭小贝和彭小宝之间增设一个消息中间件,生产者彭小贝把砖头放在MQ里,彭小宝从MQ中拉取砖头,堆放到B地。任何一方短暂罢工或者爆发都不影响整个链条的砖头搬运工作,完美!

同时可以做更多:

  • 生产者只需要不断搬砖到MQ,实现最大运力(最大吞吐量)
  • 把A地的无序砖头有序码放在MQ中,写入速度更快(有序写入)
  • 消费者按需搬砖,不怕上游一次性搬太多砖(削峰填谷)
  • 生产者把砖头放在MQ就行,不用交给消费者,俩人各做各的(业务解耦)
相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
21天前
|
分布式计算 Hadoop 分布式数据库
Hadoop生态系统介绍(二)大数据技术Hadoop入门理论系列之一----hadoop生态圈介绍
Hadoop生态系统介绍(二)大数据技术Hadoop入门理论系列之一----hadoop生态圈介绍
65 2
|
28天前
|
数据采集 传感器 大数据
利用大数据进行精准农业:技术与挑战
【6月更文挑战第6天】大数据技术正变革农业,推动精准农业发展。通过实时收集农田数据(如土壤条件、作物生长情况),运用数据分析预测病虫害,优化生产管理。示例代码显示了如何使用Python进行产量预测。然而,数据质量、整合、农民技术接受度及隐私安全等问题挑战重重。需强化数据管理,统一标准,提升农民数字素养,并保障数据安全。随着技术进步,大数据在精准农业的应用将更加广泛,助力农业高效可持续发展。
40 0
|
16天前
|
监控 数据可视化 大数据
大数据技术在公共交通系统规划中的应用
大数据技术在公共交通系统规划中的应用
|
19天前
|
分布式计算 Hadoop 大数据
大数据技术:Hadoop与Spark的对比
【6月更文挑战第15天】**Hadoop与Spark对比摘要** Hadoop是分布式系统基础架构,擅长处理大规模批处理任务,依赖HDFS和MapReduce,具有高可靠性和生态多样性。Spark是快速数据处理引擎,侧重内存计算,提供多语言接口,支持机器学习和流处理,处理速度远超Hadoop,适合实时分析和交互式查询。两者在资源占用和生态系统上有差异,适用于不同应用场景。选择时需依据具体需求。
|
27天前
|
存储 大数据 分布式数据库
使用Apache HBase进行大数据存储:技术解析与实践
【6月更文挑战第7天】Apache HBase,一个基于HDFS的列式存储NoSQL数据库,提供高可靠、高性能的大数据存储。其特点是列式存储、可扩展至PB级数据、低延迟读写及多版本控制。适用场景包括大规模数据存储、实时分析、日志存储和推荐系统。实践包括集群环境搭建、数据模型设计、导入、查询及性能优化。HBase在大数据存储领域扮演关键角色,未来有望在更多领域发挥作用。
|
9天前
|
存储 数据采集 分布式计算
利用大数据技术优化电商返利系统的效率
利用大数据技术优化电商返利系统的效率
|
10天前
|
存储 数据采集 分布式计算
利用大数据技术优化电商返利系统的效率
利用大数据技术优化电商返利系统的效率
|
2月前
|
分布式计算 监控 Java
Java的大数据处理与分析技术 (2)
Java的大数据处理与分析技术 (2)
|
2月前
|
存储 数据采集 分布式计算
大数据技术生态系统概述
【5月更文挑战第30天】大数据技术生态系统涵盖数据采集(Flume, Logstash, FileBeat, Sqoop, Datax, Canaal, Maxwell)、存储(HDFS, HBase, Kudu, Kafka)、资源管理(YARN, Kubernetes, Mesos)、计算(MapReduce, Spark, Storm, Flink)、分析(Hive, Impala, Kylin, Clickhouse, Druid, Drois)、任务调度(Azkaban, Oozie, DolphinScheduler)及底层技术(Zookeeper)。
53 1
|
2月前
|
分布式计算 Hadoop 大数据
探索大数据技术:Hadoop与Spark的奥秘之旅
【5月更文挑战第28天】本文探讨了大数据技术中的Hadoop和Spark,Hadoop作为分布式系统基础架构,通过HDFS和MapReduce处理大规模数据,适用于搜索引擎等场景。Spark是快速数据处理引擎,采用内存计算和DAG模型,适用于实时推荐和机器学习。两者各有优势,未来将继续发展和完善,助力大数据时代的发展。