• 回答数

    5

  • 浏览数

    225

阿甘终结者
首页 > 工程师考试 > 数据库工程师培训技巧

5个回答 默认排序
  • 默认排序
  • 按时间排序

茜茜Julie

已采纳

数据库工程师以技术为基础,通过技术保障数据库提供更高质量的服务。数据库工程师工作的职责及在业务中的位置决定了数据库工程师需要具备更加广博的知识和深入的技术能力。在数据库环境的管理与维护中,技术任务可归结成许多不同的分类。下面列出了一名数据库工程师应掌握的一些技能:1)理解数据备份/恢复与灾难恢复恢复已损坏的数据库是每一个数据库工程师应掌握的最重要的技能。数据库工程师需要完全理解数据库所有可能的备份与恢复方法,以及不同备份方法与不同恢复策略的对应关系。此外,数据库工程师还需要与业务部门合作,一起确认业务需求,明确用户能够容忍的数据丢失底线。此外,业务用户还需要确定在系统故障情况下,他们的业务能够维持多长时间。理解这些需求可以帮助数据库工程师开发出一个满足业务用户要求的备份/恢复方法。一个优秀的数据库工程师要定期测试备份与恢复流程,保证他们有能力恢复业务数据,满足企业所规定的业务数据丢失与恢复要求。2)工具集的使用所谓工具集,指的是一组用于执行不同数据库工程师任务的脚本。这个工具集应该包含不同的小代码片段,它们可以快速诊断问题或执行一个特定的任务。这些工具脚本应该按数据库工程师的活动类型归类,如备份、索引维护、性能优化、容量管理等。由于总是会执行新任务、发现新问题或找到其他人开发的好用脚本,因此一个优秀的数据库工程师会不断地给这个工具集增加新脚本。此外,他还应该了解网上哪里能够找到一些免费的工具和脚本。一个好的数据库工程师知道什么时候可以利用其他人编写的脚本,从而节省自己的时间和改进自己的工具集。3)知道如何快速寻找答案数据库每天会面临各种各样故障的挑战,从硬件到网络,从性能压力到程序bug,数据库工程师都要从容应对,一一排除。即使是数据库大牛,也不可能是无所不知的,因此每个数据库工程师一方面需要不断修炼自己,积累操作系统、网络、硬件、存储系统、分布式计算等理论基础,另一方面还要有快速寻找新问题解决方法的能力。如果一个数据库实例不能按预期方式运转,那么快速寻找新问题的解决方法也是一个重要能力。一个好的数据库工程师知道如何快速地在网上查找一个未知问题的解决方法。此外,他们也可能已经知道了一些非常不错的网站,也知道业界专家会提供一些好建议,同时知道什么时候应该忽略一些不好的建议。你可能想象不到,确实有一些建议不值得参考。4)如何监控和优化数据库性能对于任何数据库产品,性能都尤其重要,它会直接影响产品的响应速度和用户体验。对于一个数据库工程师来说,性能优化一般需要占用50%的工作时间,因此数据库工程师需要知道如何监控和优化数据性能。以SQL Server举例,性能是一个关键的问题,因此数据库工程师需要知道如何修复故障和监控性能问题。有许多第三方性能监控工具可以帮助数据库工程师优化性能。如果数据库工程师只使用第三方工具,而不会使用SQL Server自带的原生工具来监控性能,那么相信很快就会出现问题。虽然使用第三方工具来监控性能也很不错,但是数据库工程师一定要理解SQL自带的一些原生工具,如SQL Server Profiler、Database Engine Tuning Advisor、Dynamic Management Views、系统/扩展的存储过程、Extended Events等。许多第三方工具实际上在使用这些底层的原生工具。因此,理解这些自带的原生工具将有利于增强数据库工程师使用第三方工具的经验。5)研究新版本在技术领域中,没有什么是一成不变的。每隔两三年,主流数据库厂商都会发布一个大版本的更新。数据库工程师应该紧跟新版本所作的修改,它们可能有许多变化方法,最好的方法是迟早介入这个过程。测试版开放后马上下载和安装,尽快掌握第一手使用经验。一名好的数据库工程师总是走在学习排头兵,总是会第一时间安装和测试新版本。这样他们就可以尽早理解新特性,然后提出一些合理的新建议,帮助组织更好地利用新版本数据库。6)理解代码最佳实践方法数据库工程师应该了解如何编写高效的代码。有许多糟糕的编码实践方法会导致拙劣的性能。一名好的数据库工程师要能够理解和识别这些糟糕的编码实践方法,知道如何修改这些烂代码,让它们变成高效代码。此外,他们还要记录下写代码的最佳实践方法,并且将这些实践方法分享给其他人。7)持续不断地学习数据库及其组件涉及面非常广。数据库工程师很难理解一个技术的方方面面。数据库工程师需要持续学习如何管理数据库。这个学习过程有很多方法。其中之一就是参加正式培训。但是,并非人人都有这样充裕的事件和金钱,也并非人人都能够放下手头工作专门出去参加正式的培训。但是,还有许多其他方法可以获得培训,而且大多数还是免费的。一名好的数据库工程师一定要订阅一些定期发布数据库新技巧和新文章的社区网站。此外,他还应该加入一些用户组织,可以在周末参加一些当地的免费沙龙活动。8)数据库安全性安全性是一个热门话题。数据库工程师应该完全掌握如何实现数据库的安全访问。他们应该理解操作系统身份验证和数据库身份验证的区别,以及它们各自的使用场合。他们应该理解如何使用数据库角色来管理不同类型用户的安全配置。他们应该理解连接数据库的端口与协议。此外,他们还应该理解如何加密整个数据库,或者加密一个数据库中一个表的某一个字段,同时理解关于加密数据的各种问题。9)数据库设计决定数据库性能的一个关键问题是数据库设计。数据库工程师需要理解关于数据库设计的各个方面。他们要能够理解设计好坏的区别。他们需要理解为什么使用正确的外键约束、主键、检查约束和使用数据类型能够保持数据库的数据完整性和实现高效的数据查询与更新。10)索引设计数据库索引是提高应用程序检索和更新数据速度的重要环节。数据库工程师需要知道索引的工作原理。他们应该知道聚簇索引和非聚簇索引的区别,知道这些索引的物理存储方式。数据库工程师应该知道如何在执行计划中使用这些索引。他们应该理解如何找到索引的使用统计、理解索引碎片及如何发现丢失的索引。他们应该知道如何维护索引,以及索引统计信息对于查询引擎的重要作用。11)容量监控与规划数据库往往要使用大量的资源,包括CPU、内存、I/O及磁盘空间。数据库工程师应该理解如何监控数据库所需要的不同主机资源的用量。他们应该能够理解这些资源在不同时间的使用情况,以及利用历史使用数据来规划未来的容量需求。在监控过程中,数据库工程师应该能够预见到容量规划会在将来什么时候出现问题,然后采取必要的措施保持数据库不会因为容量限制而出现中断。12)数据库许可证不同的产品有许多不同的许可证授权方式。而且,同一款产品本身又有许多不同的版本。数据库工程师应该理解所负责的数据库版本的不同授权模式。他们应该能够提供指导如何通过合理购买授权来减少数据库总拥有成本,以及如何合理利用授权方法来降低未来版本的升级成本。13)尽可能实现自动化数据库工程师每天都需要执行许多的日常任务。其中一些任务需要每天执行,而另一些则每周、每月或每年执行。一名好的数据库工程师需要理解如何高效地安排自己的时间。其中一种方法是建立工作流程,这些日常任务的自动执行。通过实现日常任务的自动化执行,数据库工程师就可以用更多的时间去关注于数据库环境管理中遇到的严重问题。你具备的特质越多,作为数据库工程师的你就越优秀。成为一名成功数据库工程师的关键是不断地学习与提高,努力去掌握更多关于如何管理和维护数据库环境的知识。

数据库工程师培训技巧

247 评论(10)

紫色的花瓶

入行大数据分析师必备技能有哪些?大数据分析师需要每天使用各种不同的技能;从深入分析到数据可视化和讲故事的一切。您将在一分钟内编写一个SQL查询来探索数据集,而下一分钟您将站在董事会面前,概述业务如何根据您的发现进行调整。

在介绍了大数据分析师和数据科学家之间的差异,大数据分析师的薪水以及刚起步的人员的一些关键大数据分析术语之后,我们现在将探讨与成为大数据分析师相关的关键技能。您可能已经拥有一些技能,因为它们涵盖了涉及沟通,分析和解决问题的广泛技能。

在入行大数据分析师必备技能有哪些文章中,我们将深入了解成为大数据分析师的意义。AAA教育目前正在提供一个简短的大数据分析课程,该课程的重点之一是掌握Microsoft Excel(分析的关键工具)的基础知识。这是对大数据分析的清晰易懂的介绍,它将教您与成为大数据分析师相关的核心技能之一。它还会轻而易举地消除您可能对该领域是否适用存在的任何疑问:是的,您也可以成为大数据分析师!

成为大数据分析师:您需要的关键技能

优秀的解决问题能力

扎实的数字技能

Excel熟练程度和查询语言知识

数据可视化方面的专业知识

良好的沟通能力

关键要点

1.优秀的解决问题能力

解决问题是大数据分析师应具备的最重要技能之一。大约90%的分析与批判性思维有关,并且知道要提出的正确问题。如果您提出的问题基于对业务,产品和行业的了解,那么您将获得所需的答案。大数据分析就是要提出一个问题(即“为什么我们不卖更多的红色自行车?”),并执行必要的调查任务以找到答案。

大数据分析主要涉及对遇到的问题进行逻辑思考。如果您熟悉数据的挑战和细微差别,您将更快地得出正确的结论。如果红色自行车卖得不好,那为什么会这样呢?是因为其他颜色的范围更大吗?红色自行车的价格通常高于其他自行车吗?红色自行车是否仅以山地自行车形式提供,因此不鼓励城市居民购买?大数据分析师通过使用他们的逻辑来理解数据可以更快地得出结论。

2.扎实的数字技能

许多大数据分析师并非来自数字世界,通常是来自业务或营销背景。随着您的发展,完全有可能增加对这一领域的了解。虽然不一定是“技能”,但对于任何有抱负的大数据分析师来说,拥有数字天赋无疑是一件好事。您需要从正规教育或其他经验中获得一定程度的数字专业知识。您可以学习与大数据分析相关的大多数数字技能,例如回归分析,它涉及检查两个或多个变量及其关系,而无需回到学校。

在统计方面有充分的基础也是有益的。您需要对查询有所了解,查询是计算机用来执行任务的命令。在分析中,这些命令用于从数据集中提取信息。精通应用科学和线性代数的知识将使您更轻松,尽管如果这对您来说还是个谜,请不要放任。

3.精通Excel和查询语言知识

如前所述,Microsoft Excel的知识是有效大数据分析的一项基本技能。这是一个电子表格程序,全球数百万人使用它来存储和共享信息,执行数学和统计运算以及创建总结重要发现的报告和可视化效果。对于大数据分析人员来说,它是一个强大的工具,可用于快速访问,组织和处理数据以获取和共享见解。大数据分析师每天都会使用Excel,因此您将必须从数据透视表中真正了解您的VLOOKUP。是否想找出红色自行车卖得最多的地方?好奇红色自行车的平均价格是否高于蓝色自行车?Excel可以帮助提供此类问题的答案。

除Excel之外,分析人员还需要熟悉至少一种查询语言。这些语言用于指示计算机执行特定任务,包括许多与大数据分析有关的任务。用于大数据分析的最受欢迎的语言是SQL和SAS,而诸如Python和R之类的编程语言则具有各种专用于分析数据的强大程序。

许多可用的语言执行不同的功能或适应某一特定行业。SAS主要用于医疗行业,而SQL通常用于从数据库检索数据。如果您对自己想从事的行业有所了解,那么进行一些研究并找出它们使用的语言是有益的-为您最感兴趣的行业量身定制学习是一个明智的举动。

4.数据可视化方面的专业知识

很难处理一个复杂的主题并以简单的方式介绍发现的结果,但这正是大数据分析师的工作!这是关于将您的发现转化为易于消化的信息块。用数据讲述一个引人入胜的故事至关重要,而其中很多都涉及视觉辅助工具的使用。图形和饼图是说明数据发现的一种流行且极为有效的方法。

Microsoft Excel和Tableau都拥有大量用于可视化数据的选项,使您能够以准确的方式显示结果。该技能在于知道如何最好地呈现数据,以便您的发现自己说话。技术专业人员之间倾向于用复杂而深奥的语言说话,但是要成为一名出色的大数据分析师,就是要通过简单的可视化轻松,有效地传达发现。

5.良好的沟通能力

除了能够可视化您的发现之外,大数据分析师还必须能够口头交流发现的结果。大数据分析师与利益相关者,同事和数据供应商不断合作,因此良好的沟通技巧至关重要。你和别人说话有多好?您可以有效地将技术信息分解为简单的单词吗?这是与数据可视化紧密相关的一项关键技能,这一切都在交付中!

相关推荐:

2020年UI设计调色板趋势

入行大数据分析师必备技能有哪些

为什么要学大数据分析

大数据分析培训课程内容有哪些

大数据预测分析在企业规划中的价值

大数据分析取得的成果有哪些

大数据分析培训课程大纲

大数据分析师工资待遇

216 评论(14)

蛋糕上的草莓1

1.大数据架构的工具与组件

数据工程师更关注分析基础架构,因此所需的大部分技能都是以架构为中心的。

2.深入了解SQL和其它数据库解决方案

数据工程师需要熟悉数据库管理系统,深入了解SQL至关重要。同样其它数据库解决方案,例如Cassandra或BigTable也须熟悉,因为不是每个数据库都是由可识别的标准来构建。

3.数据仓库和ETL工具

数据仓库和ETL经验对于数据工程师至关重要。像Redshift或Panoply这样的数据仓库解决方案,以及ETL工具,比如StitchData或Segment都非常有用。此外,数据存储和数据检索经验同样重要,因为处理的数据量是个天文数字。

4.基于Hadoop的分析(HBase,Hive,MapReduce等)

对基于Apache Hadoop的分析有深刻理解是这个领域的一个非常必要的需求,一般情况下HBase,Hive和MapReduce的知识存储是必需的。

5.编码

说到解决方案,编码与开发能力是一个重要的优点(这也是许多职位的要求),你要熟悉Python,C/C++,Java,Perl,Golang或其它语言,这会非常有价值。

6.机器学习

虽然数据工程师主要关注的是数据科学,但对数据处理技术的理解会加分,比如一些统计分析知识和基础数据建模。

185 评论(11)

刀剑如梦1

对于大数据工程师而言,您至少要掌握以下技能:一门JVM系语言:当前大数据生态JVM系语言类的比重极大,某种程度上说是垄断也不为过。这里我推荐大家学习Java或Scala,至于Clojure这样的语言上手不易,其实并不推荐大家使用。另外,如今是“母以子贵”的年代,某个大数据框架会带火它的编程语言的流行,比如Docker之于Go、Kafka之于Scala。因此笔者这里建议您至少要精通一门JVM系的语言。值得一提的,一定要弄懂这门语言的多线程模型和内存模型,很多大数据框架的处理模式其实在语言层面和多线程处理模型是类似的,只是大数据框架把它们引申到了多机分布式这个层面。计算处理框架:严格来说,这分为离线批处理和流式处理。流式处理是未来的趋势,建议大家一定要去学习;而离线批处理其实已经快过时了,它的分批处理思想无法处理无穷数据集,因此其适用范围日益缩小。事实上,Google已经在公司内部正式废弃了以MapReduce为代表的离线处理。因此如果要学习大数据工程,掌握一门实时流式处理框架是必须的。当下主流的框架包括:Apache Samza, Apache Storm, Apache Spark Streaming以及最近一年风头正劲的Apache Flink。当然Apache Kafka也推出了它自己的流式处理框架:Kafka Streams分布式存储框架:虽说MapReduce有些过时了,但Hadoop的另一个基石HDFS依然坚挺,并且是开源社区最受欢迎的分布式存储,绝对您花时间去学习。如果想深入研究的话,Google的GFS论文也是一定要读的([url=][/url])。当然开源世界中还有很多的分布式存储,国内阿里巴巴的OceanBase也是很优秀的一个。资源调度框架:Docker可是整整火了最近一两年。各个公司都在发力基于Docker的容器解决方案,最有名的开源容器调度框架就是K8S了,但同样著名的还有Hadoop的YARN和Apache Mesos。后两者不仅可以调度容器集群,还可以调度非容器集群,非常值得我们学习。分布式协调框架:有一些通用的功能在所有主流大数据分布式框架中都需要实现,比如服务发现、领导者选举、分布式锁、KV存储等。这些功能也就催生了分布式协调框架的发展。最古老也是最有名的当属Apache Zookeeper了,新一些的包括Consul,etcd等。学习大数据工程,分布式协调框架是不能不了解的, 某种程度上还要深入了解。KV数据库:典型的就是memcache和Redis了,特别是Redis简直是发展神速。其简洁的API设计和高性能的TPS日益得到广大用户的青睐。即使是不学习大数据,学学Redis都是大有裨益的。列式存储数据库:笔者曾经花了很长的时间学习Oracle,但不得不承认当下关系型数据库已经慢慢地淡出了人们的视野,有太多的方案可以替代rdbms了。人们针对行式存储不适用于大数据ad-hoc查询这种弊端开发出了列式存储,典型的列式存储数据库就是开源社区的HBASE。实际上列式存储的概念也是出自Google的一篇论文:Google BigTable,有兴趣的话大家最好读一下:消息队列:大数据工程处理中消息队列作为“削峰填谷”的主力系统是必不可少的,当前该领域内的解决方案有很多,包括ActiveMQ,Kafka等。国内阿里也开源了RocketMQ。这其中的翘楚当属Apache Kafka了。Kafka的很多设计思想都特别契合分布流式数据处理的设计理念。这也难怪,Kafka的原作者Jay Kreps可是当今实时流式处理方面的顶级大神。

239 评论(14)

一览佳肴

数据库简介(包含一些基本概念和发展史);SQL语句;范式理论基础;数据库设计基础

272 评论(15)

相关问答