摘要: 做事情不能单单盯着KPI,不是KPI的事情不做。
《沉淀》是云栖社区展示专家风采的人物栏目。它呈现每个专家独一无二的人生经历、认识和感悟的同时,也能帮助你沉淀技术,收获对技术和人生的判断。我们的想法是:“若你想精进为一个很厉害的人,不妨细细品味这些技术牛人背后的沉淀。
提到程序员三个字,有些人的固有印象里会立马冒出如下标签:屌(码)丝(农)、不修边幅、没情调……
而光哥,哦,不好意思——应该是“光戈”,在内网的18个标签中,被以下三大类占据:
-
富二代她父亲…
-
身材非常棒…
-
会做肉松,有点2的光光…
在技术上,2014年转型做大数据,他研发的产品,在不增加任何投入的情况,将计算集群的CPU利用率从30%多提升到70%以上,极大地提高了服务器的利用率;与此同时,他在内网的技术社区上(ATA),活跃度在全集团前十。
是的,这是一位事业有成,生活有质量,也有品位的技术人。如果把时钟往前拨,回顾他的整个技术生涯,你会发现,今天处之泰然的背后,也有艰辛:
1.因为工作,三年间几乎跑遍整个河北省和河南省;
2.因为想成为一名DBA,于是他把市面上的相关书籍都看了,并且写了几百篇Oracle的文章;
……
光戈是谁?做什么工作?究竟是怎么样的一个人?他的人生经历和技术思考能给大家带来什么样的启发?第13期《沉淀》人物栏目专访了这位阿里专家。
三年时间,跑遍了整个河北和河南省
照片背后的故事:“这种(照片)行么?”如果你是最想放这种照片,是可以的。“好,就这个!”
光戈,真名孙伟光,他是阿里数加平台数据集成产品的负责人,工作内容是领导阿里集团内专有云、公有云环境的数据采集,以及传输和分发。目前经他保障集团和公有云的实例每天有数十万,数据同步将近千TB。
孙伟光2004年毕业于沈阳工业大学,毕业后就加入了东软,负责社保软件的开发。这是一份负责医疗保险软件的开发和实施的工作,包括社保中心端和医院(药店)医保系统。看似是份普通的开发工作,然而工作内容很杂,他要负责包括开发、部署、维护、签合同以及收合同款……等等的工作。这样的工作,他硬生生地做了三年,而与之伴随的则是三年的时间,他也几乎跑遍了整个河北和河南省。
对于这段经历,孙伟光最难忘的是在邢台。在那,他差不多待了将近一年的时间。这一年,他与同事承担起整个邢台医保中心软件的开发和实施,以及全市上百个医院和药店的维护工作。在他人看来,这段疯狂的出差经历,是十足的苦差事,但在孙伟光眼中,他却看到了“收获”二字。“这段经历让我学会如何与人沟通,推进事情;也学会如何承担责任。”在采访中,他澄沙汰砾地回复云栖社区。
2007年,孙伟光加入阿里巴巴B2B。之所以选择阿里B2B,是因为他想成为一名DBA,而当时的B2B在整个中国DBA领域有着巨大的影响力。
为了实现这个梦想,他开始每天泡ITPUB,并把市面上所有关于Oracle的书籍都刷了一遍。对于当时的疯狂,他回忆:“每天都在电脑上做测试,为了沉淀所学,甚至还写了几百篇有关Oracle的文章。”
理想和现实总是会有些许差距的,有的人会叹不如意,就此自怨自艾;而有的人则视为是一个新的起点,不断上进。孙伟光是加入了阿里,并且部门也是B2B,然而岗位却是数据仓库。但这位乐天派的技术人显然是后者,丝毫不以为意,他觉得岗位跟DBA是有些区别,但好在总是跟数据相关。
从开发转做数据仓库,颇有些挑战。一个挑战是工作环境,东软基本都是Windows开发,而阿里则是Linux……总体来说,这个挑战还好,只要稍微用点时间就能适应。最大的挑战是数据仓库的工作一半是技术,一半业务,需要投入很大的精力来理解业务,并且要思考如何通过数据来提升业务。
“一半是技术,一半是业务,你是如何应对这个挑战的?”
“经常到财务那边,与业务同学‘亲密’接触。”他很认真的说到。
将计算集群的CPU利用率从30%多提升到70%以上
2014年,孙伟光加入阿里云ODPS团队,开始做HBO。
HBO(History-Based Optimization)是基于任务执行历史的优化,通过对任务历史执行情况的分析,根据优化规则生成更加高效的执行方式。简单点,则可以理解为:任务执行历史+集群状态信息+优化规则→更优的执行配置。
为什么要做HBO,孙伟光说:“当时开发的背景是整个ODPS的集群利用率比较低,而ODPS的任务优化又是专业度比较高的事情,用户很难自己进行优化。”因此,孙伟光被委以重任,负责开发这样的一款产品。
实际上,在HBO开发之前,是没有可以参照、对比的竞品。在独自摸索的情况下,孙伟光终于把HBO开发成功,不仅成功,而且成绩斐然——HBO在不增加任何投入的情况,将计算集群的CPU利用率从30%多提升到70%以上,极大地提高了服务器的利用率。
将计算集群的CPU利用率从30%多提升到70%以上——这是如何做到的?孙伟光在访谈中剖析:“简单来说,问题的根本是ODPS默认的资源分配规则并不适合集群的现状,而HBO除了会分配更多的资源给大任务,加速其运行;也会分配较少的资源给小任务,在保证其执行效率的前提下节省更多的资源。”
轻描淡写的背后,则埋藏着一个又一个的难解问题。其中一个难题是:每次HBO的规则变化都需要在线上和生产环境中验证。那如何减少对线上任务产生不良影响的前提下,推动规则的优化和发展?
“我的解决方法是:与当时公共层的ETL开发任务一起合作;其次对每次的规则优化采取渐进式的手段,控制影响范围,并详细记录优化前后的数据变化,及时对优化前后的效果做回收。”正如他回答中一贯的干练形象,对于难题的解决究竟都经历了啥,孙伟光并没有铺垫其他东西,而是说出答案直指问题。
针对产品本身数据的分析和挖掘,往往能带来意想不到的提升
在ODPS,孙伟光虽然只工作了三年,但他一直在做数据相关的工作,并经历了一些部门和岗位。
因此,这位和数据打交道的技术人沉淀了不少心得,他和云栖社区提到其中一点:“虽然周围人都是做数据的,但是大家其实对本身产品的一些数据并不那么在意。然而针对产品本身数据的分析和挖掘,往往能带来意想不到的提升。”
他怕笔者不理解,就举了一个例子:“拿阿里集团内部的数据集成产品来说,印象中离线的数据集成任务都是同步数据量相对比较大,同步时间比较长。”
孙伟光进一步叙述他的发现——通过对历史数据的分析发现,大部分离线的任务也是执行时间比较短的任务,所以对整个传输流程中的优化是比较重要的,这样能极大的提高同步外的时间消耗,提高同步效率。
“在设备非常多的今天,数据越来越大,也越来越杂,在如何保障数据采集、传输和分发更加高效、稳定上,你是否有一些心得?”云栖社区追问。
孙伟光的回答一如既往的干练,他认为想要保证数据采集,传输和分发更加高效,稳定,一定要对整个数据集成的过程都有深刻的理解。他接着进一步阐述该如何去做:“你需要了解每种数据源的特性,需要了解网络传输的底层原理,只有这样才能做更有针对性的优化和提升。”
最后,我们也聊到数据采集、传输和分发的未来趋势,云栖社区总结了他回答中的两个关键词:“成本低”和“智能”。具体来看则是,未来用户使用成本会越来越低,对他们而言未来只需要关注任务配置,而其他的事情全部交给产品本身;同时,产品会越来越智能,通过对执行历史的学习,根据优化规则,自动的对整个数据传输过程做智能的优化。
结束语:多行善事,莫问前程
回顾自己整个技术生涯,孙伟光觉得自己最重要的是技能是,通过对产品相关数据的学习和分析,快速理解一款产品在各个方面的状态。对于即将毕业的计算机系同学,他给了一些技术发展建议:思路要尽可能的开阔,提高技术的广度。
这位喜欢举铁的技术人,每周都会坚持健身,他说健身的时候比较放松,一些工作上的思考放在这个时间,往往能有意想不到的收获。
他最喜欢的一句话是——多行善事,莫问前程。
“能说说你的进一步理解吗?”云栖社区想挖一挖背后的缘由。
“做事情不能单单盯着KPI,不是KPI的事情不做。”他的简洁和直指问题本质的能力又出来了。他知道当下各大互联网公司KPI的管理弊端,以及互联网人的本位主义、急功近利和本末倒置。
隔了一会,他复又在回复中敲了如下几个字:“多做些有意义的事情,别太在乎得失。”
想起他为什么能将计算集群的CPU利用率从30%多提升到70%以上,也想起他为什么能发现——“针对产品本身数据的分析和挖掘,往往能带来意想不到的提升。”
至此,一切都明了(本期接受访谈的云栖专家/光戈;文/我是主题曲哥哥)。
-
《沉淀》第十二期:【[沉淀]从网络中间件到搜索,从移动开发到分布式计算平台,阿里高级专家李睿博谈自己的折腾路】整个过程我觉得还是爱最重要。有爱才有勇气才有希望。我是真的爱写代码。从小学就开始爱,到现在快三十年了也还爱。
-
《沉淀》第十一期:【[沉淀]阿里高级专家应答:各种数据在一个统一计算平台上的融合,才能产生更大的价值】阿里巴巴这种超大数据体量上才会遇到的独特挑战,让应答在技术上有了更清晰的认识,一定要夯实分布式系统的基础。“只有把基础夯实了,才能支持上层各种计算场景在大体量上的实现,让各种新的算法在‘阿里体量’上真正发挥潜力。”
-
《沉淀》第十期:【[沉淀]云架构师前(钱)景这么好,我们该如何转型?这有两位阿里云云架构总监多年心得】云架构师任职都有什么要求?他们的日常是什么样的?相关人员如何向云架构转型?就此,云栖社区就此采访了阿里云两位资深专家:阿里云云架构总监Danny Liu和阿里云国际业务部云架构总监王宇德。
原文链接:
https://yq.aliyun.com/articles/157299
相关推荐
单项海洋环境影响评价等级表.docx
【作品名称】:基于AT89C51 单片机为核心器件,程序设计采用C 语言,Keil 软件编译程序,配以相关外围接口电路,实现了方波、锯齿波、正弦波、三角波、梯形波五种特定波形的产生【论文+源码】 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】:本设计中的波形发生器系统要求基于51单片机,因此选用以AT89C51单片机作为整个系统的控制核心,应用其强大的接口功能,构成整个波形发生器的硬件系统。使用C 语言对单片机编程可产生相应的正弦波,方波,三角波,锯齿波梯形波波形信号。在程序运行时,当接收到按键信息后,需要输出某种波形时,调用相应的中断服务子程序和波形发生程序,经电路的数/模转换器和运算放大器处理后,从信号发生器的输出端口输出即可得到要求的波形。 当需要改变频率时只需要改变单片机的波形发生程序中的递增或者递减变量即可。 【资源声明】:本资源作为“参考资料”而不是“定制需求”,代码只能作为参考,不能完全复制照搬。需要有一定的基础看懂代码,自行调试代码并解决报错,能自行添加功能修改代码。
数学建模培训资料 数学建模实战题目真题答案解析解题过程&论文报告 完全多元图的最大匹配问题研究 共9页.pdf
本项目是基于Python Web的社区爱心养老管理系统,旨在为社区养老提供一个全面、高效的管理平台。系统集成了用户管理、老人信息管理、健康管理、活动管理、服务管理等多项功能,通过简洁明了的界面,让管理人员能够轻松地进行各项操作,从而更好地服务于社区老人。 在架构上,系统采用B/S模式,前端使用HTML、CSS、JavaScript等技术,搭配Vue.js框架,实现了用户友好的交互界面;后端则基于Python的Django框架,提供了稳定且高效的服务端逻辑处理能力。数据库选用MySQL,确保了数据的存储安全和高效访问。 开发此项目的目的,不仅是为了满足计算机相关专业学生的毕设需求,提供一个实战练习的平台,更是希望通过实际项目的开发,培养学生的专业技能和实践能力,同时,也希望能为社区养老服务贡献一份力量,通过科技手段,让老年人的生活更加美好、便捷。
教学版单体spring-petlinic,课程《Kubernetes微服务实践》
内容概要:本文介绍了16世纪法国外交家Blaise de Vigenère提出的一种多表密码算法,详细解释了Vigenère密码的加密解密机制及其历史应用背景。特别提到了当明文M的长度超过密钥K的情况下,密钥会被重复使用的技巧。 适合人群:对古典密码学感兴趣的初学者,以及希望深入理解密码编码基本原理的学习者。 使用场景及目标:了解Vigenère密码的工作原理,掌握简单的加解密技术,增强信息安全意识。能够自行实施加解密操作,理解经典密码学的基本概念和技术。 其他说明:本文不仅提供了理论讲解,还给出了具体的例子帮助理解和实操练习。
STM32-EMBPI : Embedded Pi, triple-play platform for STM32, Raspberry Pi and Arduino
内容概要:本文主要探讨了电子电气架构中的网络管理策略,尤其是针对汽车中多个ECU(Electronic Control Unit)的协同管理和低功耗设计。通过引入网络管理状态机的概念,详细介绍了各状态(如常规运行状态、重复报文状态、准备睡眠模式、预睡眠模式、深度睡眠模式等)的具体运作机制及其在汽车电子系统中的重要性。文中还讨论了网络管理报文的设计与传输规则,特别是控制位向量CBV的定义,强调了网络管理在节能降耗方面的关键作用。 适用人群:具备一定汽车电子工程背景的专业人士或研究者,尤其对网络管理及低功耗设计感兴趣的工程师。 使用场景及目标:适用于汽车设计与制造企业的研发部门,帮助其优化电子控制系统,提升产品能效比,降低维护成本,提高用户体验。通过对网络管理策略的理解与应用,达到降低车载电子系统功耗的目的,进而延长电动车的续航能力和降低传统燃油车的油耗。 其他说明:文章不仅提供了理论上的阐述,还包括了具体的操作指南和技术细节,有助于从业者深入理解和实施网络管理方案。同时提醒在现代信息化社会中保持屏蔽力的重要性,鼓励读者专注于自己的发展目标,避免无效的精力分散。
英飞凌TC3XX_MCAL培训PPT
缴费综合服务系-JAVA-基于springBoot高校网上缴费综合服务系统设计与实现
Python与机器学习方向,《TensorFlow基础教程》课程仓库
【资源说明】 本科毕业设计 基于Python+Django教学资源管理系统网站详细文档+全部资料.zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
内容概要:文章详细讨论了汽车行业正经历的重大变革,尤其是电动汽车(EV)和软件定义汽车(SDV)对行业的深远影响。随着技术的进步,汽车的差异化优势不再仅限于机械硬件,而是越来越多地取决于软件和服务。这一转型要求汽车制造商重新评估现有的解决方案堆栈,加大在电气化和连接性等领域的投资,以实现车型的电气化并支持可扩展性和全生命周期更新。同时,汽车的开发重点已经从机电领域转向了芯片和软件领域,强调基于云计算的协作开发方法。 适合人群:汽车行业专业人士、汽车电子工程师、技术研发人员及政策制定者。 使用场景及目标:帮助读者理解和把握汽车行业数字化转型的趋势,指导他们在电动汽车和软件定义汽车领域做出正确的技术投资和战略调整。 其他说明:本文不仅讨论了技术变革,还深入剖析了由此带来的商业和运营模式的变化,为汽车行业的未来发展方向提供了洞见。
微信课堂助手 微信小程序+PHP毕业设计 源码+数据库+论文+启动教程
新设博士后科研工作站备案申请表.xlsx
的玩具 Python 实现手套蟒蛇GloVe的玩具 Python 实现。Glove 产生单词的密集向量嵌入,其中一起出现的单词在生成的向量空间中靠得很近。虽然这会产生与word2vec (在gensim中有一个很棒的 python 实现)类似的嵌入,但方法不同GloVe 通过对语料库词共现矩阵的对数进行分解来产生嵌入。代码采用异步随机梯度下降,用Cython实现,很可能存在大量bug。安装使用 pip 从 pypi 安装pip install glove_python。OSX 用户请注意由于使用 OpenMP,glove-python 无法在 Clang 下编译。要安装它,您需要一个较新的版本gcc(例如来自 Homebrew)。应该由 接收setup.py如果没有,请打开一个问题。使用 OSX 中包含的默认 Python 发行版进行构建也不受支持请尝试 Homebrew 或 Anaconda 中的版本。用法生成嵌入分为两个步骤从语料库中创建共现矩阵,然后使用它生成嵌入。该类Corpus有助于从可交互的标记构建语料库该类Glove训练嵌入(使
消息中间件rabbitmq学习的一些代码、笔记
环境说明:开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7 数据库工具:Navicat 开发软件:eclipse/myeclipse/idea Maven包:Maven 浏览器:谷歌浏览器。 项目均可完美运行
空气质量现状评价表.docx
建设工程施工现场消防安全检查表.docx