数据库系统日志的处理和作用
--内存大小,cpu速度,磁盘速度,磁盘大小这四个因素哪个对数据库系统来说最重要?也就是说哪个因素是数据库性能的瓶颈?
其实是磁盘速度。数据库的作用就是把磁盘中东西读到内存中然后处理完毕后提交上去,操作系统能管理的内存也就是几GB,但是超过最大内存容量的数据库很普遍,所以瓶颈还是在磁盘上面。
sqlserver数据库存放数据用的是页,每8个连续的页叫做一个盘区,每页有若干个数据行。sqlserver每次读8页,这样减少了读盘的次数,读上来后放入内存缓存,sqlserver中一个页是8kb,页与页之间形成一个双向链表,首尾相连。
--数据库系统日志作用:怎样恢复数据的?里面都记录了些什么东西?
记录数据操作和被操作的数据,一般来说数据文件大于日志文件,插入或是删除操作时,日志中不但要记录操作还要记录数据,如果专门是插入的话,而且如果更新的次数太多的话,那么数据文件不会怎么改变,但是日志文件会越来越大,sqlserver采用归档模式,用5个日志文件来记录,如果5个都记录满了的话,就开始覆盖第一个日志文件,继续覆盖的方法重新存储这5个日志。
修改数据库时候,客户端发送一个update命令,数据库服务器收到update请求,数据库引擎首先会把表里面的数据先按照8页一个盘区的方式读到缓存里面,读入缓冲区后,就要在硬盘的日志文件中记录数据修改的操作过程以及原始参数,然后根据客户端的要求修改缓冲区中的数据,最后检查点程序向数据库中写入已经提交的事务(一次或者多次数据的修改,也就是批处理数据的修改,这样减少写盘的次数,提高效率)。如果内存里面的数据经过了修改,但是没有写入磁盘,也就是没有和磁盘里面的数据同步,这就是脏数据了。
当你的数据在内存当中但是还没有写入硬盘的数据库中的时候,突然断电了,假如这时候有个银行帐户的转帐,如果发生这种事情的话,银行系统一般如何处理这种情况呢?以前是通过填写单子的方式来保证避免这种问题,现在都是通过日志来保证的,因为先是写入日志,然后才在内存中修改数据,日志中有个叫做检查点的东西,这个checkpoint后面的数据为脏数据块,证明没有写入硬盘,下一次启动系统后,会检查日志中的脏数据块记录,然后把他们再重新作一遍。
Oracle中用的是还原模式,不是归档模式,如果执行delete from删除的话,如果是完全还原模式的话,删除的所有数据都必须记录日志,sqlserver中全表的删除是不写日志的,这是简单的还原模式,无法还原了。
转自:http://hi.baidu.com/zhangxuan1224/blog/item/e812e2f2ac96ef1bb07ec585.html
数据库系统日志的处理和作用相关推荐
- mysql数据库的事物日志在哪里_mysql数据库中事务日志的作用
mysql数据库中事务日志的作用 发布时间:2020-06-28 18:13:39 来源:亿速云 阅读:98 作者:Leah 这篇文章将为大家详细讲解有关mysql数据库中事务日志的作用,文章内容质量 ...
- WordPress 数据库结构及表字段作用解析
对于WordPress的开发可以说子凡已经是如痴如醉了,通过 WordPress 本身的开放性接口可以做到很多的事情,但是有些时候我们可能更喜欢直接查询数据库来实现某些 WordPress 没有提供的 ...
- Oracle数据库配置监听的作用
监听的作用就是给客户端电脑和中心数据库电脑建立数据的连接.一旦建立连接就不对两者造成任何影响,连接上的客户端上的用户可以做任何操作和查询,哪怕监听已经关闭或者被破坏. 注意:在数据库本机电脑连接数据库 ...
- 数据库在网站中的作用
作为网络的一个重要应用,数据库在网站建设与网络营销中发挥着重要的作用,与普通网站相对而言,具有数据库功能的网站网页我们通常称为动态页面,也就是说页面不是一层不变的,页面上内容(或部分内容)是动态生成的 ...
- JPA操作数据库中的脏数据更新作用
脏数据来由 脏数据在临时更新(脏读)中产生.事务A更新了某个数据项X,但是由于某种原因,事务A出现了问题,于是要把A回滚.但是在回滚之前,另一个事务B读取了数据项X的值(A更新后),A回滚了事务,数据 ...
- 数据库游标的概念和作用
游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制.游标充当指针的作用.尽管游标能遍历结果中的所有行,但他一次只指向一行. 概括来讲,SQL的游标是一种临时的数据库对象,即可以用来存 ...
- 数据库-触发器(定义、作用、使用方法、new/old虚拟表)
(1)触发器定义: 触发器是一种特殊的存储过程,它在插入,删除或修改特定表中的数据时触发执行,它比数据库本身标准的功能有更精细和更复杂的数据控制能力. (2)触发器的作用: 1.安全性.可以基于数据库 ...
- 【数据库MySQL】-- 视图的作用和使用
首先介绍一下什么是视图? 视图(view)是一种虚拟存在的表,视图中的数据并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的. 通俗的讲,视图只保存了查询的S ...
- oracle实例包括哪几部分,数据库的实例组成部分及作用是什么?一个oracle数据库可以有多个实例吗?...
共回答了20个问题采纳率:90% 很容易混淆,这就是"实例"(instance)和"数据库"(database).作为Oracle术语,这两个词的定义如下: q ...
最新文章
- 如何在 Linux 上用密码加密和解密文件
- cve-2019-11076 Cribl UI 1.5.0 未授权命令执行漏洞分析
- Java程序员从笨鸟到菜鸟之(七十四)细谈Spring(六)spring之AOP基本概念和配置详解
- 产品经理如何激发出新的创意
- 释放锁的逻辑-InterProcessMutex.release
- 互联网安全问题的起因
- 安卓能硬改的手机机型_【每日新闻】小米11部分镜头参数爆料;华为重新采购手机零部件 重启4G手机生产...
- 算法分析与设计「二」递归算法
- MASK LBP代币拍卖共募集近4000万美元
- 凭什么它能成为报表神器?这五大技术硬货不得不服
- 为已经安装nginx添加php模块,安装成功的nginx如何添加未编译安装模块
- 【Interfacenavigation】隐藏导航栏(52)
- linux下svn安装与版本控制
- Java实现视频加密及播放
- wdcp虚拟主机管理系统注入漏洞
- 玩客云小盒子安装点心云,实现闲置宽带共享。
- rm 删除除了某文件或文件夹之外的其他文件
- 西电 计算机学院 博后流动站,西电7个博士后科研流动站接受专家组综合评估检查...
- 打工人的「周游世界」,AI算法帮你实现,泪目!
- 判断是否为水仙花数(Python)
热门文章
- Web前端实现一个图片放大镜
- 解决mac安装淘宝镜像报错
- 计算机大机实验报告,大学计算机一实验报告二大学算机一实验报告二大学计算机一实验报告二大学计算机一实验报告二.doc...
- 基于RKE部署的rancher管理平台迁移
- 盘它!H3C X3至尊版无线路由器评测
- CCF201403-2 窗口
- 【《Real-Time Rendering 3rd》 提炼总结】(四) 第五章 · 图形渲染与视觉外观 The Visual Appearance
- 两电平直接转矩控制MATLAB,基于MATLAB/SIMULINK动态仿真模型的异步电动机直接转矩控制的研究...
- Sission与aplication 在servlet中用法汇总
- 甲骨文的转型路,道阻且长