热门文章> 数据库工程师需要掌握哪些技术 >

数据库工程师需要掌握哪些技术

36氪企服点评小编
2021-06-23 16:43
685次阅读

       要想成为一名数据工程师,你必须理解数据库的主要概念。这一概念不仅适用于数据工程师,也适用于使用数据库的专业人士:数据科学家、机器学习工程师、软件开发者等。接下来,小编就将介绍数据库工程师需要掌握哪些技术,一起来看看吧。

数据库工程师需要掌握哪些技术数据库工程师需要掌握哪些技术

1.数据库工程师需要掌握哪些技术

其主要概念有:

  • 关联模型
  • 资料正规化处理
  • 主关键字
  • 指数
  • 资料库交易
  • 重复
  • 分割

关联模型

       Relationalmodel是对数据进行结构化和管理的一种方法。

       该模型中的数据被组织成表格。每一个表都有自己的模式,这意味着它有一个预定义的列名,只能把满足模式的数据写到表中。每个列有一个数据类型(数字、字符串、Boolean等)。表格中的列通常称为字段,行称为记录。

       根据原来的数据库理论,表格被称为“关系”,关系模型就是从这里产生的。别把这个定义和表之间的关系搞混了,表之间我们通常用键来定义这个关系。在本文稍后的部分中,我们讨论键。

       最终,遵循该模型的数据库被称为关系型数据库,它使用SQL(结构化查询语言)来访问存储的数据。

资料正规化处理

       正规化(Normalization)是使数据适合于关系数据库的过程。

       有时候,标准化就是删除数据冗余的过程,这很容易理解和实现。正常化可以帮助消除数据冗余,提高数据完整性,简化数据结构,帮助发现错误。

       正常化一般有两种方法:

  • 综合(创建一个以前没有的新域)
  • 拆分(通过拆分更小的部分改进现有数据结构)

主关键字

       是表中记录的唯一标识符。

       如果希望建立另一张表的关系,您必须首先创建主键。如果表字段包含对其他表的引用,那么这个字段就是外键。

       假定有一个客户表,其中包含customer_id字段,这是该表的主键。与此同时,orders还包含customers_id字段,并引用customers表,这是orders表的外键。

指数

       索引是数据库内部的一种特殊对象,它可以帮助在数据内部进行快速搜索。

       设想一下,你有一个包含数百万条记录的大表,需要寻找满足特定条件的子集,比如,某个客户有多少订单。在一个表中插入记录是无序的,因此,为了执行搜索,数据库需要完全扫描,这意味着从开始到结束都要逐行遍历,直到找到合格的记录。

       要加速这个过程,我们可以为字段创建索引,该字段存储字段中每个值的位置。在用索引列执行查询时,数据库首先会搜索索引来查找数据的位置,然后根据位置提取所需的行。

资料库交易

       交易(transaction)通常指不可分的工作单位。这是必要的,当我们希望在一个数据库中执行多个操作,并且希望确保所有操作都成功或失败。

       数据库交易可理解为银行转帐,当您需要将资金从一个账户转到另一个账户时,需要三个步骤:

  • 核对第一个帐户的余额。
  • 将从帐户1中扣除所需金额。
  • 向帐户2添加转帐金额。
  • 若申请已启动转账流程,则必须确保所有三项操作均成功或均失败。

重复

       Replication将数据库与其他节点或服务器同步,换句话说,复制就是将数据从一个源复制到另一个源。

       复制可以使我们在主副本数据出现问题时避免数据丢失。

       资料库复制优点:

  • Replication数据库是主数据库的完整副本。
  • 立即向其他副本传播主数据库的更改。
  • 所有请求都可以在主数据库关闭时重定向到副本。
  • 主要数据库执行添加/更新/删除操作,副本数据库负责处理查询操作,该模式支持负载平衡。
  • 复制有两种工作模式:同步和异步。

分割

       资料库分片(Shiting)是指以某种方式拆分表格中的资料,并将其传送给不同节点。

       切分是一种水平切分技术。把一个表划分为几个逻辑分区,每个分区的模式都相同(因为我们用行而不是用列来划分数据),每个分区都是原始表的逻辑分区。

       当节点之间进行分布时,它们变成物理碎片,一个数据库节点可以容纳多个逻辑碎片。

       怎样实施分割?常见的三种方法:

  • 客户程序执行。
  • 实现数据库。数据库本身决定在哪个节点上存储数据,当然,这种操作不能自动完成,需要事先进行配置。
  • 利用外部协调服务。

       可以使用多种方法来实现切分,但您必须在所有情况下提供分发密钥。这个键决定了数据在集群中的分布方式。分配键的两种常用方法是基于散列的键和基于值的键。以上就是数据库工程师需要掌握哪些技术的内容,感谢您的阅读。

[免责声明]

文章标题: 数据库工程师需要掌握哪些技术

文章内容为网站编辑整理发布,仅供学习与参考,不代表本网站赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请及时沟通。发送邮件至36dianping@36kr.com,我们会在3个工作日内处理。

相关文章
最新文章
查看更多
关注 36氪企服点评 公众号
打开微信扫一扫
为您推送企服点评最新内容
消息通知
咨询入驻
商务合作