2014年6月29日

InnoDb 体系架构和特性 (Innodb存储引擎读书笔记)

摘要: 后台线程Master Thread核心后台线程,主要负责将缓冲池的数据异步刷新到磁盘。例如脏页的刷新,插入缓冲的合并,undo 页的回收等。每秒一次的操作:日志缓冲刷新到磁盘,即使该事务还没有提交。该操作总是会发生,这个就是为了再大的事务,提交时间都很短。当IO压力很小时(1s内发生的IO次数小于5... 阅读全文

posted @ 2014-06-29 21:53 ewouldblock7 阅读(855) 评论(0) 推荐(0) 编辑

2014年6月10日

Mysql 文件-(Innodb存储引擎读书笔记)

摘要: 1 参数文件及mysql参数配置参数文件通过下面命令可以得知当前配置的参数文件在什么位置./bin/mysql --help | grep my.cnf/etc/my.cnf /etc/mysql/my.cnf /home/seven/study/mysql-5.6.17/install/my.cn... 阅读全文

posted @ 2014-06-10 22:39 ewouldblock7 阅读(332) 评论(0) 推荐(0) 编辑

2014年5月11日

leveldb version机制

摘要: 该文章主要回答三个问题: leveldb 怎么管理因compact带来的文件变化? 当db关闭后重新打开时,如何恢复状态? 如何解决版本销毁文件变化和已经获取过的迭代器的冲突? 每次leveldb后台进行compact时, 会造成sst文件的变化。levedb利用version来管理了这... 阅读全文

posted @ 2014-05-11 18:29 ewouldblock7 阅读(704) 评论(0) 推荐(0) 编辑

2014年4月20日

mysql 5.6源码安装小记

摘要: 获得源码:http://dev.mysql.com/downloads/mysql/, 选择MySQL Community Server, 再选择source code, 选择Generic Linux版本下载。下载后解压至 ($yourpath)/mysql-5.6.17 目录。 编译过程:... 阅读全文

posted @ 2014-04-20 21:52 ewouldblock7 阅读(320) 评论(0) 推荐(0) 编辑

2014年4月9日

leveldb 合并写详解

摘要: leveldb的write代码初看瞎搞一堆,细看则实为短小精悍。 1 Status DBImpl::Write(const WriteOptions& options, WriteBatch* my_batch) { 2 // -----A begin------- 3 Writer w(&mutex_); 4 w.batch = my_batch; 5 w.sync = options.sync; 6 w.done = false; 7 // -----A end -------- 8 9 10 // -----B begin------- ... 阅读全文

posted @ 2014-04-09 21:13 ewouldblock7 阅读(1545) 评论(0) 推荐(0) 编辑

2014年4月4日

leveldb snapshot详解

摘要: 了解leveldb 的snapshot首先得了解SequenceNumber。当插入数据时,SequenceNumber会依次增长,例如插入key1, key2, key3, key4等数据时,依次对应的SequenceNumber为1, 2, 3, 4。当然,并不是每次都会如此简单,当存在合并写时,例如key1, key2, key3, key4,key5. key1对应的SequenceNumber为1,key2, key3, key4对应的SequenceNumber为2,key5对应的SequenceNumber为5. 一条kv键对会安如下格式插入到memtable里去: in... 阅读全文

posted @ 2014-04-04 00:02 ewouldblock7 阅读(3476) 评论(0) 推荐(0) 编辑

导航