解析:数据架构师的职业路径

Jan 01, 2024 by Zhang in  Blog

数据架构师负责监督和设计组织中的数据系统。这包括选择和实现数据库服务器软件,构建数据系统,以及在软件开发人员构建访问数据的软件时与他们合作。

此外,它们还帮助构建有关允许谁访问哪些数据的规则(称为数据治理和安全性)。考虑到这一点,数据架构师需要知道什么才能打造一个伟大的职业生涯?有哪些职业道路可供选择?

数据架构师需要哪些技能?

由于数据架构师的职责非常广泛,因此在成为数据架构师之前,你需要学习大量的技能。让我们从概念开始:

  • 数据建模:在这里,你可以获取业务项(如客户、发票、库存等)并创建每个项的虚拟版本,每一个都成为数据库中的一个表。
  • 数据实体图:这些图可以帮助你可视化数据模型以及它们如何相互关联。
  • 关系数据库概念:这是数据库表相互连接的方式。例如,发票表需要客户ID,该客户ID也将存在于列出个人客户的表中。
  • SQL(结构化查询语言,通常发音为“sequel”)这是一种用于创建数据库表、填充数据、检索和更改数据的语言。
  • 安全性:与软件一样,安全性是至关重要的。数据库的安全性不仅涉及哪些人可以访问数据,还涉及允许哪些软件甚至哪些服务器访问数据。
  • ETL(提取、转换、加载)这是一个步骤序列,通常用于获取现有数据并从中提取新数据,最终将这些新数据加载到数据库中。
  • 大数据:虽然这个术语开始变得有点过时了(十年前就过时了!),但它仍然有一定的重要性。在谷歌的早期,数据架构师发现现有的软件系统无法处理谷歌收集的大量数据。因此,他们的研究人员开始建立管理这些数据的新方法。这后来被称为“大数据”。今天,许多大型组织也拥有如此大量的数据,这需要大数据方法来操作它。
  • 治理:这是一个广泛的领域,涉及数据的许多不同方面,包括建立访问和管理数据的规则和策略。
  • 数据库一致性:通常,数据库系统是“复制的”,这意味着在多台计算机上复制相同的数据。这样,即使一个系统崩溃并且数据损坏,数据也不会丢失。然而,这种方法在更新在不同计算机上传播的速度方面存在很多挑战。管理这种一致性需要理解问题,以及如何有效地使用工具来防止此类问题。
  • 数据库性能:当你读取数据(称为查询数据)时,有一些方法可以构建比其他方法更快、更有效的查询。如果写入数据的操作不正确,可能会导致读取数据系统时出现严重的延迟。因此,你需要了解数据库性能以及如何保持最佳性能。

接下来,你需要学习数据库服务器软件:

  • Microsoft SQL Server
  • MySQL
  • Oracle数据库

这些都是一个完善的关系数据库系统,使用SQL作为其编程语言。但是,每个版本都包含自己的SQL版本和附加的编程特性:

  • 微软SQL Server的语言叫做T-SQL (Transact SQL的缩写)
  • MySQL的编程语言没有正式名称,但它允许你使用传统的编程结构创建存储过程。
  • Oracle数据库的语言被称为PL/SQL(即SQL的过程语言)

除了这些关系数据库之外,你还需要了解非关系数据库。以下是其中最大的两个:

  • MongoDB:一种流行的数据库系统,它以一种称为文档的格式存储数据。
  • DynamoDB:这是一个Amazon Web Services非关系数据库,擅长存储大量数据以便快速检索。

你还需要学习许多不同的软件和工具:

数据平台,如Cloudera、Data Bricks、Snowflake:这些在线工具与具有不同功能(如数据仓库、大数据和数据分析)的各种云提供商合作。尽可能多地学习这些工具。

  • 报告和可视化工具:报告工具有助于创建数据报告。可视化工具帮助创建数据图形。这里列出的工具太多了,但你应该对尽可能多的工具有所熟悉。PowerBI和Tableau是业界最知名的两家公司。每种工具都有不同的优势和特性。
  • 仓储工具:数据仓储是指对大量数据的管理。出现这种情况的原因是,许多流行的数据库系统(如MySQL)无法存储和管理当今组织获取的大量数据。

大数据框架,如Apache Hive, Spark, Presto, Hadoop。这些都是流行的开源工具,可以帮助你管理大量数据。它们确实有很高的学习曲线,但它们是大数据架构的重要组成部分。

接下来,你需要学习各种云平台。主要有三个,每个都有几个提供数据功能的不同服务:

  • 微软Azure有几个管理大数据的工具,比如Azure Synapse Analytics和Azure Databricks。
  • 谷歌创造了大数据的概念,他们的云平台包括几个服务,特别是他们的数据仓库服务BigQuery。
  • AWS有一个名为EMR (Elastic Map Reduce)的服务,它本质上是前面提到的Apache工具的基于云的版本。

专业提示:首先选择一个云,然后尽可能多地了解它。然后,你将发现其他云系统也具有类似的功能,并且你将很快了解这些功能。Amazon EMR是一个很好的起点,因为它还将帮助你学习Apache Hadoop和Hive。

最后:A.I.和ML(机器学习)。虽然这两个主题并不新鲜,但在过去的几年里,这两个主题的技术都有了巨大的飞跃,它们都将是未来几十年数据架构的重要组成部分。了解大型语言模型(LLM)和GPT(生成预训练模型)。为未来几年肯定会出现的新技术做好准备。

数据架构师的职业道路是什么?

对于初学者来说,要明白没有所谓的“数据架构师”入门级职位。相反,你可以从相关领域开始,5-10年后,你最终会进入数据架构师的职位。这是一个非常中级或高级的角色。

因此,让我们来看看成为数据架构师的不同方法,以及在实现这一目标之后可以去哪里。

一般来说,你可以从两种方式开始:

初级软件开发人员(或初级程序员)。在这种情况下,你需要确保所做的工作涉及大量数据。确保在这个阶段尽可能多地学习数据分析和数据建模。

初级数据分析师。如果你从这里开始,你将希望确保你还获得了一些编码经验。你可以在这里使用一些python编程来完成它。如果没有,那么你会想要做一些兼职或帮助一些开源python项目。

专业提示:在这个阶段,如果你决定不想成为数据架构师,也没关系!这是你尝试与软件开发和体系结构相关的许多不同领域的机会。

接下来,你将晋升或过渡到中级面向数据的工作,例如中级数据分析师或数据科学家。在这里,你将开始学习和完善你的手艺。

在那之后,你可以去很多不同的方向,比如高级数据科学家。但是,你可能认为现在是时候转向数据架构师了。

数据架构师领域本质上有两个层次:

  • 数据架构师(你最终将使用上述所有技能)
  • 高级数据架构师

基本的区别在于,当你晋升为高级数据架构师时,你可能会管理一个数据架构师团队。这可能涉及较少的实际数据架构工作,而更多地与组织中的利益相关者合作,以帮助他们决定如何使用不同的数据选项。

你需要懂编程吗?

是的,但只是在一定程度上。你需要达到Python和R编程语言的中级水平。你不需要达到构建整个软件系统的水平,但你确实需要知道如何用两种语言编写代码。

至于其他语言(如c++、c#、Java和JavaScript),你可能不需要花时间学习它们。虽然这没有什么坏处,但是花费这样的时间会耽误掌握成为数据架构师所需的其他重要技能。

你需要学位吗?

从理论上讲,即使没有学位,你也可以通过自己的努力成为数据架构师。然而,现实情况是,如果你的目标是成为一名数据架构师,那么你至少需要获得学士学位。这里的一些选项是计算机科学、数学或统计学。其他科学和工程学位可能也有用。但是,如果你提前计划,那就把重点放在有大量计算机编程、数据库概念、数据分析和统计知识的学位上。

虽然硕士学位可能不是必需的,但它绝对可以让你在其他申请同一职位的候选人中脱颖而出。然而,这样的高等学位并不一定是必需的。就在十年前,硕士学位是最低要求,有些工作甚至需要博士学位。但现在,由于雇主越来越注重以技能为基础的招聘,拥有学士学位通常也能凑合。(只有当你想最终从事研究或成为数据架构教授时,博士学位才有必要。)

结论

获得数据架构师的职位需要大量的工作和多年的时间。你将从完成学士学位开始,然后找到一份程序员或数据分析师的工作。你将尽可能多地关注数据建模、数据治理和必要的工具。最终,你将有足够的经验成为一名数据架构师。有了正确的技能,你可以在组织使用数据方面做出真正的改变。

作者:Jeff Cogswell

如何避免你的职业被AI取代?

Dec 13, 2023

员工们是否担心新一代技术——包括生成式人工智能和自动化工具——会使他们被职场淘汰?

北美求职指北-E周报(3月第2周)

Mar 14, 2022
  • Amazon多重利好推进2022年业绩全面增长
  • Stripe宣布支持加密货币支付
  • 云技术行业巨头2022面临的三大挑战

北美求职60秒:后端工程师(Back-End Engineer)需要掌握哪些技能?(11月第3周)

Nov 22, 2022

本期话题,带你了解“ 后端工程师(Back-End Engineer)需要掌握哪些技能?

Leave a Comment

Your email address will not be published. Required fields are marked *

Comment *