- 博客(63)
- 资源 (3)
- 收藏
- 关注
转载 Mysql redo&&undo学习
mysql通过锁机制来实现事务的隔离性,用redo log实现事务的原子性和持久性,用undo log实现事务的一致性。undo并不是redo的逆过程,redo和undo都可以看做一种恢复过程,redo恢复事务修改的页操作,redo记录的是物理日志,记录的是页的物理修改操作,redo log基本上都是顺序写的,在数据库运行时不需要对redo log的文件进行读取操作。undo回滚行记录到某个版本,
2017-03-30 14:41:23 395
转载 关于分布式事务、两阶段提交、一阶段提交、Best Efforts 1PC模式和事务补偿机制的研究
随着大型网站的各种高并发访问、海量数据处理等场景越来越多,如何实现网站的高可用、易伸缩、可扩展、安全等目标就显得越来越重要。为了解决这样一系列问题,大型网站的架构也在不断发展。提高大型网站的高可用架构,不得不提的就是分布式。在分布式一致性一文中主要介绍了分布式系统中存在的一致性问题。本文将简单介绍如何有效的解决分布式的一致性问题,其中包括什么是分布式事务,二阶段提交和三阶段提交。分布式
2017-03-30 09:55:58 400
转载 关于分布式事务、两阶段提交、一阶段提交、Best Efforts 1PC模式和事务补偿机制的研究
1.XAXA是由X/Open组织提出的分布式事务的规范。XA规范主要定义了(全局)事务管理器(Transaction Manager)和(局部)资源管理器(Resource Manager)之间的接口。XA接口是双向的系统接口,在事务管理器(Transaction Manager)以及一个或多个资源管理器(Resource Manager)之间形成通信桥梁。XA之所以需要引入事
2017-03-30 09:46:54 310
转载 MySQL数据结构分析—读写锁rwlock
MySQL数据结构分析—读写锁rwlock 2012-10-22 23:22:42分类: Mysql/postgreSQL目的 在源码分析mysql多线程操作时,mysql除了使用通常意义上的rwlock,来进行读写控制,还使用了一种读优先的rwlock对元数据锁(MDL,Meta Data Lock)进行读写控制。以下内容中,对mysql的读写
2017-03-29 17:03:57 819
转载 mysql锁原理
MySQL系列:innodb源码分析之线程并发同步机制标签: innodbMYSQL锁C并发2014-11-16 11:18 4116人阅读 评论(1) 收藏 举报本文章已收录于: MySQL知识库 分类:innodb(8) 版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]
2017-03-29 16:59:24 2182 1
转载 Innodb后台线程之master线程刷新时间
在MySQL 5.6中,master线程的工作已经被大大减轻,类似purge, page clean都分配给独立的后台线程来进行。那么现在master线程还需要干啥活儿呢。以下就是本文需要介绍的部分简单的看看代码,函数入口不变,依旧是srv_master_thread,但相对5.5的代码,这里已经非常非常精简了。概括的说,master线程干这么几件事
2017-03-29 16:36:12 490
转载 group file文件讲解
前言:之前一直弄不清楚mysql里面bin log和innodb log文件的区别,在脑子里面一直有个疑问binlog日志文件已经可以用来进行数据库的日志备份恢复了,怎么又多了一个redo log文件了。相信也有很多人有这个疑惑,现在把整个过程文档整理出来,希望对大家有所帮忙。如果对Oracle很了解,那么在整个学习innoDB log的时候,可以把联机重做日志的那套理论套在学习innoD
2017-03-29 16:34:44 897
转载 Checkpoint原理
Checkpoint原理关于Innodb Checkpoint的原理,此处不准备介绍,推荐 How InnoDB performs a checkpoint [2]一文,作者详细讲解了Innodb的Checkpoint原理。Checkpoint触发条件每1S若buffer pool中的脏页比率超过了srv_max_buf_pool
2017-03-29 16:33:46 882
转载 lsn同步异步机制
1.LSN在innodb中的重做日志系统中,定义一个LSN序号,其代表的意思是日志序号。LSN在引擎中定义的是一个dulint_t类型值,相当于uint64_t,关于dulint_t的定义如下: ?12345typedef struct dulint_struct{ ulint high;
2017-03-29 16:33:00 1939
转载 InnoDB Crash Recovery 流程源码实现分析
InnoDB Crash Recovery 流程源码实现分析标签: InnoDB Crash Recover2015-09-25 10:58 166人阅读 评论(0) 收藏 举报 分类:Mysql(129) 目录(?)[+]
2017-03-29 16:28:36 340
转载 MySQL Innodb日志机制深入分析
MySQL Innodb日志机制深入分析标签: mysqlInnodb日志机制2011-06-25 21:45 10475人阅读 评论(0) 收藏 举报本文章已收录于: MySQL知识库 分类:数据库(17) 版权声明:尊重博主劳动成果,欢迎转载,转载请注明出处 --爱技术的华仔(http://blog.csdn.net
2017-03-29 16:25:52 225
转载 InnoDB Crash Recovery 流程源码实现分析
Crash Recovery问题本文主要分析了InnoDB整个crash recovery的源码处理流程,总入口函数是innobase_start_or_create_for_mysql()。InnoDB的crash recovery流程非常长,也十分复杂,以下我总结了几个问题,如果大家能够回答出这些问题,那么就不用看下面的内容了。 crash recovery
2017-03-29 16:24:58 402
原创 hypertable管理当前rangserver和历史rangserver
void OperationRecoveryBlocker::execute() {HT_INFOF("Entering RecoveryBlocker-%lld threadid %d", (Lld)header.id, GetCurrentThreadId()); size_t total_servers = m_context->rsc_manager->serv
2017-03-28 15:11:29 372
转载 接收I/O请求完成通知
那片土在蓝天上燃烧的翅膀《Windows via C/C++》学习笔记 —— 设备I/O之“接收I/O请求完成通知” 上一篇,讨论了如何发送I/O请求。在异步的设备I/O请求方式下,要考虑的问题就是当I/O请求完成之后,驱动程序如何通知你的应用程序。本篇主要讨论获得通知的方法。 Windows 提供了4种不同的技术方法来得到I/O完成的通
2017-03-27 14:38:25 1431
转载 VS2010 中更改项目名称
版权声明:本文为博主原创文章,未经博主允许不得转载。在VS2010中新建一个像项目,开发工作都接近尾声了,客户要求更换项目的名称,差不多要变更整个解决方案中项目名称,引用等等,这个工作量还是很大的。上网搜索解决方法,还实验了专门的修改项目名称工具,但是最后都是一堆的错误,看着头疼。其实项目名称个人感觉没那么重要,客户要的是程序能够正常的运行起来,在运行的过程中也是不出现项目名称的,不知
2017-03-25 10:56:47 438
转载 jave nio
对于Android的网络通讯性能的提高,我们可以使用Java上高性能的NIO (New I/O) 技术进行处理,NIO是从JDK 1.4开始引入的,NIO的N我们可以理解为Noblocking即非阻塞的意思,相对应传统的I/O,比如Socket的accpet()、read()这些方法而言都是阻塞的。 NIO主要使用了Channel和Selector来实现,Java的Selector类似Wins
2017-03-25 10:04:00 550
转载 JAVA NIO non-blocking模式实现高并发服务器
JAVA NIO non-blocking模式实现高并发服务器2014-04-14 11:12 10066人阅读 评论(2) 收藏 举报 分类:NIO(27) 目录(?)[+]Java自1.4以后,加入了新IO特性,NIO. 号称new IO. NIO带来了non-blocking特性. 这篇文章主要讲的是如何使用NIO的
2017-03-23 15:36:26 325
转载 C#如何序列化?怎么序列了为空? StringCollection
C#如何序列化?怎么序列了为空? private byte[] SerializeOnlineList() { StringCollection onlineList = new StringCollection(); foreach (object o in _hb_OnlineList.Keys
2017-03-22 11:26:46 2184
转载 protocol buffer java jar
http://grepcode.com/project/repo1.maven.org/maven2/com.google.protobuf/protobuf-java/
2017-03-21 20:20:37 406
转载 Windows 上 .NET Core 的先决条件
https://docs.microsoft.com/zh-cn/dotnet/articles/core/windows-prerequisitesWindows 上 .NET Core 的先决条件2017/1/5 1 分钟阅读时长 作者 本文展示了在 Windows 计算机上部署和运行 .NET Core 应用程序并使用 Visual
2017-03-21 19:32:09 1173
转载 Google Protocol Buffer项目无法加载解决方案
今天下载Google Protocol Buffer源码研究时发现打开工程后所有项目都提示无法加载,在输出中找到错误提示是未找到导入的项目“C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\DotNet\Microsoft.DotNet.Props”,在网上找了资料是说缺少.NET Core 1.0 for Visual Stu
2017-03-21 17:55:09 410
转载 protobuf C#编译
protobuf C#编译标签: protobufc#2016-08-30 23:22 342人阅读 评论(1) 收藏 举报 分类:工作记录(2) 版权声明:本文为博主原创文章,未经博主允许不得转载。1.下载protobuf代码https://github.com/google/protobuf/tree/master
2017-03-21 17:36:30 1211
转载 [MySQL 5.6] Innodb后台线程之master线程
[MySQL 5.6] Innodb后台线程之master线程zhaiwx_yinfeng 2016-05-10 14:45:53 浏览137 评论0摘要: 在MySQL 5.6中,master线程的工作已经被大大减轻,类似purge, page clean都分配给独立的后台线程来进行。那么现在master线程还需要干啥活儿呢。以下就是本文需要介绍的部分 简单的看看代码,函数入
2017-03-21 13:45:11 938
转载 MySQL InnoDB存储引擎
MySQL InnoDB存储引擎介绍 本篇文章是对Innodb存储引擎的概念进行一个整体的概括,innodb存储引擎的概念是mysql数据库中最关键的几个概念之一,涉及的内容非常的广;由于个人的理解能力有限如果有不对的地方还见谅。 MySQL对应InnoDB版本MySQL 5.1》InnoDB 1.0.XMySQL 5.5》InnoDB
2017-03-21 13:44:16 258
转载 关于checkpoint机制
关于checkpoint机制一、简介思考一下这个场景:如果重做日志可以无限地增大,同时缓冲池也足够大,那么是不需要将缓冲池中页的新版本刷新回磁盘。因为当发生宕机时,完全可以通过重做日志来恢复整个数据库系统中的数据到宕机发生的时刻。但是这需要两个前提条件:1、缓冲池可以缓存数据库中所有的数据;2、重做日志可以无限增大因此Checkpoint(检查点)技术就诞生了,
2017-03-21 13:42:03 2820
转载 MySQL · 引擎特性 · InnoDB 事务子系统介绍
MySQL · 引擎特性 · InnoDB 事务子系统介绍 http://mysql.taobao.org/monthly/2015/12/01/前言在前面几期关于 InnoDB Redo 和 Undo 实现的铺垫后,本节我们从上层的角度来阐述 InnoDB 的事务子系统是如何实现的,涉及的内容包括:InnoDB的事务相关模块、如何实现MVCC及AC
2017-03-21 10:04:28 546
转载 mysql_Innodb的undo_log和redo_log
trx_undo_report_row_operationtrx_undo_page_report_insert(TRX_UNDO_INSERT_REC)(写undo log到page中)first_free = mach_read_from_2(undo_page + TRX_UNDO_PAGE_HDR + TRX_UNDO_PAGE_FREE);trx_undo
2017-03-21 09:56:24 498
转载 undo空间管理(可以收缩undo log回滚日志物理文件空间)
undo空间管理(可以收缩undo log回滚日志物理文件空间)2016-09-27 10:02 211人阅读 评论(0) 收藏 举报 分类:MySQL5.7新特性(5) 目录(?)[+]http://mysql.taobao.org/monthly/2016/07/01/1. 背景InnoDB存储引擎中,un
2017-03-20 18:10:59 371
转载 Innodb read only事务、MySQL5.7和Percona的事务改进
trx_commit_in_memory trx->read_view = NULL; trx_assign_read_view(read_view_open_nowread_view_create_lowread_view_open_now_lowInnodb read only事务、MySQL5.7
2017-03-20 17:42:37 1080
转载 MySQL事务提交过程(二)
随笔 - 52 文章 - 0 评论 - 5MySQL事务提交过程(二)上一篇文章我们介绍了在关闭binlog的情况下,事务提交的大概流程。之所以关闭binlog,是因为开启binlog后事务提交流程会变成两阶段提交,这里的两阶段提交并不涉及分布式事务,当然mysql把它称之为内部xa事务(Distributed Transacti
2017-03-17 17:21:10 227
转载 MySQL事务提交过程(一)
MySQL事务提交过程(一)MySQL作为一种关系型数据库,已被广泛应用到互联网中的诸多项目中。今天我们来讨论下事务的提交过程。 MySQL体系结构 由于mysql插件式存储架构,导致开启binlog后,事务提交实质是二阶段提交,通过两阶段提交,来保证存储
2017-03-17 17:20:25 389
转载 mysql数据库创建,表创建,插入数据
mysql数据库创建,表创建,插入数据标签: mysql数据库databasenullquerydate2012-06-27 10:42 5641人阅读 评论(1) 收藏 举报版权声明:本文为博主原创文章,未经博主允许不得转载。[html] view plain copy Type 'help;
2017-03-17 11:31:40 8053
转载 ibdata写盘原理
MySQL数据库InnoDB存储引擎 Buffer Pool Flush List详解[日期:2013-10-21]来源:Linux社区 作者:Linux[字体:大 中 小]Buffer Pool Flush Listadd page to flush list buffer pool中的page,有三种状态:
2017-03-16 22:52:59 304
转载 页断裂(partial write)与doublewrite技术
页断裂(partial write)与doublewrite技术 mysql double write (二次写)是mysql innodb存储引擎的一个重要特性,本人这两天翻阅了相关的资料,结合自己已有的知识,说说自己对double write的理解,供各位看官参考。页断裂(partial write)double write技术innodb为解决页断裂(p
2017-03-16 21:44:47 355
转载 MySQL的Innodb doublewrite buffer来龙去脉
MySQL的Innodb doublewrite buffer来龙去脉 2014-07-20 20:06:36分类: Mysql/postgreSQL MySQL的Innodb doublewrite buffer来龙去脉 乍一看文档上写的Innodb有个doublewrite
2017-03-16 21:44:13 1936
转载 ib_logfile与log-bin区别
哪位大侠能说一下这两个区别,我只知道两个都是记录日志的。 就是ib_logfile0与mysql-bin.000011区别哪位大侠能说一下这两个区别,我只知道两个都是记录日志的。就是ib_logfile0与mysql-bin.000011区别 参考方案ib_logfile0 记录系统的回滚,重做日志。mysql-bin.000011 系统的所有更新记录。如果
2017-03-16 17:01:27 10824
转载 生活中的Paxos,原来你我都在使用——对Paxos生活化的解读
http://hedengcheng.com/?p=970目录引言 1什么?老婆要在家里搞民主… 2全民献计第一战,明确分工 2一波未平一波又起,你不能总是变 4没想到啊没想到,献计献策变成了处处抢占先机 6让我们做一个规范总结吧 8一切并未结束 9
2017-03-15 22:52:57 264
转载 浅谈分布式事务
浅谈分布式事务前言应用场景事务必须满足传统事务的特性,即原子性,一致性,分离性和持久性。但是分布式事务处理过程中,某些场地比如在电商系统中,当有用户下单后,除了在订单表插入一条记录外,对应商品表的这个商品数量必须减1吧,怎么保证?在搜索广告系统中,当用户点击某广告后,除了在点击事件表中增加一条记录外,还得去商家账户表中找到这个商家并扣除广告费吧,怎么保证?一
2017-03-15 22:32:14 315
转载 扯谈下XA事务
普通事务普通事务的实现是比较好理解的。以jdbm3为例,大概是这样的过程:每个事务都新建一个事务文件,当commit时,先把修改过的数据块,写到事务文件里,然后再一次性地写到数据库文件里。如果commit时挂掉了,那么重启之后,会再次从事务文件里把修改过的块写到数据库文件里。最后再删除事务文件。https://github.com/jankotek/JDBM3
2017-03-15 22:30:18 319
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人