要想成为一名数据工程师,你必须理解数据库的主要概念。这一概念不仅适用于数据工程师,也适用于使用数据库的专业人士:数据科学家、机器学习工程师、软件开发者等。接下来,小编就将介绍数据库工程师需要掌握哪些技术,一起来看看吧。
数据库工程师需要掌握哪些技术
Relationalmodel是对数据进行结构化和管理的一种方法。
该模型中的数据被组织成表格。每一个表都有自己的模式,这意味着它有一个预定义的列名,只能把满足模式的数据写到表中。每个列有一个数据类型(数字、字符串、Boolean等)。表格中的列通常称为字段,行称为记录。
根据原来的数据库理论,表格被称为“关系”,关系模型就是从这里产生的。别把这个定义和表之间的关系搞混了,表之间我们通常用键来定义这个关系。在本文稍后的部分中,我们讨论键。
最终,遵循该模型的数据库被称为关系型数据库,它使用SQL(结构化查询语言)来访问存储的数据。
正规化(Normalization)是使数据适合于关系数据库的过程。
有时候,标准化就是删除数据冗余的过程,这很容易理解和实现。正常化可以帮助消除数据冗余,提高数据完整性,简化数据结构,帮助发现错误。
正常化一般有两种方法:
是表中记录的唯一标识符。
如果希望建立另一张表的关系,您必须首先创建主键。如果表字段包含对其他表的引用,那么这个字段就是外键。
假定有一个客户表,其中包含customer_id字段,这是该表的主键。与此同时,orders还包含customers_id字段,并引用customers表,这是orders表的外键。
索引是数据库内部的一种特殊对象,它可以帮助在数据内部进行快速搜索。
设想一下,你有一个包含数百万条记录的大表,需要寻找满足特定条件的子集,比如,某个客户有多少订单。在一个表中插入记录是无序的,因此,为了执行搜索,数据库需要完全扫描,这意味着从开始到结束都要逐行遍历,直到找到合格的记录。
要加速这个过程,我们可以为字段创建索引,该字段存储字段中每个值的位置。在用索引列执行查询时,数据库首先会搜索索引来查找数据的位置,然后根据位置提取所需的行。
交易(transaction)通常指不可分的工作单位。这是必要的,当我们希望在一个数据库中执行多个操作,并且希望确保所有操作都成功或失败。
数据库交易可理解为银行转帐,当您需要将资金从一个账户转到另一个账户时,需要三个步骤:
Replication将数据库与其他节点或服务器同步,换句话说,复制就是将数据从一个源复制到另一个源。
复制可以使我们在主副本数据出现问题时避免数据丢失。
资料库复制优点:
资料库分片(Shiting)是指以某种方式拆分表格中的资料,并将其传送给不同节点。
切分是一种水平切分技术。把一个表划分为几个逻辑分区,每个分区的模式都相同(因为我们用行而不是用列来划分数据),每个分区都是原始表的逻辑分区。
当节点之间进行分布时,它们变成物理碎片,一个数据库节点可以容纳多个逻辑碎片。
怎样实施分割?常见的三种方法:
可以使用多种方法来实现切分,但您必须在所有情况下提供分发密钥。这个键决定了数据在集群中的分布方式。分配键的两种常用方法是基于散列的键和基于值的键。以上就是数据库工程师需要掌握哪些技术的内容,感谢您的阅读。
[免责声明]
文章标题: 数据库工程师需要掌握哪些技术
文章内容为网站编辑整理发布,仅供学习与参考,不代表本网站赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请及时沟通。发送邮件至36dianping@36kr.com,我们会在3个工作日内处理。