备份数据库是关键而复杂的

正确的数据库备份是必不可少的,因为它们包含的数据的重要性,因此,了解如何工作也是一绝。

盖蒂图片社

数据库,也被称为结构化数据,是任何一个基本部分雷竞技电脑网站。虽然数据库在给定的数据中心中通常不占有很高百分比的tb,但它们确实占有很高百分比的任务关键型数据。雷竞技电脑网站理解它们独特的结构和操作是备份它们的关键。

结构化数据不能像非结构化数据那样进行备份,原因有三个非常大的挑战。首先,数据库通常存储在数据文件中,只要有东西在对数据库进行更新,数据文件就会不断变化。这意味着您不能像备份任何其他文件一样备份它们。

其次,大多数数据库都有某种类型的日志,可以重播这些日志,以便在时间点恢复后恢复事务,或者在崩溃后回滚部分完成的事务。

第三,典型的恢复首先从最近的备份中恢复数据文件,然后从日志中恢复,以便将数据库恢复到尽可能最近的状态。的恢复点目标(RPO)成为可能与大多数的备份系统,可能超过24典型的单步恢复小时根本不够好关键任务数据库。

正确地备份数据库的关键在于理解数据库是如何解决这些挑战的。

数据库模型

至少有13个不同的数据库模型,并知道如何备份你知道用什么样的数据库要备份开始。

这些模型包括:关系(最常见),键值,时间序列,文档,图形,搜索引擎,宽列,面向对象,RDF,多值,原生XML,导航和事件。下面只是最流行的型号列表,有几个流行,其数据库已经产生了大量的备份问题一起。

相关的

关系数据库管理系统(RDBMS)是大多数人提到数据库时想到的:一系列具有定义模式(表布局)、记录(行)和属性(值)的表。示例包括Oracle、SQL Server、MySQL和PostgreSQL。这些数据库通常根据它们使用的查询语言称为SQL数据库。

键-值

一个非常简单的NoSQL(不只是SQL) DBMS,由键和值组成,如果知道键,就可以查找值。流行的例子是Redis和DynamoDB。

时间序列

专为处理时间数据而设计的NoSQL数据库,因为每个条目都有一个时间戳。流行的Prometheus数据库就是一个例子,它在Kubernetes中经常使用。

文档

免费模式的NoSQL数据库管理系统是专门为存储文件而设计的。记录不需要符合任何统一的标准并可以存储很大的不同类型的数据。JSON经常被用来在这种数据库中存储文档。MongoDB是最流行的数据库只支持文档模型。

宽栏

可以存储非常大量的数据列没有预定义的架构中的另一个免费模式的NoSQL数据库管理系统是宽列模型。列名和密钥可以在整个数据库中定义。Cassandra是这种类型的最佳已知的数据库。

数据库术语

数据库术语也很重要,所以接下来是重要术语列表。并非所有的数据库使用相同的术语,但他们应该也有类似的术语,意思是一样的东西。NoSQL数据库通常使用非常不同的术语或可能缺乏类似问题的项目的东西。

数据文件:数据文件是数据库存储数据的地方。这可能是一个原始设备(例如,Linux中的/dev/hda1),或者一个“熟”文件(例如,/sap/datafiles/dbs06)。MySQL dbf或c: \ \ datafile.dbf)。此时,大多数数据库使用熟的或常规文件作为数据文件,并且大多数数据库都有多个数据文件。

表:这就是事情变得有点模糊。在SQL,关系数据库中,表是一个行为有点像一个虚拟的电子表格的相关值的一群。NoSQL数据库可以有类似的东西或者他们可能不会。

表空间:表空间是你把表和一个或多个数据文件的集合的空间。如果你的数据库没有表,它可能没有表空间。

划分:现代数据库可以跨多个资源(包括多个表空间)分配、扩展或分区一个表。

分片:分片分区需要到另一个层次,是关键大规模出数据库。分片甚至可以将片,碎片 - 的不同节点上的表。

Master数据库:主数据库跟踪的所有数据库和数据文件的状态。如果多个数据库是允许的,它需要跟踪它们为好。

事务:事务是改变一个或多个表中的一个或多个属性在数据库内的活性。简单的交易改变一个属性,而复杂的交易将改变许多属性作为一个单一的,原子动作NoSQL数据库倾向于使用简单的交易,许多谁使用他们甚至不认为他们的交易是这样的。

事务日志:事务日志记录每一笔交易和它所改变的元素。此信息在系统崩溃的情况下,或恢复到或者撤消或恢复交易后使用。

一致性模型

数据库有两种非常不同的方式来确保插入或更新的数据库数据的视图对于数据库的所有查看器是相同的。这些被称为一致性模型,它们会影响备份和恢复。

第一个是即时一致性,也称为强一致性,它确保所有用户将同时看到相同的数据,无论他们在哪里或如何查看数据。大多数传统的关系型数据库都遵循这种模型。

第二种模式是最终一致性或弱一致性数据库,whiich确保了给定的属性将最终成为所有观众一致的,但是这可能需要一些时间。最终一致性一个很好的例子是内DNS系统,它必须等待,直到时间到现场进行DNS记录更新有关域名信息之前已过期。这可能需要长达72小时。

你备份什么,怎么备份,为什么备份?

如果你负责备份数据库,你需要了解它是如何构建的,它是如何工作的。你必须明白,它存储的数据,如数据文件,它是否使用复杂或简单的交易,并在那里保存这些交易的记录。你需要知道如何让存储的数据的一致性备份和事务日志。

您还需要了解数据库是如何分布的。它是分区的,但都在一个主机内,还是分片并分布在几十或数百台主机上?如果是后者,您将很可能处理一个最终一致的数据库。获得分布在数百个节点上的数据库的一致快照将非常具有挑战性,恢复它也同样具有挑战性。

有些人可能认为,跨多个节点使用复制的最终一致的数据库不需要备份,但它确实需要备份。虽然可以防止节点故障,但绝对不能防止人为错误。如果您删除了一个表,那么它的复制方式并不重要。您将需要恢复它。

加入对网络世界的社有个足球雷竞技app区Facebook的LinkedIn对那些顶级心态的话题发表评论。

版权©2020Raybet2

工资调查:结果在