欢迎各位阅读本篇文章,本篇文章讲述了教大家如何在职业发展中计划任务,课课家教育平台提醒各位:本篇文章纯干货~因此大家一定要认真阅读本篇文章哦
有处在十字路口的数据职场人写信给我,谈到了职业发展的困惑,谈到了能否跳槽,这是个沉重的话题,今天就来聊一聊,权当回信吧,仅作参考。
从技术通道讲,数据岗位大致分为5类,不同的行业分法和叫法可能不同,大家意会就行,当然管理人员不在讨论范围之内。
1、数据分析师:也可叫作经营分析师,比如撰写经营分析报告,这类工作大多在业务部门,其主要的工具是Excel及PPT,基础数据大多需要技术部门提供,可能自己也掌握一些可视化挖掘工具,比如SAS或SPSS,当前跟数据挖掘师的边界开始模糊,互相渗透吧,其核心使命是为公司决策提供服务。
2、数据挖掘师:主要基于数据仓库或大数据平台,通过挖掘算法进行模型的创建和学习,其与经营分析师有很多相似之处,比如都需要理解业务、数据和场景,最大的区别就是具备较高的开发技能,比如掌握了Python、Scala等挖掘语言,能够操作专门的挖掘平台等等,现在很多的岗位如数据科学家啥的,都同出一脉,其核心使命是挖掘数据价值为应用服务。
3、数据开发师:主要根据业务的要求提供取数或报表开发支撑,其在各个行业都是非常庞大的群体,与数据挖掘师的区别就是一般用不到挖掘技能,比如用简单的SQL就能搞定,一般数据挖掘师都经历过数据开发师这个阶段,其核心使命是完成数据需求。
4、数据架构师:这类人员是数据仓库或大数据平台的数据建设和运营者,负责数据的采集、建模及治理,注意这里的建模是数据仓库建模,不是指数据挖掘,其核心使命是建设一个可用的数据系统并确保数据可用。
5、平台架构师:负责数据仓库或大数据平台各类产品的规划和建设,很多时候,其包含了数据架构师的职能,其核心使命是满足数据计算、存储和查询要求。
很多公司没有分这么多岗位,要么是一人承担多种工作,比如数据架构师和数据开发师混编,数据挖掘师和数据分析师混编,要么没有相关岗位,比如没有数据挖掘师,虽然很多岗位是想通的,但其实每类岗位专业技能要求还是有所不同,如果你想做精做深,就需要明白其中的区别,明确自己真正的专业方向,不同企业同样一个数据分析师的称呼,做的可是天壤之别。
比如大家看到大数据很热,以为自己在企业也搞数据,就认为很有竞争力,但仔细剖析一下,就会发现诸如BAT招聘的数据分析师根本不是你以为的数据分析师,大多企业搞数据的其实都不能胜任,因为混淆了概念。
如果你搞清了自己归属哪一种类别,我们就可以来谈谈具体的要求和评估下自己所处的阶段。
吴军把工程师分为五个等级,第五级是能独立完成所分配的工作,第四级是能指导和带领
启用 safe-update 选项,避免没有 WHERE 条件的全表数据被修改;
在应用中尽量不直接DELETE删除数据,而是设置一个标志位就好了。需要真正删除时,交由DBA先备份后再物理删除,避免误操作删除全部数据。
还可以采用触发器来做一些辅助功能,比如防止黑客恶意篡改数据。
3. MySQL账号权限规则
业务帐号,权限最小化,坚决不允许DROP、TRUNCATE权限。
业务账号默认只授予普通的DML所需权限,也就是select、update、insert、delete、execute等几个权限,其余不给。
MySQL初始化后,先行删除无用账号,删除匿名test数据库
mysql> delete from mysql.user where user!='root' or host!='localhost'; flush privileges;
mysql> drop database test;
创建备份专用账号,只有SELECT权限,且只允许本机可登入。
设置MySQL账号的密码安全策略,包括长度、复杂性。
4. 关于数据备份
记住, 做好数据全量备份是系统崩溃无法修复时的最后一概救命稻草 。
备份数据还可以用来做数据审计或是用于数据仓库的数据源拉取之用 。
一般来说,备份策略是这样的: 每天一次全备,并且定期对binlog做增备,或者直接利用binlog server机制将binlog传输到其他远程主机上 。有了全备+binlog,就可以按需恢复到任何时间点。
特别提醒:当采用xtrabackup的流式备份时,考虑采用加密传输,避免备份数据被恶意截取。
外网安全策略
#p#分页标题#e#
事实上,操作系统安及应用安全要比数据库自身的安全策略更重要。同理,应用程序及其所在的服务器端的系统安全也很重要,很多数据安全事件,都是通过代码漏洞入侵到应用服务器,再去探测数据库,最后成功拖库。
1. 操作系统安全建议
运行MySQL的Linux必须只运行在内部网络,不允许直接对公网暴露,实在有需要从公网连接的话,再通过跳板机做端口转发,并且如上面所述,要严格限制数据库账号权限级别。
系统账号都改成基于ssh key认证,不允许远程密码登入,且ssh key的算法、长度有要求以确保相对安全。这样就没有密码丢失的风险,除非个人的私钥被盗。
进一步的话,甚至可以对全部服务器启用PAM认证,做到账号的统一管理,也更方便、安全。
关闭不必要的系统服务,只开必须的进程,例如 mysqld、sshd、networking、crond、syslogd 等服务,其它的都关闭。
禁止root账号远程登录。
禁止用root账号启动mysqld等普通业务服务进程。
sshd服务的端口号建议修改成10000以上。
在不影响性能的前提下,尽可能启用对MySQL服务端口的防火墙策略(高并发时,采用iptables可能影响性能,建议改用ip route策略)。
GRUB必须设置密码,物理服务器的Idrac/imm/ilo等账号默认密码也要修改。
每个需要登入系统的员工,都使用每个人私有帐号,而不是使用公共账号。
应该启用系统层的操作审计,记录所有ssh日志,或利bash记录相应的操作命令并发送到远程服务器,然后进行相应的安全审计,及时发现不安全操作。
正确设置MySQL及其他数据库服务相关目录权限,不要全是755,一般750就够了。
可以考虑部署堡垒机,所有连接远程服务器都需要先通过堡垒机,堡垒机上就可以实现所有操作记录以及审计功能了。
脚本加密对安全性提升其实没太大帮助。对有经验的黑客来说,只要有系统登入权限,就可以通过提权等方式轻松获得root。
2. 应用安全建议
禁用web server的autoindex配置。
从制度层面,杜绝员工将代码上传到外部github上,因为很可能存在内部IP、账号密码泄露的风险,真的要上传必须先经过安全审核。
尽量不要在公网上使用开源的cms、blog、论坛等系统,除非做过代码安全审计,或者事先做好安全策略。这类系统一般都是黑客重点研究对象,很容易被搞;
在web server层,可以用一些安全模块,比如nginx的WAF模块;
在app server层,可以做好代码安全审计、安全扫描,防止XSS攻击、CSRF攻击、SQL注入、文件上传攻击、绕过cookie检测等安全漏洞;
应用程序中涉及账号密码的地方例如JDBC连接串配置,尽量把明文密码采用加密方式存储,再利用内部私有的解密工具进行反解密后再使用。或者可以让应用程序先用中间账号连接proxy层,再由proxy连接MySQL,避免应用层直连MySQL;
最后我们想说, 任何高明的安全策略,都不如内部员工的安全意识来的重要 。以前发生过一起案例,公司内有位员工的PC不慎中毒,结果导致内网数据被盗。
安全无小事,每个人都应铭记于心。在数据安全面前,可以适当牺牲一些便利性,当然也不能太过,否则可能得不偿失。
其他人一同完成更有影响力的工作,第三级是能够独立带领人做出一个为公司挣得利润的产品了,第二级是能够做出先前没有的东西的人,第一级是开创一个产业的人。
当然我们不需要像吴军定义的那么的高大上,笔者也只是针对5年以内的数据新人所处阶段给个大致评估,数据科学家或资深人士啥的超出了范围,而且数据工作越往后越强调创造性,因此没法评估。
1、数据分析师的基本要求是懂企业的业务和数据,具备写报告的能力,所处的阶段,跟自己所处的企业强相关,你提交的经营分析报告能够呈送到公司哪一层,就代表了你的水平,比如你主要为科室写,就代表了达到科室的水平,如果你的报告能在公司的市场经营分析会发表,就代表了公司的市场水平,如果你的报告给老大,就代表了公司的水平,经营分析报告考验的一方面当然是你的数据分析水平和业务能力,但更考验的是你的沟通力、理解力和表达力。
数据为根,领导为本,数据分析师从事的工作也算是一门艺术。
#p#分页标题#e#
2、数据挖掘师所处阶段很难划分,纯粹从技能的角度看,第一阶段是能理解业务和数据,能熟练的处理数据,以经验导向去打造一个模型,这算是入门了,第二阶段是对统计学有一定理解,掌握专门的挖掘引擎,能采用更为科学的方式去打造一个模型,第三阶段是自己搞算法去创造一个模型,这在很多应用型企业不太需要,基本上是数据科学家要干的活了。
上面仅仅是从技能的角度做了划分,数据挖掘最终还是要效果导向,无论你掌握了什么技能,最主要的评估依据是创造了多少效益,即使你经验导向,模型没有采用什么算法,但只要效益高,就可以称是个好的挖掘师,因为你拥的数据和业务经验足以弥补挖掘技能的短板。
传统数据挖掘业务理解和数据处理占到了70%以上精力,因此技能要求并不是那么苛求,但随着大数据的来临,海量数据处理、机器学习的技能要求会大幅加大,比如计算优化啥的,这已经不是业务经验所能弥补的,要靠一定的技术,很多互联网公司对于数据挖掘师都提出了相关的技术要求,由此可见一般。
3、数据开发师本质属于开发人员,就是俗称的码农,只是他操作的平台大多是数据仓库类OLAP平台,使用的语言大多是SQL,展现的方式大多是报表、指标或清单,业务和数据理解力基本代表了其开发水平,因此,评估的方式既有传统的开发人员的及时率啥的,也包括数据准确性等指标,公司的运营报表,KPI指标都依赖于代码质量,影响也不可谓不大。
数据开发师的技术通道较窄,除了上升为管理者,常见的是转型成为数据架构师或数据挖掘师。
4、数据架构师相对于数据开发师内涵更广,视野更宽,其致力于企业数据的采集、整合和治理,如果说数据开发师侧重于满足一个个数据需求,数据架构师则侧重打好数据基础,为前者提供更好的服务保障,我们通常说的数据仓库建模、数据质量管理、元数据管理等等,都是其工作范围,阿里不是在提打造小前台,大中台吗?那么数据的大中台谁来打造,就是数据架构师,可以这么说,数据架构师是公司数据资产的总体设计师。
注意数据架构师和大数据架构师是两个概念,大数据架构师前面的大数据是大数据领域的概念,一般是指大数据平台的架构师,数据架构师的数据才指真正的对于数据的规划。
数据架构师的评估比较难,因为领域覆盖很广,很多企业实际将其职能分散到了多个人手中,比如数据仓库由项目经理建设,数据治理工作则让运维人员负责,这导致了建设和运维的脱离,两张皮现象使得数据治理工作很难真正落地,实际上数据管理领域是最需要DevOps的。
基于实践的认知,笔者觉得初级的数据架构师一般只具备单点能力,比如能规划企业的数据蓝图,能完成企业相关数据管理规范的制定,或是能完成一个数据仓库、数据质量或元数据项目,优秀的数据架构师则能贯通管理、开发和运维线,让数据规范能在实践中真正落地。
没有做过数据开发,就不要轻易让人做数据架构,很容易眼高手低,那种没做过数据仓库的,一上来就谈数据管理的,大多也是无法落地的。
5、平台架构师就不用多说了,完全技术导向,如果懂业务和数据更好,不懂也没关系,一般的技术控走的都是这条路线,之所以将其纳入数据人的范畴,是因为大数据时代系统和数据耦合性越来越高,诸如深度学习、人工智能什么的,算法能否高效,已经不仅仅是个数据问题,也是个平台问题。
但即使你有了很强的能力,也并不代表你对外就有竞争力,比如你在一个企业内可能很厉害,对外却是一文不值,因为你的能力在自己的企业可能是稀缺的,独特的,但对外则要遵循市场的供求关系。
有了这些铺垫,我们就来谈谈数据人跳槽的可行性问题,不同的数据岗位行业需求不一样,决定了你的实际竞争力。
如果你的数据技能越通用,意味着社会需求就多,如果再加上你不俗的能力,你对外就有相当的竞争力。
#p#分页标题#e#
相比较而言,当前外部最稀缺的是数据挖掘师和平台架构师,大家在招聘网站上看到的,大多都是这类岗位,大数据时代到来,让具备这类技能的数据人员有很大的跳槽优势,这是一条路很宽的康庄大道,如果已经走在这条道上了,就持续的提升这方面的专业能力吧。
每个行业这类岗位的优秀人员,往往是在企业内部的平台上千锤百炼出来的,实践经验很丰富,决定了较其他没有环境的读书派,自学派有独天独厚的优势,比如数据挖掘师,假如你所在的企业有海量的数据,就要用好这个优势,无论于甲方乙方。
数据分析师(经营分析师)实际是最难跳槽的,因为你的专业知识跟你所在的企业相关性很大,你理解的业务和数据可能仅在你的企业有用,如果换了一个企业,知识体系可能需要推倒重来,当然很多数据分析师养成了很好的逻辑思维能力,也有很好的方法论,但这个属于管理层面的技能了,外面评估你也不再会是专业技能,而是你所在企业的职位高低了,因此,你懂的。
数据开发师包含了我们广大的表哥群体,但很遗憾,从专业技能的角度看,在外面也没有什么竞争力,你熟悉的业务和数据圈子太小了,报表和取数实际也并不需要太多的专业技能,如果不想做管理,建议逐步往数据挖掘师、平台架构师进行转型,数据开发师在日常工作中会接触到很多的平台技术,要抓住参与的机会。
最后,谈谈很纠结的数据架构师,也是写信给我的同仁当前所做的工作,从来信中感觉她更侧重于数据治理方面。
从数据建模的角度讲,业务为王,毕竟数据仓库都是分主题的,不熟悉业务和数据就不要来做数据仓库,决定了在数据仓库方面的能力只能在所属的行业有竞争力,比如笔者就没看到过金融行业的建模团队可以马上转到通信行业建模的。
从数据治理的角度讲,虽然其有一套方法论,但笔者没有看到过有专门的外部数据治理团队能从天而降来做好我的企业的数据治理的,销售数据治理产品还可以,但具体的数据治理工作还是依赖自己企业的人员,其牵扯的企业环节太多了。
因此,如果做数据架构师,还是很能锻炼能力的,但数据架构师属于练内功的事情,离业务远了一点,价值较难评估,导致在一些企业并不很受重视,同时数据架构师蛮吃行业,一般企业不会冒险去对外招聘一个数据架构师,毕竟首先得理解自己企业的数据。
但未来数据架构师行情看好,因为大数据成为企业的资产,数据资产管理工作举足轻重,笔者从BI时代走来,深刻感觉到当前企业内的数据架构师变得越发重要,成为稀缺的人才。
以上五类还有一个转型或升级方向是去做数据产品的相关岗位,比如售前啥的,如果你沟通表达不错,善于与客户相处,加上你已有的数据背景,当然这个没有客观评定的标准了,身边这类例子还是蛮多的。
总之,1-5年的数据人,需要客观的认识这五类数据工作的性质,明确自己的专业发展方向,虽然我们强调综合性人才,但对于数据类工作一定要精通一门,知道自己的擅长和局限之处,不要好像什么都懂一点,但其实哪样都不精通,这是大忌,其实任何一门只要沉下心去做,达到出类拔萃的境界,就不会受上面所说的一些限制了。
如果真得想换个环境,其实可以看看招聘网站相关的要求,大致也可以了解自己的竞争力如何,应该如何改进,希望能给予一些启示。
相信最后大家阅读完毕本篇文章,肯定学到了不少知识吧?其实大家私下还得多多自学,当然如果大家还想了解更多方面的详细内容的话呢,不妨关注课课家教育平台,在这个学习知识的天堂中,您肯定会有意想不到的收获的!