快照的原理(快照的工作原理)
大家好!今天让创意岭的小编来大家介绍下关于快照的原理的问题,以下是小编对此问题的归纳整理,让我们一起来看看吧。
开始之前先推荐一个非常厉害的Ai人工智能工具,一键生成原创文章、方案、文案、工作计划、工作报告、论文、代码、作文、做题和对话答疑等等
只需要输入关键词,就能返回你想要的内容,越精准,写出的就越详细,有微信小程序端、在线网页版、PC客户端
创意岭作为行业内优秀的企业,服务客户遍布全球各地,如需了解SEO相关业务请拨打电话175-8598-2043,或添加微信:1454722008
本文目录:
一、急!两个oracle数据库如何做数据交换
用数据库快照就能实现啊.
Oracle快照原理及实现总结
Oracle数据库的快照是一个表,它包含有对一个本地或远程数据库上一个或多个表或视图的查询的结果。对于中大型数据库,业务数据库里所有的数据同步到另外一个处理服务器上最佳的选择还是使用SnapShot方式,即快照的方式。
由于工作需要,今天需要将业务数据库里所有的数据同步到另外一个处理服务器上。在做方案的时候,想了很多方法,当然最快的办法还是使用物理热备的方式。
但是我个人认为如果对于中大型数据库(我们的数据库有300G左右)最佳的选择还是使用SnapShot方式,即快照的方式。
Oracle数据库的快照是一个表,它包含有对一个本地或远程数据库上一个或多个表或视图的查询的结果。也就是说快照根本的原理就是将本地或远程数据库上的一个查询结果保存在一个表中。
以下是我建立的Snapshot,目的是从业务数据库上将数据Copy到处理数据库上,是不同的两个服务器之间对数据copy。
第一步:在处理服务器上的Oracle终端,建立database link,业务数据库服务器SID为TEST
create database link TEST_DBLINK.US.ORACLE.COM
connect to AMICOS identified by AMICOS
using 'test';
第二步:在业务数据库上对应的表建立快照日志
Create snapshot log on A_Table;
第三步:建立Snapshot 快照名称为:Test_SnapShot
Create snapshot Test_SnapShot
REFRESH COMPLETE START WITH SYSDATE NEXT SYSDATE+1/24
as select * from A_Table@TEST_DBLINK
说明:REFRESH是刷新方法
刷新方式有:COMPLETE和FAST两种,而START WITH是说明开始执行的时间。
Next是下次执行的时间
而AS以后是构成快照的查询方法。
相关的方法:
更改快照
ALTER SNAPSHOT Test_SnapShot
REFRESH COMPLETE START WITH SYSDATE NEXT SYSDATE+1/2;
手动刷新快照 在命令界面执行:
EXEC DBMS_SNAPSHOT.REFRESH('Test_SnapShot ','C');
第一个参数是要刷新的快照名
第二个参数是刷新的方式,F----FAST, C---COMPLETE
查看快照最后刷新的日期
SELECT NAME,LAST_REFRESH
FROM ALL_SNAPSHOT_REFRESH_TIMES;
最后非常的方案:
1:为需要做Snapshot的表建立Snapshot日志
create snapshot log on t1 with rowid; 这里使用ROWID建立日记的参数
2:采用Fast的方式建立快照,使用rowid做为参考参数
create snapshot fb_test_b refresh fast with rowid start with sysdate next sysdate+1/1440 as select * from fb_test_b@my_dblink;
最好能按照rowid来建立快照。要不然就必须要为表建立Primary Key。
二、什么是百度快照优化,百度快照优化技巧
夫唯老师讲过每个被收录的网页,在百度上都存有一个纯文本的备份,称为“百度快照”。
1.页面上出现的时间
百度快照的时间原则上是页面里出现的最新的时间,曾经有人做过测试,将页面上的时间提前(比如说今天是5月20号,但在页面上认为的出现了5月21号),结果网站页面被收录后快照超前了!
如果很重视快照,尤其时间的话,这里就需要注意了,页面上必须带有时间参数,这也是百度快照优化的技巧之一。
2.快照页面更新的问题
只有在页面被抓取更新以后,百度快照才会更新,所以,如果要让之前被收录的页面百度快照时间更新,那么就得想办法让这个页面被百度抓取更新(当然,页面里得有最新的时间标识)。
百度更新页面快照的原理很简单,那就是该页面值得更新或者说需要更新!具体说,就是该页面的内容发生了比较大的变化,比如说新增了内容,新增了参考资料等。
大家应该都知道,网站首页和分类页快照更新是最频繁最快的,就是因为这些页面的内容更新频繁更新快。
所以,想让页面快照更新,那么最好的办法就是给这些页面增加或者更新新的内容。具体来说:首页及分类增加内容;文章页通过调用相关文章、最新文章等来让页面信息更丰富及时。
三、zstack中创建镜像和备份的区别
对于企业生产来说,最重要的就是数据。可以说数据是企业的生命,数据的破坏、丢失都会给企业造成巨大的损失,所以数据的保护至关重要。
数据的保护方案可以分为快照和备份,那么这两种方案有什么区别,又分别适用于什么场景呢?首先,我们需要明确一点,快照不是备份,当数据处于危险时,快照和备份可做的事情是不一样的,两种不同的机制是用来应对不同需求的。
一、快照
概括地说,快照是保存数据状态的方式,以便于能够及时恢复到该点。以下是存储网络工业协会(以下简称SNIA)对快照的定义:
A type of point in time copy that preserves the state of data at an instant in time, by storing only those blocks that are different from an already existing full copy of the data
快照是一个特定时间点对数据状态的保护,只保存那些完整拷贝以外有变化的数据。换言之,如果数据没有变化,快照是不会保存额外数据的,快照可以看成是对某个特定时间点的数据的冻结。
目前行业内快照实现有两种方式,COW(Copy On Write)和ROW(Redirect On Write),这两种方式的区别是:当数据有变化时,对应数据块的处理方式也会不同。
1.1 COW
首先看COW,快照生成后,如果没有数据的写入,那么快照卷的指针还是指向原始卷的数据块。
一旦有数据写入,比如写入此处的E数据块,系统会重新分配一个数据块,将E的数据整体拷贝到新的数据块中,然后原来E的位置写入新数据,计为I。相应的,快照卷对E的指针需要指向新的数据块,而原始卷的指针指向是不变的。
1.2 ROW
再看ROW,和COW的不同之处在于,如果有数据进行了修改,则分配数据块将修改的数据写入新的空间记为I,然后将原始卷的指针指向I,快照卷不做任何改动。
从以上的分析可以看到,COW的优势在于:原始卷的物理块是连续的,没有碎片,缺点则是写放大了,本来1个写现在变成3个写,原始数据、快照指针指向、新数据,所以COW适合读多写少的业务;ROW的优势是:写性能比COW更好,1个写变成2个写,原始卷指针指向、新数据,但缺点是原始卷物理块不连续,会导致读性能较低,删除快照需要将原始卷指针修改,将数据提交至原始物理块,快照越大越消耗时间,故而ROW适合写密集型业务。
1.3 使用场景
从快照原理上可以看到,快照其实还是对原始卷有依赖,快照卷中大部分的指针依然会指向原始卷的数据块,如果有某个数据块损坏,很有可能快照是无法恢复的,因为有可能损坏的数据块就是没有变化过的。所以快照的作用是对一些操作的临时回滚,是一个临时手段。比如开发测试环境,以及生产环境做一些可能会影响操作系统、业务系统的操作,可以用快照做一个临时的保障,在异常时快速回滚到正常状态。
另外,快照如果创建的太多了,会极大的影响业务的性能,快照的各种链接会使得数据的读写变的非常复杂,同时也会占用大量的存储空间。所以,一般生产不建议使用快照,一定要使用快照的话,也是在进行危险的操作时,如可能损坏系统的操作系统更新或配置变动。
一个典型的快照应用就是windows还原点,将系统的部分信息存放在C盘某个位置,并且不影响个人的文件,可以在系统发生故障时迅速还原。
二、备份
同样看下SNIA对备份的定义:
A collection of data stored on (usually removable) non-volatile storage media for purposes of recovery in case the original copy of data is lost or becomes inaccessible; also called a backup copy.To be useful for recovery, a backup must be made by copying the source data image when it is in a consistent state.
简单来说备份就是对数据的一个完整的拷贝,是新增加了一个一致性的副本,在原始卷因灾难或人为错误而损坏的情况下,能够为您提供恢复的可能性。与快照不同的是,备份独立于原始卷,可以轻松导出并存储到其他地方。
备份的类型可以分为全量备份、增量备份、差异备份三种。
2.1 全量备份
全量备份顾名思义就是把整个数据都备份下来,全量备份的数据完整性最好,可以提供最好的数据保护,恢复速度也非常快,但是全量备份占用的空间非常大,可能会造成磁盘的浪费,而且因为是做所有数据的备份,数据量越大备份的时间就越长。
2.2 增量备份
增量备份是备份上一次备份之后发生变化的数据量,第一次做增量备份必然会做一个全量备份,后续所有的备份操作都是增量。增量备份会形成一条备份链,除了第一次的全量备份以外,后续所有增量备份都需要依赖于前一次备份的数据,如果一旦有某个中间的备份数据损坏或者丢失,那么在这个点以后的所有备份就全部失效了;如果要进行恢复,必须沿着从全量备份到指定时间点增量备份的顺序来进行恢复,这就使得恢复时间会变得很长,但是相对的,相比较于全量备份,每个增量备份的备份数据量非常小,只有上次备份以后发生变化的量,所以备份时间也非常短。
2.3 差异备份
差异备份是备份上一次全量备份之后发生变化的数据量,第一次做差异备份必然会做一个全量备份,后续所有的备份操作都是和全量备份相比发生变化的数据,在进行恢复时,只需对第一次全量备份和最后一次差异备份进行恢复。差异备份避免了全量备份和增量备份的缺陷,同时又具备了它们各自的优点。首先,它具有增量备份的备份时间短、节省磁盘空间的优势;其次,它又具有全量备份恢复时间短的特点,管理员只需要第一次全量备份和最后一次差异备份两份数据即可。差异备份的缺点是会存在一定量的重复数据,之前的差异备份数据都和最后一份差异备份数据有重复,当然可以根据设定的保留策略将多余的数据删除。
2.4 使用场景
从备份原理上可以看到,备份是拷贝出新的副本,是长久的数据保存方式,适用于对数据的长期保护,当数据发生错误或者丢失时,可以进行快速恢复,以保证业务的连续性。
其实备份过程中也用到了快照技术,一般要进行备份时都会做一个临时快照,把数据进行冻结,然后把快照的内容拷贝一份,最后删除快照。备份的时间点一般会选择凌晨业务量低谷的时候,以避免备份数据的不一致性。
三、快照和备份对比
一句话来对比:快照是数据存储的某一时刻的状态记录,备份则是数据存储的某一个时刻的副本,这是两种完全不同的概念。
来详细对比下快照和各种不同类型的备份方式的差异
3.1 快照对比全量备份
通过之前的概念介绍,我们可以了解到:全量备份是对所有数据的一个拷贝,会将数据保存在不同的地方,和原始卷没有任何关系,是独立的存在;而快照还是依赖于原始卷,并且只有变化的数据块才会拷贝。
3.2 快照对比增量备份、差异备份
增量备份是将上次备份之后变化的数据拷贝出来,和原始卷是没有依赖关系的,但是和上次的备份之间有依赖关系,会有一条依赖链接,一直链接到上次的全量备份。
差异备份是将上次全量备份之后变化的数据拷贝出来,同样也是和原始卷没有依赖关系的,差异备份之间也没有任何关系,但是和上次的全量备份之间有依赖。
对比COW,COW的快照之间没有依赖关系,但是都和原始卷有依赖,对于变化的数据块,会分配新的数据块将老的数据拷贝过去。
对比ROW,ROW的快照之间会有快照链,也和原始卷有依赖,当删除快照的时候,因为要把数据都提交给原始卷,所以会把此快照时间点之后的快照都一并删除。
四、总结
通过比较快照和备份的差异,可以看到其实快照是一种技术,而备份是一个过程,快照是某个时间点的状态,而备份是对数据的拷贝,快照并不能等同于备份。对于数据的临时保护,可以使用快照,如果要进行长期保护,则需要使用备份。
快照和备份都有各自的应用场景,在合适的场景使用恰当的方案,才能够最大程度的保护数据。
赞
8个金币已到账
金币可兑换现金
立即提现
股市:晚间、恒瑞医药、特一药业、以岭药业等六家公司重要公告!
老红财经
道县召开2022年度乡镇(街道)及县直行业系统党(工)委书记抓基层党建述职评议考核会议
红网
赛轮轮胎:拟斥资8.33亿元投建非公路轮胎技术改造项目
界面新闻
看更多热点资讯
四、
以上就是关于快照的原理相关问题的回答。希望能帮到你,如有更多相关问题,您也可以联系我们的客服进行咨询,客服也会为您讲解更多精彩的知识和内容。
推荐阅读: