Alwayson--工作流程
Alwayson的工作流程:
1. 在主副本上,用户提交数据修改事务,等待服务器返回成功表示;
2. 在主副本上,将事务日志固化(harden),SQL SERVER调用Logwriter线程将事务日志写入日志缓冲区(内存),然后将日志从缓冲区写入物理日志文件(物理磁盘);
3. 在主副本上,SQL SERVER调用Logscanner线程从日志缓冲区或日志文件中读取日志记录,将日志记录打包成日志块,将日志块发送给所有辅助副本;
4. 在从副本上,SQL SERVER接受到主副本发送而来的日志块,调用固化线程将日志块写入到硬盘,调用重做线程读取固化到硬盘的日志,将日志记录翻译成数据修改操作并在辅助副本上执行,完成数据修改操作。
5. 如果有辅助副本设置为同步提交模式,用户提交事务后,需要等待辅助副本在日志固化后发送确认消息,在确认所有设置为同步提交模式的辅助副本上都完成日志固话操作后向用户返回事务提交成功标识。
6. 如果无辅助副本设置为同步提交模式,则用户提交事务后,在主副本上完成事务日志固化操作后向用户返回成功标识而无须等待辅助副本发送固化确认消息。
Note:
1. 在主副本上,如果内存充足,则Logscanner线程主要从日志缓存区中读取日志,从而提高效率,而无须等待logwriter完成日志固话任务。
2. 在辅助副本上,重做日志线程和固化日志线程独立工作,以保证数据同步效率,固化线程在固化完成后向主副本发送确认消息而无须等待重做完成。
3. 在辅助副本上,重做线程定期与主副本通信,告之主副本重做进度,以确定主副本与从副本之间的时间间隔和数据差异。
4. 固化线程负责将日志写入日志文件,而重做线程复制将数据修改更新到数据文件。
Alwayson--工作流程的更多相关文章
- struts2工作流程
struts2的框架结构图 工作流程 1.客户端请求一个HttpServletRequest的请求,如在浏览器中输入http://localhost: 8080/bookcode/Reg.action ...
- SecondaryNameNode的工作流程
SecondaryNameNode是用来合并fsimage和edits文件来更新NameNode和metadata的. 其工作流程为: 1.secondary通知namenode切换edits文件 2 ...
- Storm 中什么是-acker,acker工作流程介绍
概述 我们知道storm一个很重要的特性是它能够保证你发出的每条消息都会被完整处理, 完整处理的意思是指: 一个tuple被完全处理的意思是: 这个tuple以及由这个tuple所导致的所有的tupl ...
- gitlab工作流程简介
gitlab工作流程简介 新建项目流程 创建/导入项目 可以选择导入github.bitbucket项目,也可以新建空白项目,还可以从SVN导入项目 建议选择private等级 初始化项目 1.本地克 ...
- Git 工作流程
Git 作为一个源码管理系统,不可避免涉及到多人协作. 协作必须有一个规范的工作流程,让大家有效地合作,使得项目井井有条地发展下去.”工作流程”在英语里,叫做”workflow”或者”flow”,原意 ...
- Spark基本工作流程及YARN cluster模式原理(读书笔记)
Spark基本工作流程及YARN cluster模式原理 转载请注明出处:http://www.cnblogs.com/BYRans/ Spark基本工作流程 相关术语解释 Spark应用程序相关的几 ...
- tornado 学习笔记10 Web应用中模板(Template)的工作流程分析
第8,9节中,我们分析Tornado模板系统的语法.使用以及源代码中涉及到的相关类,而且对相关的源代码进行了分析.那么,在一个真正的Web应用程序中,模板到底是怎样使用?怎样被渲染? ...
- RDIFramework.NET ━ .NET快速信息化系统开发框架 ━ 工作流程组件介绍
RDIFramework.NET ━ .NET快速信息化系统开发框架 工作流程组件介绍 RDIFramework.NET,基于.NET的快速信息化系统开发.整合框架,给用户和开发者最佳的.Net框架部 ...
- NSURLSession使用说明及后台工作流程分析
原文摘自http://www.cocoachina.com/industry/20131106/7304.html NSURLSession是iOS7中新的网络接口,它与咱们熟悉的NSURLConne ...
- 了解SpringMVC框架及基本工作流程
传统原生的JSP+Servlet在开发上过程上虽然简单明了,JSP页面传递数据到Servlet,Servlet整理数据(逻辑开发)或者从数据库提取数据接着再转发到JSP页面上,但是其似乎只能止步于此, ...
随机推荐
- Loadrunner通过吞吐量计算每个用户需要的带宽
Loadrunner通过吞吐量计算每个用户需要的带宽 运行一个场景,点击Analysis进行分析,使用分析报告中的Average Throughput(bytes/second)进行计算. 计算公式: ...
- IE8兼容background-size
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/web/images/bg.png',sizingMethod='sca ...
- TZOJ 5280 搜索引擎(模拟字符串)
描述 谷歌.百度等搜索引擎已经成为了互连网中不可或缺的一部分.在本题中,你的任务也是设计一个搜索论文的搜索引擎,当然,本题的要求比起实际的需求要少了许多. 本题的输入将首先给出一系列的论文,对于每篇论 ...
- 验证二叉查找树 · Validate Binary Search Tree
[抄题]: [思维问题]: 不知道要定义resultType, 其实用仔细分析判断条件就行了:是否是bst+最大最小值 类似于平衡二叉树:是否平衡+左右的高度差 [一句话思路]: [输入量]:空: 正 ...
- MD5加密获得文件的MD5码
哈希函数将任意长度的二进制字符串映射为固定长度的小型二进制字符串.加密哈希函数有这样一个属性:在计算不大可能找到散列为相同的值的两个不同的输入:也就是说,两组数据的哈希值仅在对应的数据也匹配时才会匹配 ...
- 关于前一篇innodb自增列自己的一点补充
上篇文章是我转载的,忘记注明了出处,在这里深感歉意.但是上篇文章中关于自增列预留ID的计算我当时怎么弄明白,后来自己想了想终于想通了,在这里详细解释一下. 我们以一次性插入10行为例,表格如下: 插 ...
- Legendre多项式
Legendre多项式 时间限制: 1 Sec 内存限制: 128 MB 题目描述 Legendre多项式的递归公式
- geoserver 开发1
打开项目,会看见下面这些包(其实还有很多插件之类的包,我都删除了) 5)可以从Eclipse启动GeoServer了. 如果你已经安装了GeoServer,现在也可以打开它的登陆页面进行操作. 三 结 ...
- Mysql 查看表结构的命令
创建数据库create database abc; 显示数据库 show databases; 使用数据库 use 数据库名; 直接打开数据库 mysql -h localhost -u root - ...
- Jmeter参数化HTTP request中Send Files With The Request的文件路径和文件名