当前位置: 首页 > news >正文

利用ps做兼职的网站潍坊做网站哪个公司好

利用ps做兼职的网站,潍坊做网站哪个公司好,wordpress网站搬家,广州网站推广模板数据库系统概论#xff08;二十#xff09;数据库恢复技术 前言一、事务的基本概念1. 什么是事务#xff1f;2. 事务的两种打开方式2.1 隐式事务2.2 显式事务#xff1a;自己动手打包操作 3. 事务的四大铁律3.1 原子性3.2 一致性3.3 隔离性3.4 持久性 4.… 数据库系统概论二十数据库恢复技术 前言一、事务的基本概念1. 什么是事务2. 事务的两种打开方式2.1 隐式事务2.2 显式事务自己动手打包操作 3. 事务的四大铁律3.1 原子性3.2 一致性3.3 隔离性3.4 持久性 4. 为什么需要事务 二、数据库恢复概述1. 为什么说数据库故障“不可避免”1.1 计算机系统自身的故障1.2 人为导致的故障 2. 故障会对数据库造成什么影响2.1 数据库处于“不一致状态”2.2 数据丢失 3. 什么是数据库的“恢复”4. 数据库恢复的核心介质故障 5. 恢复的核心原理6. 恢复的两大武器6.1 数据转储6.2 日志文件6.3 为什么必须先写日志后改数据库 四、数据库恢复策略1. 事务故障恢复 undo 让错误操作“撤回”2. 系统故障恢复 redo undo3. 介质故障恢复4. 检查点技术 五、数据库镜像 前言 在前几期博客中我们探讨了 SQL 查询数据插入修改与删除视图数据库安全性数据库规范化与五大范式数据库设计的概念关系查询处理与查询优化技术等知识点。从本节开始我们将深入讲解数据库恢复技术。 我的个人主页欢迎来阅读我的其他文章 https://blog.csdn.net/2402_83322742?spm1011.2415.3001.5343 我的数据库系统概论专栏 https://blog.csdn.net/2402_83322742/category_12911520.html?spm1001.2014.3001.5482 一、事务的基本概念 1. 什么是事务 想象你去自动售货机买饮料 你投了10元钱相当于数据库操作1售货机弹出一瓶可乐相当于数据库操作2 这两个动作必须捆绑在一起如果钱扣了但可乐没出来你肯定不乐意如果可乐出来了但钱没扣售货机老板要亏本。这种要么都成功要么都失败的一组操作在数据库里就叫事务。 通俗定义事务是一组操作的包裹里面的操作要么全部完成要么全部取消就像用一个塑料袋把多个物品装在一起要拿就全拿走不拿就全留下。 2. 事务的两种打开方式 2.1 隐式事务 默认模式数据库自己决定什么时候把操作打包成事务比如每条SQL语句自动成为一个事务。例子-- 向成绩表SC插入数据每条INSERT都是一个独立事务 USE DBS GO DELETE SC -- 删除表中所有数据这是一个事务 INSERT SC VALUES(95001,1,92); -- 这是第二个事务 INSERT SC VALUES(95001,2,85); -- 第三个事务关键特点如果某条SQL出错比如第三条插入写错了只有这条会失败前面的操作可能已生效。 2.2 显式事务自己动手打包操作 手动控制用代码明确告诉数据库开始打包和结束打包。三个关键命令 BEGIN TRANSACTION开始打包操作COMMIT确认打包完成所有操作永久生效类似结账ROLLBACK取消打包所有操作全部回退类似取消订单 例子回滚事务取消操作USE DBS GO BEGIN TRANSACTION -- 开始打包 SELECT * FROM SC -- 查看删除前的数据 DELETE SC -- 删除所有数据 SELECT * FROM SC -- 查看删除后的数据 ROLLBACK -- 取消打包刚才的删除被撤销 SELECT * FROM SC -- 数据恢复到删除前例子提交事务确认操作USE DBS GO BEGIN TRANSACTION DELETE SC -- 删除数据 COMMIT -- 确认删除操作永久生效3. 事务的四大铁律 3.1 原子性 类比像吃包子要么一口吞下去全做要么一口都不吃全不做不能吃一半吐出来部分做。例子银行转账-- 从账户1212转1000元到3434 Update savingCard set balancebalance-1000 where account1212; Update savingCard set balancebalance1000 where account3434;如果只完成第一个操作扣钱第二个没完成没加钱就会导致用户少了1000元这就是原子性失败。 3.2 一致性 类比你钱包里有100元花了50元买东西钱包里必须剩下50元不能变成150元或-50元。核心事务执行前数据库是正确的执行后也必须正确中间状态可能暂时错误但最终要回归正确。例子转账前后两个账户的总金额必须一致 转账前1212账户有5000元3434账户有3000元总和8000元转账后1212账户4000元3434账户4000元总和还是8000元 3.3 隔离性 类比就像在公共厕所里你在隔间里做的事比如洗手外面的人看不到也不会影响你。例子两个事务同时操作同一个数据A 事务T1事务T2① 读取A16② 读取A16③ AA-1写回A15④ AA-3写回A13 如果没有隔离性T2可能读到T1还没完成的中间值比如A15导致最终结果出错正确结果应该是A12。隔离性确保每个事务都像独自使用数据库一样不受其他事务干扰。 3.4 持久性 类比你在纸上写了字就算把笔扔掉字也不会消失。核心当事务提交COMMIT后所有操作会永久写入数据库即使数据库突然断电、崩溃重启后数据也不会丢失。 4. 为什么需要事务 场景1转账时突然断网——事务会回滚避免钱扣了却没到账。场景2多个用户同时买同一件商品——隔离性确保不会超卖比如只剩1件不会卖给两个人。场景3程序出错导致部分操作完成——原子性确保数据不会停留在中间错误状态。 二、数据库恢复概述 1. 为什么说数据库故障“不可避免” 其实就像我们用手机会遇到死机、电脑会中病毒一样数据库运行中也会遇到各种“意外”。这些意外主要分两类 1.1 计算机系统自身的故障 硬件故障比如硬盘突然损坏、服务器断电。就像你写作业时笔突然没水了之前写的字可能就没写完。软件故障数据库程序出错、系统崩溃。比如你用文档编辑软件时软件突然闪退没保存的内容可能就丢了。 1.2 人为导致的故障 操作失误比如管理员不小心执行了删除整个数据表的命令就像你删文件时手滑点了“删除所有”。恶意破坏黑客攻击、病毒篡改数据。比如你的手机被恶意软件入侵通讯录被修改或删除。 2. 故障会对数据库造成什么影响 想象一下你在银行转账刚从A账户扣了钱还没转到B账户时系统突然崩溃了——这时候数据库就可能出问题主要有两种情况 2.1 数据库处于“不一致状态” 例子转账事务只完成了一半A账户扣了钱但B账户没收到此时数据库里的总金额对不上这就是“数据不一致”。本质事务没完整执行导致数据逻辑矛盾就像账本上“支出1000元”但没记“收入”账算不平。 2.2 数据丢失 例子硬盘损坏导致存储的用户信息、交易记录全部消失或者被恶意删除后没备份。影响就像你手机里的联系人列表突然全没了重要信息找不回来数据库也会失去部分或全部有用数据。 3. 什么是数据库的“恢复” 既然故障会让数据库“生病”那“恢复”就是给数据库“治病”的过程 核心目标 把数据库从“错误状态”比如数据不一致、丢失变回“正确状态”数据完整、逻辑正确。 举个生活中的例子理解 错误状态你写了一篇作文中途电脑死机没保存的部分丢了剩下的内容可能还缺胳膊少腿类似数据不一致或丢失。恢复过程如果之前有备份比如自动保存的草稿就用备份还原如果记得中间写了什么类似数据库的“日志”记录可以补全缺失的部分。最终让作文回到“完整正确”的状态。 数据库恢复的关键点 正确状态通常是指最近一次“正常状态”比如所有事务都完整提交的时刻。恢复手段通过备份数据、事务日志记录每一步操作等机制把数据库“回退”或“补全”到正确状态。 4. 数据库恢复的核心 介质故障 想象一下你存着重要资料的U盘突然插电脑没反应了或者硬盘被摔了——这就是数据库里的介质故障硬故障。具体包括 硬盘物理损坏磁盘磁道坏了磁头碰撞像CD光盘被刮花强磁场干扰比如硬盘靠近磁铁破坏数据的病毒像专门撕毁账本的小偷 特点直接破坏数据库文件就像U盘里的文件直接消失或损坏而且正在读写这些数据的操作都会中断。 5. 恢复的核心原理 如果你的U盘坏了但你提前把资料复制到了云端——这就是冗余。数据库恢复的核心就是用额外存储的数据副本重建被破坏的数据。 冗余数据 数据库的备胎可以是完整备份或操作记录日志。 6. 恢复的两大武器 6.1 数据转储 1. 什么是数据转储 就像给手机相册定期备份到电脑DBA把整个数据库复制到硬盘、磁带等介质上生成一个后备副本。 作用数据库被破坏时用这个副本还原数据。缺点副本只能还原到备份那一刻的状态之后的新数据需要额外处理。 2. 转储的两种拍照方式静态VS动态 静态转储 ✅ 条件数据库完全静止没有任何事务在运行时备份。 类比你把手机关机后再复制相册这时相册不会变化。 ✅ 优点备份出来的数据绝对完整一致就像定格照片。 ❌ 缺点必须等所有操作结束期间数据库不能用手机关机时你也用不了。 动态转储 ✅ 条件边用数据库边备份事务和备份同时进行。 类比你一边拍照一边往相册里添加新照片备份程序同时复制所有内容。 ✅ 优点不影响数据库使用手机边用边备份。 ❌ 缺点需要搭配日志文件后面会讲因为备份时数据可能正在被修改。 3. 全量备份VS增量备份省时间还是省空间 海量转储每次都备份整个数据库像把整个相册复制一遍。增量转储只备份上次备份后变化的数据像只复制新拍的照片。差异备份基于上一次全量备份只记之后所有变化比如上周全量备份后这周每天只记新照片和修改过的照片。 6.2 日志文件 1. 日志文件是什么 就像银行的交易记录每一笔转账、存款都会被记在账本上。日志文件记录了所有事务对数据库的修改操作包括 事务开始BEGIN TRANSACTION、提交COMMIT、回滚ROLLBACK具体操作比如用户A从账户转1000元到用户B前后的数据变化 2. 日志文件的格式两种记账方式 以记录为单位记清楚每笔操作的前因后果 记录样例 T1 U AA 18 20 → 事务T1修改了AA字段从18改成20 T1 I TU 1 → 事务T1插入了一条ID为1的记录以数据块为单位记哪个数据块被修改了适合大规模批量操作 3. 日志文件的关键作用补全备份照片的缺口 假设上周日全量备份了数据库周一到周五又做了很多操作 如果周五数据库崩溃只靠周日的备份周一到周五的数据就没了。但如果有日志文件就可以通过日志重演周一到周五的所有成功操作把数据恢复到崩溃前的状态。 6.3 为什么必须先写日志后改数据库 一个致命场景转账时突然断电 假设你给朋友转1000元操作流程如下 事务开始记录日志记上准备转账1000元系统先把日志写到硬盘就像先在账本上记一笔正要从你的账户扣钱时突然停电了数据库还没修改 为什么这样设计 如果先改数据库再写日志 万一改完数据库后停电日志没记录系统不知道这笔转账是否完成可能导致数据不一致你的账户少了钱但朋友没收到。先写日志再改数据库 即使停电日志已经记录了要转账重启后可以通过日志知道这笔操作该完成重做或者该取消撤销。 四、数据库恢复策略 1. 事务故障恢复 undo 让错误操作“撤回” 什么是事务故障 比如你转账时银行卡扣了钱但钱还没转到对方账户这时事务中途失败了比如网络断了数据库就会处于“钱扣了但没到账”的不一致状态。 怎么恢复 系统会自动用日志文件“撤回”undo这个事务做的所有修改 比如刚才的转账系统发现事务没完成就会把扣掉的钱“退”回你的账户就像什么都没发生过。这个过程不需要人工操作系统自己通过日志记录的“旧值”转账前的余额来撤销错误操作。 2. 系统故障恢复 redo undo 系统故障的影响有多复杂 比如突然停电时可能有两种情况 某个事务没完成但它改的数据已经存进数据库了比如你写了一半的文档没保存就关机了某个事务已经完成了但数据还在缓存里没来得及存进硬盘比如你点了“保存”但电脑瞬间关机了。 恢复方法先撤回未完成的再重做已完成的 undo 未完成事务把那些没走完流程的操作撤回避免残留错误数据redo 已完成事务把那些已经提交但没存进硬盘的操作“补做”一遍确保数据真正保存。 例子停电前你提交了“删除文件”的操作但系统没来得及删硬盘数据重启后系统会执行 redo把文件真正删掉而如果你正在删除文件时停电了系统会 undo取消删除操作。 3. 介质故障恢复 介质故障有多严重 比如硬盘突然损坏数据彻底丢失或损坏这时候前面的小故障恢复方法都没用了必须“大动干戈”。 恢复步骤 重装数据库备份用最近的后备副本比如上周的全量备份恢复数据库就像给电脑重装系统重做所有已完成的事务因为备份之后到故障发生前的新数据比如这一周新增的文件都没了需要用日志文件把这些新操作重新执行一遍redo。 例子你的硬盘坏了里面存了100张照片上周备份过80张。恢复时先还原这80张然后通过日志找到这一周新增的20张照片的上传记录重新“上传”一遍让数据库回到故障前的状态。 4. 检查点技术 为什么需要检查点 如果每次恢复都要从最早的日志开始扫描效率太低了。检查点就像游戏里的“存档点”定期记录数据库状态让恢复时不用从头开始。 检查点的作用 定期把内存中已提交的数据刷到硬盘并在日志里记录一个“检查点标记”恢复时只需要从最近的检查点之后的日志开始处理之前的都默认已经完成了。 例子你写作业时每30分钟存一次档检查点如果中途停电重启后只需要从最后一次存档后的内容开始补不用重新写前30分钟的作业。 五、数据库镜像 什么是数据库镜像 就像给数据库找一个实时复制的“双胞胎”主数据库每次修改镜像数据库都会同步更新。 镜像如何用于恢复 当主数据库因介质故障损坏时直接切换到镜像数据库就像你用备用钥匙开门不用等修锁镜像还能用于日常查询减轻主库压力比如查历史数据时用镜像库主库专注处理新业务。 例子你手机相册自动同步到云端手机坏了主库故障直接从云端镜像库恢复所有照片不用依赖备份文件。 以上就是这篇博客的全部内容下一篇我们将继续探索更多精彩内容。 我的个人主页欢迎来阅读我的其他文章 https://blog.csdn.net/2402_83322742?spm1011.2415.3001.5343 我的数据库系统概论专栏 https://blog.csdn.net/2402_83322742/category_12911520.html?spm1001.2014.3001.5482 非常感谢您的阅读喜欢的话记得三连哦
http://www.pierceye.com/news/243782/

相关文章:

  • 做网站如何盈利建站优化信息推广
  • 大气的网站首页网络推广公司优化客
  • 网站建设要经历哪些步骤电商仓储代发招商合作
  • 网站开发如何搭建框架潍坊网站建设公司
  • 免费网页制作网站建设2015年做啥网站致富
  • 个人网站制作基本步骤江阴网站的建设
  • 英文网站名需要斜体吗宁波seo外包费用
  • 网站设计价格公司门户网站建设
  • wordpress如何修改文章路径哈尔滨个人优化排名
  • 拓者设计吧网站科技基金
  • 有专门下载地图做方案的网站吗家装公司报价
  • 阿里域名注册网站阿里云建站保证销售额
  • 三北防护林体系建设网站培训班学员培训心得
  • 西安百度网站排名优化友情链接代码模板
  • 网站建设怎么做网站济南做网站推广有哪些公司
  • 恩阳建设局网站南阳网站建设赛科
  • 服务器IP做网址打开网站传媒公司宣传
  • 安装Wordpress个人网站医院网站建设公司价格低
  • 万能网页编辑器南通百度seo代理
  • 关于酒店网站建设的摘要手机百度2020
  • 楚雄网站建设rewlkj自己怎么建立个人网站
  • 网站开发工程师工作描述加强门户网站建设与管理办法
  • 电商网站优化方案个人网站设计与制作代码
  • 仙居建设规划局网站asp 茶叶网站模板
  • 福州网页模板建站梦幻西如何建立网站做代练
  • 专业做毕业设计网站设计禹州市城乡建设局网站
  • 魔站网站开发手机商城官网
  • 沧州 网站建设公众号搭建第三方平台
  • 天津建设项目招投标网站唐山网站建设推广
  • 长沙h5建站手机图片网站源码