<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>

<channel>
	<title>MySQL实验室</title>
	<atom:link href="http://www.mysqlab.net/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mysqlab.net/blog</link>
	<description>从事 高可用 High availability,复制/同步 Replication,集群 Cluster,Innodb 等MySQL相关系统及应用的研究.</description>
	<pubDate>Thu, 18 Mar 2010 13:33:53 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>寻求数据库相关网站或博客交换链接</title>
		<link>http://www.mysqlab.net/blog/2010/03/%e5%af%bb%e6%b1%82%e6%95%b0%e6%8d%ae%e5%ba%93%e7%9b%b8%e5%85%b3%e7%bd%91%e7%ab%99%e6%88%96%e5%8d%9a%e5%ae%a2%e4%ba%a4%e6%8d%a2%e9%93%be%e6%8e%a5/</link>
		<comments>http://www.mysqlab.net/blog/2010/03/%e5%af%bb%e6%b1%82%e6%95%b0%e6%8d%ae%e5%ba%93%e7%9b%b8%e5%85%b3%e7%bd%91%e7%ab%99%e6%88%96%e5%8d%9a%e5%ae%a2%e4%ba%a4%e6%8d%a2%e9%93%be%e6%8e%a5/#comments</comments>
		<pubDate>Thu, 18 Mar 2010 13:33:53 +0000</pubDate>
		<dc:creator>谭俊青</dc:creator>
		
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://www.mysqlab.net/blog/?p=531</guid>
		<description><![CDATA[

寻求高质量数据库相关或者开发相关的博客和网站交换链接。 

有意的朋友请直接留言或者发送邮件至：ivan@mysqlab.net




© 谭俊青 发布在 MySQL实验室, 2010.


可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 版权声明



链接: http://www.mysqlab.net/blog/2010/03/寻求数据库相关网站或博客交换链接/







Add to
del.icio.us



标签: 

]]></description>
			<content:encoded><![CDATA[<pre lang='txt'>

寻求高质量数据库相关或者开发相关的博客和网站交换链接。 

有意的朋友请直接留言或者发送邮件至：ivan@mysqlab.net
</pre>
<hr />
<p>

© 谭俊青<!-- (谭俊青) --> 发布在 <a href="http://www.mysqlab.net/blog">MySQL实验室</a>, 2010.

<br/>
可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/" target="_blank">版权声明</a>


<br/>
链接: <a href="http://www.mysqlab.net/blog/2010/03/%e5%af%bb%e6%b1%82%e6%95%b0%e6%8d%ae%e5%ba%93%e7%9b%b8%e5%85%b3%e7%bd%91%e7%ab%99%e6%88%96%e5%8d%9a%e5%ae%a2%e4%ba%a4%e6%8d%a2%e9%93%be%e6%8e%a5/">http://www.mysqlab.net/blog/2010/03/寻求数据库相关网站或博客交换链接/</a>


<br/>
<!-- | <a href="http://www.mysqlab.net/blog/2010/03/%e5%af%bb%e6%b1%82%e6%95%b0%e6%8d%ae%e5%ba%93%e7%9b%b8%e5%85%b3%e7%bd%91%e7%ab%99%e6%88%96%e5%8d%9a%e5%ae%a2%e4%ba%a4%e6%8d%a2%e9%93%be%e6%8e%a5/#comments">1条评论</a> -->


<br/>
Add to
<a href="http://del.icio.us/post?url=http://www.mysqlab.net/blog/2010/03/%e5%af%bb%e6%b1%82%e6%95%b0%e6%8d%ae%e5%ba%93%e7%9b%b8%e5%85%b3%e7%bd%91%e7%ab%99%e6%88%96%e5%8d%9a%e5%ae%a2%e4%ba%a4%e6%8d%a2%e9%93%be%e6%8e%a5/&title=寻求数据库相关网站或博客交换链接">del.icio.us</a>


<br/>
标签: <br/>

</p>]]></content:encoded>
			<wfw:commentRss>http://www.mysqlab.net/blog/2010/03/%e5%af%bb%e6%b1%82%e6%95%b0%e6%8d%ae%e5%ba%93%e7%9b%b8%e5%85%b3%e7%bd%91%e7%ab%99%e6%88%96%e5%8d%9a%e5%ae%a2%e4%ba%a4%e6%8d%a2%e9%93%be%e6%8e%a5/feed/</wfw:commentRss>
		</item>
		<item>
		<title>NDB,InnoDB也是很好的NoSQL数据库</title>
		<link>http://www.mysqlab.net/blog/2010/03/%e5%85%b6%e5%ae%9endb-innodb%e6%98%af%e5%be%88%e5%a5%bd%e7%9a%84nosql%e6%95%b0%e6%8d%ae%e5%ba%93/</link>
		<comments>http://www.mysqlab.net/blog/2010/03/%e5%85%b6%e5%ae%9endb-innodb%e6%98%af%e5%be%88%e5%a5%bd%e7%9a%84nosql%e6%95%b0%e6%8d%ae%e5%ba%93/#comments</comments>
		<pubDate>Thu, 18 Mar 2010 03:46:29 +0000</pubDate>
		<dc:creator>谭俊青</dc:creator>
		
		<category><![CDATA[MySQL]]></category>

		<category><![CDATA[MySQL Cluster]]></category>

		<category><![CDATA[MySQL Innodb]]></category>

		<guid isPermaLink="false">http://www.mysqlab.net/blog/?p=527</guid>
		<description><![CDATA[　　忽如一夜春风来，人人开口NoSQL。NoSQL现在是火了，可大家有想过没，其实NDB, InnoDB是很好的NoSQL数据库，InnoDB有double write buffer可以保证数据的安全性而且身经百战，NDB提供API可供直接调用。而且如果你愿意，你可以在InnoDB前面加上MySQL，它就变成了关系型数据库；NDB加上ndb引擎，结合MySQL摇身一变，也成了关系型数据库。



© 谭俊青 发布在 MySQL实验室, 2010.


可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 版权声明



链接: http://www.mysqlab.net/blog/2010/03/其实ndb-innodb是很好的nosql数据库/







Add to
del.icio.us



标签: 

]]></description>
			<content:encoded><![CDATA[<p>　　忽如一夜春风来，人人开口NoSQL。NoSQL现在是火了，可大家有想过没，其实NDB, InnoDB是很好的NoSQL数据库，InnoDB有double write buffer可以保证数据的安全性而且身经百战，NDB提供API可供直接调用。而且如果你愿意，你可以在InnoDB前面加上MySQL，它就变成了关系型数据库；NDB加上ndb引擎，结合MySQL摇身一变，也成了关系型数据库。</p>
<hr />
<p>

© 谭俊青<!-- (谭俊青) --> 发布在 <a href="http://www.mysqlab.net/blog">MySQL实验室</a>, 2010.

<br/>
可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/" target="_blank">版权声明</a>


<br/>
链接: <a href="http://www.mysqlab.net/blog/2010/03/%e5%85%b6%e5%ae%9endb-innodb%e6%98%af%e5%be%88%e5%a5%bd%e7%9a%84nosql%e6%95%b0%e6%8d%ae%e5%ba%93/">http://www.mysqlab.net/blog/2010/03/其实ndb-innodb是很好的nosql数据库/</a>


<br/>
<!-- | <a href="http://www.mysqlab.net/blog/2010/03/%e5%85%b6%e5%ae%9endb-innodb%e6%98%af%e5%be%88%e5%a5%bd%e7%9a%84nosql%e6%95%b0%e6%8d%ae%e5%ba%93/#comments">无评论</a> -->


<br/>
Add to
<a href="http://del.icio.us/post?url=http://www.mysqlab.net/blog/2010/03/%e5%85%b6%e5%ae%9endb-innodb%e6%98%af%e5%be%88%e5%a5%bd%e7%9a%84nosql%e6%95%b0%e6%8d%ae%e5%ba%93/&title=NDB,InnoDB也是很好的NoSQL数据库">del.icio.us</a>


<br/>
标签: <br/>

</p>]]></content:encoded>
			<wfw:commentRss>http://www.mysqlab.net/blog/2010/03/%e5%85%b6%e5%ae%9endb-innodb%e6%98%af%e5%be%88%e5%a5%bd%e7%9a%84nosql%e6%95%b0%e6%8d%ae%e5%ba%93/feed/</wfw:commentRss>
		</item>
		<item>
		<title>MySQL vs NoSQL 效率与成本之争</title>
		<link>http://www.mysqlab.net/blog/2010/03/mysql-vs-nosql/</link>
		<comments>http://www.mysqlab.net/blog/2010/03/mysql-vs-nosql/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 03:29:31 +0000</pubDate>
		<dc:creator>谭俊青</dc:creator>
		
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://www.mysqlab.net/blog/?p=500</guid>
		<description><![CDATA[　　最近Twitter、DIGG等计划换用基于key-value的NoSQL数据库(e.g:Cassandra)，之所以有如此动向是因为基于MySQL + sharding + cache的构架随着数据量爆炸式增长，重构的人力成本太高，换用扩展性更好的NoSQL数据库，以达到控制人力成本的目的，从而减少总体成本。
　　随着数据量和访问量的增长，网站构架大致有这么几个发展阶段(以PHP+MySQL+Memcached为例)：
(...)阅读全文MySQL vs NoSQL 效率与成本之争 (49 words)



© 谭俊青 发布在 MySQL实验室, 2010.


可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 版权声明



链接: http://www.mysqlab.net/blog/2010/03/mysql-vs-nosql/







Add to
del.icio.us



标签: 

]]></description>
			<content:encoded><![CDATA[<p>　　最近Twitter、DIGG等计划换用基于key-value的NoSQL数据库(e.g:Cassandra)，之所以有如此动向是因为基于MySQL + sharding + cache的构架随着数据量爆炸式增长，重构的人力成本太高，换用扩展性更好的NoSQL数据库，以达到控制人力成本的目的，从而减少总体成本。</p>
<p>　　随着数据量和访问量的增长，网站构架大致有这么几个发展阶段(以PHP+MySQL+Memcached为例)：</p>
<p>(...)<br/>阅读全文<a href="http://www.mysqlab.net/blog/2010/03/mysql-vs-nosql/">MySQL vs NoSQL 效率与成本之争</a> (49 words)</p>
<hr />
<p>

© 谭俊青<!-- (谭俊青) --> 发布在 <a href="http://www.mysqlab.net/blog">MySQL实验室</a>, 2010.

<br/>
可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/" target="_blank">版权声明</a>


<br/>
链接: <a href="http://www.mysqlab.net/blog/2010/03/mysql-vs-nosql/">http://www.mysqlab.net/blog/2010/03/mysql-vs-nosql/</a>


<br/>
<!-- | <a href="http://www.mysqlab.net/blog/2010/03/mysql-vs-nosql/#comments">无评论</a> -->


<br/>
Add to
<a href="http://del.icio.us/post?url=http://www.mysqlab.net/blog/2010/03/mysql-vs-nosql/&title=MySQL vs NoSQL 效率与成本之争">del.icio.us</a>


<br/>
标签: <br/>

</p>]]></content:encoded>
			<wfw:commentRss>http://www.mysqlab.net/blog/2010/03/mysql-vs-nosql/feed/</wfw:commentRss>
		</item>
		<item>
		<title>MySQL半同步存在的问题</title>
		<link>http://www.mysqlab.net/blog/2010/03/mysql%e5%8d%8a%e5%90%8c%e6%ad%a5%e5%ad%98%e5%9c%a8%e7%9a%84%e9%97%ae%e9%a2%98/</link>
		<comments>http://www.mysqlab.net/blog/2010/03/mysql%e5%8d%8a%e5%90%8c%e6%ad%a5%e5%ad%98%e5%9c%a8%e7%9a%84%e9%97%ae%e9%a2%98/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 09:39:51 +0000</pubDate>
		<dc:creator>谭俊青</dc:creator>
		
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://www.mysqlab.net/blog/?p=512</guid>
		<description><![CDATA[　　去年做过MySQL HA高可用方案，就是利用了Google的半同步补丁来加以实现的。而现在MySQL5.5中已经集成了semi-sync replication的功能，那么我们可以放心用它和其他组件及服务判断程序来实现我们的高可用解决方案。但是这里还存在一点瑕疵，需要注意。 By ivan@mysqlab.net
(...)阅读全文MySQL半同步存在的问题 (4 words)



© 谭俊青 发布在 MySQL实验室, 2010.


可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 版权声明



链接: http://www.mysqlab.net/blog/2010/03/mysql半同步存在的问题/







Add to
del.icio.us



标签: 

]]></description>
			<content:encoded><![CDATA[<p>　　去年做过<a href="http://www.mysqlab.net/blog/2009/04/mysql-ha-%E7%9B%B8%E5%AF%B9%E5%AE%8C%E6%95%B4%E7%9A%84%E6%96%B9%E6%A1%88%E5%BF%AB%E8%A6%81%E9%9D%A2%E4%B8%96%E4%BA%86/">MySQL HA高可用方案</a>，就是利用了Google的半同步补丁来加以实现的。而现在<a href="http://www.mysqlab.net/blog/2009/12/mysql-55-released%E9%9D%9Ega/">MySQL5.5</a>中已经集成了semi-sync replication的功能，那么我们可以放心用它和其他组件及服务判断程序来实现我们的高可用解决方案。但是这里还存在一点瑕疵，需要注意。 By ivan@mysqlab.net</p>
<p><div id="attachment_375" class="wp-caption alignnone" style="width: 310px"><a href="http://www.mysqlab.net/blog/wp-content/uploads/2009/12/semisync1.png"><img src="http://www.mysqlab.net/blog/wp-content/uploads/2009/12/semisync1-300x287.png" alt="MySQL半同步流程设计图" title="MySQL半同步流程设计图" width="300" height="287" class="size-medium wp-image-375" /></a><p class="wp-caption-text">MySQL半同步流程设计图</p></div><br />
(...)<br/>阅读全文<a href="http://www.mysqlab.net/blog/2010/03/mysql%e5%8d%8a%e5%90%8c%e6%ad%a5%e5%ad%98%e5%9c%a8%e7%9a%84%e9%97%ae%e9%a2%98/">MySQL半同步存在的问题</a> (4 words)</p>
<hr />
<p>

© 谭俊青<!-- (谭俊青) --> 发布在 <a href="http://www.mysqlab.net/blog">MySQL实验室</a>, 2010.

<br/>
可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/" target="_blank">版权声明</a>


<br/>
链接: <a href="http://www.mysqlab.net/blog/2010/03/mysql%e5%8d%8a%e5%90%8c%e6%ad%a5%e5%ad%98%e5%9c%a8%e7%9a%84%e9%97%ae%e9%a2%98/">http://www.mysqlab.net/blog/2010/03/mysql半同步存在的问题/</a>


<br/>
<!-- | <a href="http://www.mysqlab.net/blog/2010/03/mysql%e5%8d%8a%e5%90%8c%e6%ad%a5%e5%ad%98%e5%9c%a8%e7%9a%84%e9%97%ae%e9%a2%98/#comments">无评论</a> -->


<br/>
Add to
<a href="http://del.icio.us/post?url=http://www.mysqlab.net/blog/2010/03/mysql%e5%8d%8a%e5%90%8c%e6%ad%a5%e5%ad%98%e5%9c%a8%e7%9a%84%e9%97%ae%e9%a2%98/&title=MySQL半同步存在的问题">del.icio.us</a>


<br/>
标签: <br/>

</p>]]></content:encoded>
			<wfw:commentRss>http://www.mysqlab.net/blog/2010/03/mysql%e5%8d%8a%e5%90%8c%e6%ad%a5%e5%ad%98%e5%9c%a8%e7%9a%84%e9%97%ae%e9%a2%98/feed/</wfw:commentRss>
		</item>
		<item>
		<title>MySQL 5.5-m2的可伸缩性</title>
		<link>http://www.mysqlab.net/blog/2010/03/mysql-55-m2%e7%9a%84%e5%8f%af%e4%bc%b8%e7%bc%a9%e6%80%a7/</link>
		<comments>http://www.mysqlab.net/blog/2010/03/mysql-55-m2%e7%9a%84%e5%8f%af%e4%bc%b8%e7%bc%a9%e6%80%a7/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 02:15:13 +0000</pubDate>
		<dc:creator>谭俊青</dc:creator>
		
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://www.mysqlab.net/blog/?p=501</guid>
		<description><![CDATA[　　之前的MySQL版本在多核处理器的服务器上，处理器的性能并不能得以充分发挥，而Google发布了针对MySQL的SMP补丁，从而改变了这一现状。我们来看看MySQL5.5在采用了Google的补丁之后性能在多核CPU上的伸缩性。 By ivan@mysqlab.net
下面的测试结果基于的硬件条件很环境：
1千万记录（约2.5GB数据）
DELL R900(16核，32GB内存， FusionIO+Raid10）

(...)阅读全文MySQL 5.5-m2的可伸缩性 (2 words)



© 谭俊青 发布在 MySQL实验室, 2010.


可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 版权声明



链接: http://www.mysqlab.net/blog/2010/03/mysql-55-m2的可伸缩性/







Add to
del.icio.us



标签: 

]]></description>
			<content:encoded><![CDATA[<p>　　之前的MySQL版本在多核处理器的服务器上，处理器的性能并不能得以充分发挥，而Google发布了针对MySQL的SMP补丁，从而改变了这一现状。我们来看看<a href="http://www.mysqlab.net/blog/2009/12/mysql-55-released%E9%9D%9Ega/" title="MySQL 5.5">MySQL5.5</a>在采用了Google的补丁之后性能在多核CPU上的伸缩性。 By ivan@mysqlab.net</p>
<p>下面的测试结果基于的硬件条件很环境：<br />
1千万记录（约2.5GB数据）<br />
DELL R900(16核，32GB内存， FusionIO+Raid10）</p>
<p><img src="http://www.mysqlab.net/blog/wp-content/uploads/2010/03/sysbench_oltp_mysql55-m2.png" alt="sysbench-oltp-mysql55-m2" title="sysbench-oltp-mysql55-m2" width="480" height="302" class="alignnone size-full wp-image-502" /></p>
<p>(...)<br/>阅读全文<a href="http://www.mysqlab.net/blog/2010/03/mysql-55-m2%e7%9a%84%e5%8f%af%e4%bc%b8%e7%bc%a9%e6%80%a7/">MySQL 5.5-m2的可伸缩性</a> (2 words)</p>
<hr />
<p>

© 谭俊青<!-- (谭俊青) --> 发布在 <a href="http://www.mysqlab.net/blog">MySQL实验室</a>, 2010.

<br/>
可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/" target="_blank">版权声明</a>


<br/>
链接: <a href="http://www.mysqlab.net/blog/2010/03/mysql-55-m2%e7%9a%84%e5%8f%af%e4%bc%b8%e7%bc%a9%e6%80%a7/">http://www.mysqlab.net/blog/2010/03/mysql-55-m2的可伸缩性/</a>


<br/>
<!-- | <a href="http://www.mysqlab.net/blog/2010/03/mysql-55-m2%e7%9a%84%e5%8f%af%e4%bc%b8%e7%bc%a9%e6%80%a7/#comments">无评论</a> -->


<br/>
Add to
<a href="http://del.icio.us/post?url=http://www.mysqlab.net/blog/2010/03/mysql-55-m2%e7%9a%84%e5%8f%af%e4%bc%b8%e7%bc%a9%e6%80%a7/&title=MySQL 5.5-m2的可伸缩性">del.icio.us</a>


<br/>
标签: <br/>

</p>]]></content:encoded>
			<wfw:commentRss>http://www.mysqlab.net/blog/2010/03/mysql-55-m2%e7%9a%84%e5%8f%af%e4%bc%b8%e7%bc%a9%e6%80%a7/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Memcached and MySQL</title>
		<link>http://www.mysqlab.net/blog/2010/03/memcached-and-mysql/</link>
		<comments>http://www.mysqlab.net/blog/2010/03/memcached-and-mysql/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 02:17:47 +0000</pubDate>
		<dc:creator>谭俊青</dc:creator>
		
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://www.mysqlab.net/blog/?p=493</guid>
		<description><![CDATA[　　相信很多开发人员接触过memcached,而且我认识的朋友当中有的是经常使用。那么在结合数据库，在对数据库内容做缓存的时候什么情况下使用memcached却不甚了解。有些朋友问到MySQL有自己的Query cache，为什么还要用memcached？ &#8211;by ivan@mysqlab.net
(...)阅读全文Memcached and MySQL (39 words)



© 谭俊青 发布在 MySQL实验室, 2010.


可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 版权声明



链接: http://www.mysqlab.net/blog/2010/03/memcached-and-mysql/







Add to
del.icio.us



标签: 

]]></description>
			<content:encoded><![CDATA[<p>　　相信很多开发人员接触过memcached,而且我认识的朋友当中有的是经常使用。那么在结合数据库，在对数据库内容做缓存的时候什么情况下使用memcached却不甚了解。有些朋友问到MySQL有自己的Query cache，为什么还要用memcached？ &#8211;by ivan@mysqlab.net</p>
<p>(...)<br/>阅读全文<a href="http://www.mysqlab.net/blog/2010/03/memcached-and-mysql/">Memcached and MySQL</a> (39 words)</p>
<hr />
<p>

© 谭俊青<!-- (谭俊青) --> 发布在 <a href="http://www.mysqlab.net/blog">MySQL实验室</a>, 2010.

<br/>
可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/" target="_blank">版权声明</a>


<br/>
链接: <a href="http://www.mysqlab.net/blog/2010/03/memcached-and-mysql/">http://www.mysqlab.net/blog/2010/03/memcached-and-mysql/</a>


<br/>
<!-- | <a href="http://www.mysqlab.net/blog/2010/03/memcached-and-mysql/#comments">2 comments</a> -->


<br/>
Add to
<a href="http://del.icio.us/post?url=http://www.mysqlab.net/blog/2010/03/memcached-and-mysql/&title=Memcached and MySQL">del.icio.us</a>


<br/>
标签: <br/>

</p>]]></content:encoded>
			<wfw:commentRss>http://www.mysqlab.net/blog/2010/03/memcached-and-mysql/feed/</wfw:commentRss>
		</item>
		<item>
		<title>2010年的心愿</title>
		<link>http://www.mysqlab.net/blog/2010/02/2010%e5%b9%b4%e7%9a%84%e5%bf%83%e6%84%bf/</link>
		<comments>http://www.mysqlab.net/blog/2010/02/2010%e5%b9%b4%e7%9a%84%e5%bf%83%e6%84%bf/#comments</comments>
		<pubDate>Sat, 13 Feb 2010 20:59:58 +0000</pubDate>
		<dc:creator>谭俊青</dc:creator>
		
		<category><![CDATA[未分类]]></category>

		<guid isPermaLink="false">http://www.mysqlab.net/blog/?p=484</guid>
		<description><![CDATA[　　今天是2010大年初一，祝兄弟朋友们在新年里健康快乐、美满幸福、万事如意、心想事成。
　　也祝愿自己能多交几个好朋友。




© 谭俊青 发布在 MySQL实验室, 2010.


可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 版权声明



链接: http://www.mysqlab.net/blog/2010/02/2010年的心愿/







Add to
del.icio.us



标签: 

]]></description>
			<content:encoded><![CDATA[<p>　　今天是2010大年初一，祝兄弟朋友们在新年里健康快乐、美满幸福、万事如意、心想事成。<br />
　　也祝愿自己能多交几个好朋友。</p>
<p><img src="http://www.mysqlab.net/blog/wp-content/uploads/2010/02/1138416128.gif" alt="吉祥如意" title="吉祥如意" width="400" height="320" class="aligncenter size-full wp-image-486" /></p>
<hr />
<p>

© 谭俊青<!-- (谭俊青) --> 发布在 <a href="http://www.mysqlab.net/blog">MySQL实验室</a>, 2010.

<br/>
可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/" target="_blank">版权声明</a>


<br/>
链接: <a href="http://www.mysqlab.net/blog/2010/02/2010%e5%b9%b4%e7%9a%84%e5%bf%83%e6%84%bf/">http://www.mysqlab.net/blog/2010/02/2010年的心愿/</a>


<br/>
<!-- | <a href="http://www.mysqlab.net/blog/2010/02/2010%e5%b9%b4%e7%9a%84%e5%bf%83%e6%84%bf/#comments">4 comments</a> -->


<br/>
Add to
<a href="http://del.icio.us/post?url=http://www.mysqlab.net/blog/2010/02/2010%e5%b9%b4%e7%9a%84%e5%bf%83%e6%84%bf/&title=2010年的心愿">del.icio.us</a>


<br/>
标签: <br/>

</p>]]></content:encoded>
			<wfw:commentRss>http://www.mysqlab.net/blog/2010/02/2010%e5%b9%b4%e7%9a%84%e5%bf%83%e6%84%bf/feed/</wfw:commentRss>
		</item>
		<item>
		<title>MySQL库目录下db.opt文件的作用</title>
		<link>http://www.mysqlab.net/blog/2010/02/mysql%e5%ba%93%e7%9b%ae%e5%bd%95%e4%b8%8bdb-opt%e6%96%87%e4%bb%b6%e7%9a%84%e4%bd%9c%e7%94%a8/</link>
		<comments>http://www.mysqlab.net/blog/2010/02/mysql%e5%ba%93%e7%9b%ae%e5%bd%95%e4%b8%8bdb-opt%e6%96%87%e4%bb%b6%e7%9a%84%e4%bd%9c%e7%94%a8/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 19:06:44 +0000</pubDate>
		<dc:creator>谭俊青</dc:creator>
		
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://www.mysqlab.net/blog/?p=472</guid>
		<description><![CDATA[　　细心的朋友可能会发现有时候在某些库目录下有个 db.opt 文件，那这个文件是干什么用的呢？如果你用vi等编辑器打开看的话，内容很简单，是用来记录该库的默认字符集编码和字符集排序规则用的。也就是说如果你创建数据库指定默认字符集和排序规则，那么后续创建的表如果没有指定字符集和排序规则，那么该新建的表将采用db.opt文件中指定的属性。

/*
&#160; Set table default charset, if not set
&#160; SYNOPSIS
&#160; &#160; set_table_default_charset()
&#160; &#160; create_info &#160; &#160; &#160; &#160;Table create information
&#160; DESCRIPTION
&#160; &#160; If the table character set was not given explicitely,
&#160; &#160; let&#8217;s fetch the database default character set and
&#160; &#160; apply it to the table.
*/
static void set_table_default_charset&#40;THD *thd,
&#160; &#160; &#160; &#160; &#160; &#160; [...]]]></description>
			<content:encoded><![CDATA[<p>　　细心的朋友可能会发现有时候在某些库目录下有个 db.opt 文件，那这个文件是干什么用的呢？如果你用vi等编辑器打开看的话，内容很简单，是用来记录该库的默认字符集编码和字符集排序规则用的。也就是说如果你创建数据库指定默认字符集和排序规则，那么后续创建的表如果没有指定字符集和排序规则，那么该新建的表将采用db.opt文件中指定的属性。</p>
<div class="dean_ch" style="white-space: wrap;">
<p><span class="coMULTI">/*<br />
&nbsp; Set table default charset, if not set</p>
<p>&nbsp; SYNOPSIS<br />
&nbsp; &nbsp; set_table_default_charset()<br />
&nbsp; &nbsp; create_info &nbsp; &nbsp; &nbsp; &nbsp;Table create information</p>
<p>&nbsp; DESCRIPTION<br />
&nbsp; &nbsp; If the table character set was not given explicitely,<br />
&nbsp; &nbsp; let&#8217;s fetch the database default character set and<br />
&nbsp; &nbsp; apply it to the table.<br />
*/</span></p>
<p><span class="kw4">static</span> <span class="kw4">void</span> set_table_default_charset<span class="br0">&#40;</span>THD *thd,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; HA_CREATE_INFO *create_info, <span class="kw4">char</span> *db<span class="br0">&#41;</span><br />
<span class="br0">&#123;</span><br />
&nbsp; <span class="coMULTI">/*<br />
&nbsp; &nbsp; If the table character set was not given explicitly,<br />
&nbsp; &nbsp; let&#8217;s fetch the database default character set and<br />
&nbsp; &nbsp; apply it to the table.<br />
&nbsp; */</span><br />
&nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>!create_info-&gt;default_table_charset<span class="br0">&#41;</span><br />
&nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; HA_CREATE_INFO db_info;</p>
<p>&nbsp; &nbsp; load_db_opt_by_name<span class="br0">&#40;</span>thd, db, &amp;db_info<span class="br0">&#41;</span>;</p>
<p>&nbsp; &nbsp; create_info-&gt;default_table_charset= db_info.<span class="me1">default_table_charset</span>;<br />
&nbsp; <span class="br0">&#125;</span><br />
<span class="br0">&#125;</span></div>
<p>另外要说明的是，如果你是通过alter databases(schema) 命令更改的数据库默认属性，那么现有的表的默认字符集和排序规则不受影响。</p>
<p>通过创建数据库指定数据库的默认字符集和排序规则：</p>
<div class="dean_ch" style="white-space: wrap;">
<span class="kw1">CREATE</span> <span class="br0">&#123;</span><span class="kw1">DATABASE</span> | SCHEMA<span class="br0">&#125;</span> <span class="br0">&#91;</span><span class="kw1">IF</span> <span class="kw1">NOT</span> <span class="kw1">EXISTS</span><span class="br0">&#93;</span> db_name<br />
&nbsp; &nbsp; <span class="br0">&#91;</span>create_specification<span class="br0">&#93;</span> &#8230;</p>
<p>create_specification:<br />
&nbsp; &nbsp; <span class="br0">&#91;</span><span class="kw1">DEFAULT</span><span class="br0">&#93;</span> CHARACTER <span class="kw1">SET</span> <span class="br0">&#91;</span>=<span class="br0">&#93;</span> charset_name<br />
&nbsp; | <span class="br0">&#91;</span><span class="kw1">DEFAULT</span><span class="br0">&#93;</span> COLLATE <span class="br0">&#91;</span>=<span class="br0">&#93;</span> collation_name</div>
<p>也可以通过alter database修改</p>
<div class="dean_ch" style="white-space: wrap;">
<span class="kw1">ALTER</span> <span class="br0">&#123;</span><span class="kw1">DATABASE</span> | SCHEMA<span class="br0">&#125;</span> <span class="br0">&#91;</span>db_name<span class="br0">&#93;</span><br />
&nbsp; &nbsp; alter_specification &#8230;<br />
<span class="kw1">ALTER</span> <span class="br0">&#123;</span><span class="kw1">DATABASE</span> | SCHEMA<span class="br0">&#125;</span> db_name<br />
&nbsp; &nbsp; UPGRADE <span class="kw1">DATA</span> DIRECTORY NAME</p>
<p>alter_specification:<br />
&nbsp; &nbsp; <span class="br0">&#91;</span><span class="kw1">DEFAULT</span><span class="br0">&#93;</span> CHARACTER <span class="kw1">SET</span> <span class="br0">&#91;</span>=<span class="br0">&#93;</span> charset_name<br />
&nbsp; | <span class="br0">&#91;</span><span class="kw1">DEFAULT</span><span class="br0">&#93;</span> COLLATE <span class="br0">&#91;</span>=<span class="br0">&#93;</span> collation_name</div>
<hr />
<p>

© 谭俊青<!-- (谭俊青) --> 发布在 <a href="http://www.mysqlab.net/blog">MySQL实验室</a>, 2010.

<br/>
可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/" target="_blank">版权声明</a>


<br/>
链接: <a href="http://www.mysqlab.net/blog/2010/02/mysql%e5%ba%93%e7%9b%ae%e5%bd%95%e4%b8%8bdb-opt%e6%96%87%e4%bb%b6%e7%9a%84%e4%bd%9c%e7%94%a8/">http://www.mysqlab.net/blog/2010/02/mysql库目录下db-opt文件的作用/</a>


<br/>
<!-- | <a href="http://www.mysqlab.net/blog/2010/02/mysql%e5%ba%93%e7%9b%ae%e5%bd%95%e4%b8%8bdb-opt%e6%96%87%e4%bb%b6%e7%9a%84%e4%bd%9c%e7%94%a8/#comments">1条评论</a> -->


<br/>
Add to
<a href="http://del.icio.us/post?url=http://www.mysqlab.net/blog/2010/02/mysql%e5%ba%93%e7%9b%ae%e5%bd%95%e4%b8%8bdb-opt%e6%96%87%e4%bb%b6%e7%9a%84%e4%bd%9c%e7%94%a8/&title=MySQL库目录下db.opt文件的作用">del.icio.us</a>


<br/>
标签: <br/>

</p>]]></content:encoded>
			<wfw:commentRss>http://www.mysqlab.net/blog/2010/02/mysql%e5%ba%93%e7%9b%ae%e5%bd%95%e4%b8%8bdb-opt%e6%96%87%e4%bb%b6%e7%9a%84%e4%bd%9c%e7%94%a8/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Blob/Text字段类型在MySQL Cluster中的处理</title>
		<link>http://www.mysqlab.net/blog/2010/02/blob-text%e5%ad%97%e6%ae%b5%e7%b1%bb%e5%9e%8b%e5%9c%a8mysql-cluster%e4%b8%ad%e7%9a%84%e5%a4%84%e7%90%86/</link>
		<comments>http://www.mysqlab.net/blog/2010/02/blob-text%e5%ad%97%e6%ae%b5%e7%b1%bb%e5%9e%8b%e5%9c%a8mysql-cluster%e4%b8%ad%e7%9a%84%e5%a4%84%e7%90%86/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 02:57:43 +0000</pubDate>
		<dc:creator>谭俊青</dc:creator>
		
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://www.mysqlab.net/blog/?p=443</guid>
		<description><![CDATA[　　MySQL Cluster ndb 引擎每行存储的实际长度最大为8052个字节。Blob和Text字段在ndb engine中只存储前面的256个字节。超过256自己部分存储在另外的隐藏表里面。根据字段类型，隐藏表分3种大小(chunk size)。

Blob/Text  2000B
MediumBlob/MediumText  4000B
LongBlob/LongText  8000B

　　假如一个LongBlob字段是10,000个字节，那么需要2个chunk，第一个存储8000字节，另外一个存储剩下的2000字节。
　　因此为了提高效率，如果我们存储的字段在8k(约)以内，那么在不超过8052字节限制的情况下，可以考虑用varbinary存储。比如比较典型的应用 session 管理。



© 谭俊青 发布在 MySQL实验室, 2010.


可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 版权声明



链接: http://www.mysqlab.net/blog/2010/02/blob-text字段类型在mysql-cluster中的处理/







Add to
del.icio.us



标签: 

]]></description>
			<content:encoded><![CDATA[<p>　　MySQL Cluster ndb 引擎每行存储的实际长度最大为8052个字节。Blob和Text字段在ndb engine中只存储前面的256个字节。超过256自己部分存储在另外的隐藏表里面。根据字段类型，隐藏表分3种大小(chunk size)。</p>
<ul>
<li>Blob/Text  2000B</li>
<li>MediumBlob/MediumText  4000B</li>
<li>LongBlob/LongText  8000B</li>
</ul>
<p>　　假如一个LongBlob字段是10,000个字节，那么需要2个chunk，第一个存储8000字节，另外一个存储剩下的2000字节。<br />
　　因此为了提高效率，如果我们存储的字段在8k(约)以内，那么在不超过8052字节限制的情况下，可以考虑用varbinary存储。比如比较典型的应用 session 管理。</p>
<hr />
<p>

© 谭俊青<!-- (谭俊青) --> 发布在 <a href="http://www.mysqlab.net/blog">MySQL实验室</a>, 2010.

<br/>
可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/" target="_blank">版权声明</a>


<br/>
链接: <a href="http://www.mysqlab.net/blog/2010/02/blob-text%e5%ad%97%e6%ae%b5%e7%b1%bb%e5%9e%8b%e5%9c%a8mysql-cluster%e4%b8%ad%e7%9a%84%e5%a4%84%e7%90%86/">http://www.mysqlab.net/blog/2010/02/blob-text字段类型在mysql-cluster中的处理/</a>


<br/>
<!-- | <a href="http://www.mysqlab.net/blog/2010/02/blob-text%e5%ad%97%e6%ae%b5%e7%b1%bb%e5%9e%8b%e5%9c%a8mysql-cluster%e4%b8%ad%e7%9a%84%e5%a4%84%e7%90%86/#comments">1条评论</a> -->


<br/>
Add to
<a href="http://del.icio.us/post?url=http://www.mysqlab.net/blog/2010/02/blob-text%e5%ad%97%e6%ae%b5%e7%b1%bb%e5%9e%8b%e5%9c%a8mysql-cluster%e4%b8%ad%e7%9a%84%e5%a4%84%e7%90%86/&title=Blob/Text字段类型在MySQL Cluster中的处理">del.icio.us</a>


<br/>
标签: <br/>

</p>]]></content:encoded>
			<wfw:commentRss>http://www.mysqlab.net/blog/2010/02/blob-text%e5%ad%97%e6%ae%b5%e7%b1%bb%e5%9e%8b%e5%9c%a8mysql-cluster%e4%b8%ad%e7%9a%84%e5%a4%84%e7%90%86/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Vertical Partitioning for MySQL(MySQL垂直分区)</title>
		<link>http://www.mysqlab.net/blog/2010/01/vertical-partitioning-for-mysql/</link>
		<comments>http://www.mysqlab.net/blog/2010/01/vertical-partitioning-for-mysql/#comments</comments>
		<pubDate>Sun, 31 Jan 2010 15:32:51 +0000</pubDate>
		<dc:creator>谭俊青</dc:creator>
		
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://www.mysqlab.net/blog/?p=456</guid>
		<description><![CDATA[　　MySQL5.1开始支持表分区,但是是水平分区，包括hash, list, range 等。
例如分区前:

&#124; id &#124; title &#160; &#124; description &#124; author &#160; &#160; &#160; &#160; &#160; &#124;
+&#8212;-+&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+
&#124; &#160;1 &#124; title01 &#124; desc01 &#160; &#160; &#160;&#124; ivan &#160; &#160; &#160; &#160; &#160; &#160; &#124;
&#124; &#160;2 &#124; title02 &#124; desc02 &#160; &#160; &#160;&#124; ivan &#160; &#160; &#160; &#160; &#160; &#160; &#124;
&#124; &#160;3 &#124; title03 &#124; desc03 [...]]]></description>
			<content:encoded><![CDATA[<p>　　MySQL5.1开始支持表分区,但是是水平分区，包括hash, list, range 等。<br />
例如分区前:</p>
<div class="dean_ch" style="white-space: wrap;">
| id | title &nbsp; | description | author &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |<br />
+&#8212;-+&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+<br />
| &nbsp;1 | title01 | desc01 &nbsp; &nbsp; &nbsp;| ivan &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |<br />
| &nbsp;2 | title02 | desc02 &nbsp; &nbsp; &nbsp;| ivan &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |<br />
| &nbsp;3 | title03 | desc03 &nbsp; &nbsp; &nbsp;| ivan &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |<br />
| &nbsp;4 | title04 | desc04 &nbsp; &nbsp; &nbsp;| ivan &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |<br />
| &nbsp;5 | title05 | desc05 &nbsp; &nbsp; &nbsp;| ivan@mysqlab.net |<br />
| &nbsp;6 | title06 | desc06 &nbsp; &nbsp; &nbsp;| ivan@mysqlab.net |<br />
| &nbsp;7 | title07 | desc07 &nbsp; &nbsp; &nbsp;| ivan@mysqlab.net |<br />
| &nbsp;8 | title08 | desc08 &nbsp; &nbsp; &nbsp;| ivan@mysqlab.net |<br />
+&#8212;-+&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+<br />
&nbsp;</div>
<p>分区后：</p>
<div class="dean_ch" style="white-space: wrap;">
+&#8212;-+&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8211;+<br />
| id | title &nbsp; | description | author |<br />
+&#8212;-+&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8211;+<br />
| &nbsp;1 | title01 | desc01 &nbsp; &nbsp; &nbsp;| ivan &nbsp; |<br />
| &nbsp;2 | title02 | desc02 &nbsp; &nbsp; &nbsp;| ivan &nbsp; |<br />
| &nbsp;3 | title03 | desc03 &nbsp; &nbsp; &nbsp;| ivan &nbsp; |<br />
| &nbsp;4 | title04 | desc04 &nbsp; &nbsp; &nbsp;| ivan &nbsp; |<br />
+&#8212;-+&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8211;+</p>
<p>+&#8212;-+&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+<br />
| id | title &nbsp; | description | author &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |<br />
+&#8212;-+&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+<br />
| &nbsp;5 | title05 | desc05 &nbsp; &nbsp; &nbsp;| ivan@mysqlab.net |<br />
| &nbsp;6 | title06 | desc06 &nbsp; &nbsp; &nbsp;| ivan@mysqlab.net |<br />
| &nbsp;7 | title07 | desc07 &nbsp; &nbsp; &nbsp;| ivan@mysqlab.net |<br />
| &nbsp;8 | title08 | desc08 &nbsp; &nbsp; &nbsp;| ivan@mysqlab.net |<br />
+&#8212;-+&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+<br />
&nbsp;</div>
<p>VP存储引擎(vertical partitioning storage engine)支持垂直分区，将不同的表根据主键作join，而且还支持不同存储引擎的表，甚至原有的表还可以带有水平分区。</p>
<p>详情请参考：https://launchpad.net/vpformysql</p>
<hr />
<p>

© 谭俊青<!-- (谭俊青) --> 发布在 <a href="http://www.mysqlab.net/blog">MySQL实验室</a>, 2010.

<br/>
可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/" target="_blank">版权声明</a>


<br/>
链接: <a href="http://www.mysqlab.net/blog/2010/01/vertical-partitioning-for-mysql/">http://www.mysqlab.net/blog/2010/01/vertical-partitioning-for-mysql/</a>


<br/>
<!-- | <a href="http://www.mysqlab.net/blog/2010/01/vertical-partitioning-for-mysql/#comments">无评论</a> -->


<br/>
Add to
<a href="http://del.icio.us/post?url=http://www.mysqlab.net/blog/2010/01/vertical-partitioning-for-mysql/&title=Vertical Partitioning for MySQL(MySQL垂直分区)">del.icio.us</a>


<br/>
标签: <br/>

</p>]]></content:encoded>
			<wfw:commentRss>http://www.mysqlab.net/blog/2010/01/vertical-partitioning-for-mysql/feed/</wfw:commentRss>
		</item>
		<item>
		<title>MySQL是如何使用内存和磁盘的?</title>
		<link>http://www.mysqlab.net/blog/2010/01/mysql%e6%98%af%e5%a6%82%e4%bd%95%e4%bd%bf%e7%94%a8%e5%86%85%e5%ad%98%e5%92%8c%e7%a3%81%e7%9b%98%e7%9a%84/</link>
		<comments>http://www.mysqlab.net/blog/2010/01/mysql%e6%98%af%e5%a6%82%e4%bd%95%e4%bd%bf%e7%94%a8%e5%86%85%e5%ad%98%e5%92%8c%e7%a3%81%e7%9b%98%e7%9a%84/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 18:54:40 +0000</pubDate>
		<dc:creator>谭俊青</dc:creator>
		
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://www.mysqlab.net/blog/?p=429</guid>
		<description><![CDATA[　　这几天在中国移动音乐基地(四川成都)这儿培训MySQL Developer课程，当中萌生了个想法，采用提问的方式，然后筛选出合适的命题做介绍。
　　比如：MySQL是如何使用内存和磁盘的?



　　呵呵，被骗进来的朋友别生气，今天实在是太晚了，明早还要去上课，明后天补上。
　　这篇是普及MySQL基本知识的，介绍MySQL是如何使用磁盘和内存的，从手册上可以找到。
　　磁盘空间的占用：

每个数据库对应MySQL数据目录下的一个目录，不管你是采用什么存储引擎。
每张数据表都在其对应的数据库目录下有一个table_name.frm文件，存储的是表定义信息，有64KB的限制。
MyISAM引擎表在其数据库目录下对应3个文件,包括上面的frm文件,还有数据文件和目录索引文件。
Innodb有自己的表空间和redo日志文件。
MySQL还有自己的日志文件，包括error log, binary log, general log等。
触发器存储在对应的数据库目录下。
认证信息存储在MySQL系统表里，在mysql库下。
另外mysqld服务器程序和其他一些客户端管理工具等也需要占用一定的磁盘空间。

　　内存的占用：

线程管理，服务器程序为了提高效率，会将一些信息存储于buffer(cache)。
Memory(HEAP)引擎将数据存储在那种中内存中。
临时表如果没有超过设定的限制会存储在内存中。
每个客户端连接都会使用一定的buffer空间
全局的Buffer和Cache(比如MyISAM的keybuffer,InnoDB的buffer pool, Query cache等 )




© 谭俊青 发布在 MySQL实验室, 2010.


可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 版权声明



链接: http://www.mysqlab.net/blog/2010/01/mysql是如何使用内存和磁盘的/







Add to
del.icio.us



标签: 

]]></description>
			<content:encoded><![CDATA[<p>　　这几天在中国移动音乐基地(四川成都)这儿培训MySQL Developer课程，当中萌生了个想法，采用<a href="http://www.mysqlab.net/bbs/forumdisplay.php?fid=6" title="有MySQL相关问题，请在BBS留言">提问</a>的方式，然后筛选出合适的命题做介绍。<br />
　　比如：MySQL是如何使用内存和磁盘的?</p>
<div style="margin-left:88px;margin-top:20px;margin-bottom:20px;" >
<img src="http://www.mysqlab.net/blog/wp-content/uploads/2010/01/disk-memory.jpg" alt="mysql disk memory" title="mysql disk memory" width="274" height="140" class="alignnone size-full wp-image-432" />
</div>
<p>　　<del datetime="2010-01-29T13:47:25+00:00">呵呵，被骗进来的朋友别生气，今天实在是太晚了，明早还要去上课，明后天补上。</del></p>
<p>　　这篇是普及MySQL基本知识的，介绍MySQL是如何使用磁盘和内存的，从手册上可以找到。</p>
<p>　　磁盘空间的占用：</p>
<ul>
<li>每个数据库对应MySQL数据目录下的一个目录，不管你是采用什么存储引擎。</li>
<li>每张数据表都在其对应的数据库目录下有一个table_name.frm文件，存储的是表定义信息，有64KB的限制。</li>
<li>MyISAM引擎表在其数据库目录下对应3个文件,包括上面的frm文件,还有数据文件和<del datetime="2010-02-22T03:30:30+00:00">目录</del>索引文件。</li>
<li>Innodb有自己的表空间和redo日志文件。</li>
<li>MySQL还有自己的日志文件，包括error log, binary log, general log等。</li>
<li>触发器存储在对应的数据库目录下。</li>
<li>认证信息存储在MySQL系统表里，在mysql库下。</li>
<li>另外mysqld服务器程序和其他一些客户端管理工具等也需要占用一定的磁盘空间。</li>
</ul>
<p>　　内存的占用：</p>
<ul>
<li>线程管理，服务器程序为了提高效率，会将一些信息存储于buffer(cache)。</li>
<li>Memory(HEAP)引擎将数据存储在<del datetime="2010-02-22T03:30:30+00:00">那种中</del>内存中。</li>
<li>临时表如果没有超过设定的限制会存储在内存中。</li>
<li>每个客户端连接都会使用一定的buffer空间</li>
<li>全局的Buffer和Cache(比如MyISAM的keybuffer,InnoDB的buffer pool, Query cache等 )</li>
</ul>
<hr />
<p>

© 谭俊青<!-- (谭俊青) --> 发布在 <a href="http://www.mysqlab.net/blog">MySQL实验室</a>, 2010.

<br/>
可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/" target="_blank">版权声明</a>


<br/>
链接: <a href="http://www.mysqlab.net/blog/2010/01/mysql%e6%98%af%e5%a6%82%e4%bd%95%e4%bd%bf%e7%94%a8%e5%86%85%e5%ad%98%e5%92%8c%e7%a3%81%e7%9b%98%e7%9a%84/">http://www.mysqlab.net/blog/2010/01/mysql是如何使用内存和磁盘的/</a>


<br/>
<!-- | <a href="http://www.mysqlab.net/blog/2010/01/mysql%e6%98%af%e5%a6%82%e4%bd%95%e4%bd%bf%e7%94%a8%e5%86%85%e5%ad%98%e5%92%8c%e7%a3%81%e7%9b%98%e7%9a%84/#comments">2 comments</a> -->


<br/>
Add to
<a href="http://del.icio.us/post?url=http://www.mysqlab.net/blog/2010/01/mysql%e6%98%af%e5%a6%82%e4%bd%95%e4%bd%bf%e7%94%a8%e5%86%85%e5%ad%98%e5%92%8c%e7%a3%81%e7%9b%98%e7%9a%84/&title=MySQL是如何使用内存和磁盘的?">del.icio.us</a>


<br/>
标签: <br/>

</p>]]></content:encoded>
			<wfw:commentRss>http://www.mysqlab.net/blog/2010/01/mysql%e6%98%af%e5%a6%82%e4%bd%95%e4%bd%bf%e7%94%a8%e5%86%85%e5%ad%98%e5%92%8c%e7%a3%81%e7%9b%98%e7%9a%84/feed/</wfw:commentRss>
		</item>
		<item>
		<title>MySQL Cluster致命缺点</title>
		<link>http://www.mysqlab.net/blog/2010/01/mysql-cluster%e8%87%b4%e5%91%bd%e7%bc%ba%e7%82%b9/</link>
		<comments>http://www.mysqlab.net/blog/2010/01/mysql-cluster%e8%87%b4%e5%91%bd%e7%bc%ba%e7%82%b9/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 12:28:52 +0000</pubDate>
		<dc:creator>谭俊青</dc:creator>
		
		<category><![CDATA[MySQL]]></category>

		<category><![CDATA[MySQL Cluster]]></category>

		<category><![CDATA[MySQL HA]]></category>

		<guid isPermaLink="false">http://www.mysqlab.net/blog/?p=418</guid>
		<description><![CDATA[
　　最近一直在学习研究MySQL Cluster，今天正好也看到消息说支付宝在测试IBM DB2 Cluster，16个数据居节点，1个管理节点，采用万兆网卡连接。DB2 Cluster跟MySQL Cluster采用同样的share-nothing构架，网络对它来说至关重要。
　　但是我这里要说的是，虽然MySQL Cluster发展到今天已经取得很大的成就，性能翻了好几倍，也开始支持磁盘存储(非主键、索引)，但是它有致命的弱点：不支持真正的ACID(整个机群down掉的时候，最新GCP之后提交的事务丢失)，不支持在线热备(备份的时候需要停止其他请求&#8211;single user mode，防止备份数据损坏)&#8230;
　　话说回来，虽然缺点还不止上面提到的这些，在很多情景下不适合使用，但是不可否定它的高明。在高可用和写负载均衡上它的确是性价比很高的解决方案，比如session(Ivan)管理、用户管理等。
　　这几天要考试，等过阵子陆续写一些有关MySQL Cluster的文章，做下MySQL Cluster的普及和推广。



© 谭俊青 发布在 MySQL实验室, 2010.


可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 版权声明



链接: http://www.mysqlab.net/blog/2010/01/mysql-cluster致命缺点/







Add to
del.icio.us



标签: 

]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mysqlab.net/blog/wp-content/uploads/2010/01/cluster-components-1.png" title="mysql cluster"><img src="http://www.mysqlab.net/blog/wp-content/uploads/2010/01/cluster-components-1.png" alt="mysql cluster components" title="cluster-components-1" width="583" height="372" class="alignnone size-full wp-image-422" /></a><br />
　　最近一直在学习研究MySQL Cluster，今天正好也看到消息说支付宝在测试IBM DB2 Cluster，16个数据居节点，1个管理节点，采用万兆网卡连接。DB2 Cluster跟MySQL Cluster采用同样的share-nothing构架，网络对它来说至关重要。<br />
　　但是我这里要说的是，虽然MySQL Cluster发展到今天已经取得很大的成就，性能翻了好几倍，也开始支持磁盘存储(非主键、索引)，但是它有致命的弱点：不支持真正的ACID(整个机群down掉的时候，最新GCP之后提交的事务丢失)，不支持在线热备(备份的时候需要停止其他请求&#8211;single user mode，防止备份数据损坏)&#8230;<br />
　　话说回来，虽然缺点还不止上面提到的这些，在很多情景下不适合使用，但是不可否定它的高明。在高可用和写负载均衡上它的确是性价比很高的解决方案，比如session(Ivan)管理、用户管理等。<br />
　　这几天要考试，等过阵子陆续写一些有关MySQL Cluster的文章，做下MySQL Cluster的普及和推广。</p>
<hr />
<p>

© 谭俊青<!-- (谭俊青) --> 发布在 <a href="http://www.mysqlab.net/blog">MySQL实验室</a>, 2010.

<br/>
可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/" target="_blank">版权声明</a>


<br/>
链接: <a href="http://www.mysqlab.net/blog/2010/01/mysql-cluster%e8%87%b4%e5%91%bd%e7%bc%ba%e7%82%b9/">http://www.mysqlab.net/blog/2010/01/mysql-cluster致命缺点/</a>


<br/>
<!-- | <a href="http://www.mysqlab.net/blog/2010/01/mysql-cluster%e8%87%b4%e5%91%bd%e7%bc%ba%e7%82%b9/#comments">无评论</a> -->


<br/>
Add to
<a href="http://del.icio.us/post?url=http://www.mysqlab.net/blog/2010/01/mysql-cluster%e8%87%b4%e5%91%bd%e7%bc%ba%e7%82%b9/&title=MySQL Cluster致命缺点">del.icio.us</a>


<br/>
标签: <br/>

</p>]]></content:encoded>
			<wfw:commentRss>http://www.mysqlab.net/blog/2010/01/mysql-cluster%e8%87%b4%e5%91%bd%e7%bc%ba%e7%82%b9/feed/</wfw:commentRss>
		</item>
		<item>
		<title>MySQL 5.5 表分区功能增强</title>
		<link>http://www.mysqlab.net/blog/2009/12/mysql-55-%e8%a1%a8%e5%88%86%e5%8c%ba%e5%8a%9f%e8%83%bd%e5%a2%9e%e5%bc%ba/</link>
		<comments>http://www.mysqlab.net/blog/2009/12/mysql-55-%e8%a1%a8%e5%88%86%e5%8c%ba%e5%8a%9f%e8%83%bd%e5%a2%9e%e5%bc%ba/#comments</comments>
		<pubDate>Sat, 26 Dec 2009 05:13:59 +0000</pubDate>
		<dc:creator>谭俊青</dc:creator>
		
		<category><![CDATA[MySQL Partition]]></category>

		<guid isPermaLink="false">http://www.mysqlab.net/blog/?p=399</guid>
		<description><![CDATA[MySQL5.1 引入表分区功能，使得MySQL在处理大表的能力上得到增强。使用过表分区功能的朋友应该知道，MySQL5.1中使用表分区的时候，对字段是有要求的，那就是必须是整数型，或者可以将其他类型的字段通过函数转换成整数型才可以。

/* with MySQL 5.1 &#160;ivan @ MySQL实验室(mysqlab.net/blog/) */
CREATE TABLE mysqlab_net
&#40;
&#160; ivan DATE
&#41;
PARTITION BY RANGE &#40;TO_DAYS&#40;ivan&#41;&#41;
&#40;
&#160; PARTITION p01 VALUES LESS THAN &#40;TO_DAYS&#40;&#8216;2007-08-08&#8242;&#41;&#41;,
&#160; PARTITION p02 VALUES LESS THAN &#40;TO_DAYS&#40;&#8216;2008-08-08&#8242;&#41;&#41;,
&#160; PARTITION p03 VALUES LESS THAN &#40;TO_DAYS&#40;&#8216;2009-08-08&#8242;&#41;&#41;,
&#160; PARTITION p04 VALUES LESS THAN &#40;MAXVALUE&#41;&#41;;
SHOW CREATE TABLE mysqlab_net\G
*************************** 1. row ***************************
&#160; &#160; &#160; &#160;TABLE: mysqlab_net
CREATE TABLE: CREATE TABLE `mysqlab_net` &#40;
&#160; [...]]]></description>
			<content:encoded><![CDATA[<p>MySQL5.1 引入表分区功能，使得MySQL在处理大表的能力上得到增强。使用过表分区功能的朋友应该知道，MySQL5.1中使用表分区的时候，对字段是有要求的，那就是必须是整数型，或者可以将其他类型的字段通过函数转换成整数型才可以。</p>
<div class="dean_ch" style="white-space: wrap;">
<span class="coMULTI">/* with MySQL 5.1 &nbsp;ivan @ MySQL实验室(mysqlab.net/blog/) */</span><br />
<span class="kw1">CREATE</span> <span class="kw1">TABLE</span> mysqlab_net<br />
<span class="br0">&#40;</span><br />
&nbsp; ivan DATE<br />
<span class="br0">&#41;</span><br />
PARTITION <span class="kw1">BY</span> RANGE <span class="br0">&#40;</span>TO_DAYS<span class="br0">&#40;</span>ivan<span class="br0">&#41;</span><span class="br0">&#41;</span><br />
<span class="br0">&#40;</span><br />
&nbsp; PARTITION p01 <span class="kw1">VALUES</span> LESS THAN <span class="br0">&#40;</span>TO_DAYS<span class="br0">&#40;</span><span class="st0">&#8216;2007-08-08&#8242;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>,<br />
&nbsp; PARTITION p02 <span class="kw1">VALUES</span> LESS THAN <span class="br0">&#40;</span>TO_DAYS<span class="br0">&#40;</span><span class="st0">&#8216;2008-08-08&#8242;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>,<br />
&nbsp; PARTITION p03 <span class="kw1">VALUES</span> LESS THAN <span class="br0">&#40;</span>TO_DAYS<span class="br0">&#40;</span><span class="st0">&#8216;2009-08-08&#8242;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>,<br />
&nbsp; PARTITION p04 <span class="kw1">VALUES</span> LESS THAN <span class="br0">&#40;</span>MAXVALUE<span class="br0">&#41;</span><span class="br0">&#41;</span>;</p>
<p><span class="kw1">SHOW</span> <span class="kw1">CREATE</span> <span class="kw1">TABLE</span> mysqlab_net\G<br />
*************************** <span class="nu0">1</span>. row ***************************<br />
&nbsp; &nbsp; &nbsp; &nbsp;<span class="kw1">TABLE</span>: mysqlab_net<br />
<span class="kw1">CREATE</span> <span class="kw1">TABLE</span>: <span class="kw1">CREATE</span> <span class="kw1">TABLE</span> <span class="st0">`mysqlab_net`</span> <span class="br0">&#40;</span><br />
&nbsp; <span class="st0">`ivan`</span> date <span class="kw1">DEFAULT</span> <span class="kw1">NULL</span><br />
<span class="br0">&#41;</span> ENGINE=InnoDB <span class="kw1">DEFAULT</span> CHARSET=latin1<br />
<span class="coMULTI">/*!50100 PARTITION BY RANGE (TO_DAYS(ivan))<br />
(PARTITION p01 VALUES LESS THAN (733261) ENGINE = InnoDB,<br />
&nbsp;PARTITION p02 VALUES LESS THAN (733627) ENGINE = InnoDB,<br />
&nbsp;PARTITION p03 VALUES LESS THAN (733992) ENGINE = InnoDB,<br />
&nbsp;PARTITION p04 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */</span></div>
<p>怎么样？读取的时候谁知道那个数字是多少？(不过也可以通过自定义函数实现还原)<br />
<a href="http://www.mysqlab.net/blog/2009/12/mysql-55-released%E9%9D%9Ega/" title="MySQL 5.5 Released">MySQL5.5</a>中加入了columns关键字，使得可读性好多了。看例子</p>
<div class="dean_ch" style="white-space: wrap;">
<span class="coMULTI">/* with MySQL 5.5 &nbsp; ivan @ MySQL实验室(mysqlab.net/blog/) */</span><br />
<span class="kw1">CREATE</span> <span class="kw1">TABLE</span> <span class="st0">`mysqlab.net`</span><br />
<span class="br0">&#40;</span><br />
&nbsp; ivan DATE<br />
<span class="br0">&#41;</span><br />
PARTITION <span class="kw1">BY</span> RANGE &nbsp;<span class="kw1">COLUMNS</span><span class="br0">&#40;</span>ivan<span class="br0">&#41;</span><br />
<span class="br0">&#40;</span><br />
&nbsp; PARTITION p01 <span class="kw1">VALUES</span> LESS THAN <span class="br0">&#40;</span><span class="st0">&#8216;2007-08-08&#8242;</span><span class="br0">&#41;</span>,<br />
&nbsp; PARTITION p02 <span class="kw1">VALUES</span> LESS THAN <span class="br0">&#40;</span><span class="st0">&#8216;2008-08-08&#8242;</span><span class="br0">&#41;</span>,<br />
&nbsp; PARTITION p03 <span class="kw1">VALUES</span> LESS THAN <span class="br0">&#40;</span><span class="st0">&#8216;2009-08-08&#8242;</span><span class="br0">&#41;</span>,<br />
&nbsp; PARTITION p04 <span class="kw1">VALUES</span> LESS THAN <span class="br0">&#40;</span>MAXVALUE<span class="br0">&#41;</span>;</p>
<p>
<span class="kw1">SHOW</span> <span class="kw1">CREATE</span> <span class="kw1">TABLE</span> <span class="st0">`mysqlab.net`</span>\G<br />
*************************** <span class="nu0">1</span>. row ***************************<br />
&nbsp; &nbsp; &nbsp; &nbsp;<span class="kw1">TABLE</span>: mysqlab.net<br />
<span class="kw1">CREATE</span> <span class="kw1">TABLE</span>: <span class="kw1">CREATE</span> <span class="kw1">TABLE</span> <span class="st0">`mysqlab.net`</span> <span class="br0">&#40;</span><br />
&nbsp; <span class="st0">`ivan`</span> date <span class="kw1">DEFAULT</span> <span class="kw1">NULL</span><br />
<span class="br0">&#41;</span> ENGINE=InnoDB <span class="kw1">DEFAULT</span> CHARSET=latin1<br />
<span class="coMULTI">/*!50500 PARTITION BY RANGE &nbsp;COLUMNS(ivan)<br />
(PARTITION p01 VALUES LESS THAN (&#8217;2007-08-08&#8242;) ENGINE = InnoDB,<br />
&nbsp;PARTITION p02 VALUES LESS THAN (&#8217;2008-08-08&#8242;) ENGINE = InnoDB,<br />
&nbsp;PARTITION p03 VALUES LESS THAN (&#8217;2009-08-08&#8242;) ENGINE = InnoDB,<br />
&nbsp;PARTITION p04 VALUES LESS THAN (MAXVALUE) ENGINE = InnoDB) */</span></div>
<p>另外<a href="http://www.mysqlab.net/blog/2009/12/mysql-55-released%E9%9D%9Ega/" title="MySQL 5.5 Released">MySQL5.5</a>表分区(partition) columns关键字还支持多字段，比如 partition by range columns(a,b);将支持清空指定的分区TRUNCATE PARTITION。<a href="http://www.mysqlab.net/blog/2009/12/mysql-55-released%E9%9D%9Ega/" title="MySQL 5.5 Released">MySQL5.5</a>有望在明年(2010)夏季GA。另外<a href="http://www.mysqlab.net/blog/2009/12/mysql-55-released%E9%9D%9Ega/" title="MySQL 5.5 Released">MySQL5.5</a>支持的<a href="http://www.mysqlab.net/blog/2009/04/mysql-ha-%E7%9B%B8%E5%AF%B9%E5%AE%8C%E6%95%B4%E7%9A%84%E6%96%B9%E6%A1%88%E5%BF%AB%E8%A6%81%E9%9D%A2%E4%B8%96%E4%BA%86/" title="MySQL 半同步">半同步</a>功能在<a href="http://www.mysqlab.net/blog/2009/04/mysql-ha-%E7%9B%B8%E5%AF%B9%E5%AE%8C%E6%95%B4%E7%9A%84%E6%96%B9%E6%A1%88%E5%BF%AB%E8%A6%81%E9%9D%A2%E4%B8%96%E4%BA%86/" title="MySQL 高可用">高可用</a>上的使用，让人非常期待！</p>
<p>Reference: <a href="http://dev.mysql.com/tech-resources/articles/mysql_55_partitioning.html">MySQL 5.5 partitioning enhancements</a></p>
<p>Note：在使用表分区的时候，并不是分区越多越好，要根据情况而定，因为会出现意想不到的<a href="http://www.mysqlab.net/blog/2009/06/innodb%E5%88%86%E8%A1%A8%E5%A4%AA%E5%A4%9A%E6%88%96%E8%80%85%E8%A1%A8%E5%88%86%E5%8C%BA%E5%A4%AA%E5%A4%9A%E4%BC%9A%E5%AF%BC%E8%87%B4%E5%86%85%E5%AD%98%E8%80%97%E5%B0%BD%E8%80%8C%E5%AE%95%E6%9C%BA/" title="MySQL partition 表分区内存占用问题">问题</a>。</p>
<hr />
<p>

© 谭俊青<!-- (谭俊青) --> 发布在 <a href="http://www.mysqlab.net/blog">MySQL实验室</a>, 2009.

<br/>
可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/" target="_blank">版权声明</a>


<br/>
链接: <a href="http://www.mysqlab.net/blog/2009/12/mysql-55-%e8%a1%a8%e5%88%86%e5%8c%ba%e5%8a%9f%e8%83%bd%e5%a2%9e%e5%bc%ba/">http://www.mysqlab.net/blog/2009/12/mysql-55-表分区功能增强/</a>


<br/>
<!-- | <a href="http://www.mysqlab.net/blog/2009/12/mysql-55-%e8%a1%a8%e5%88%86%e5%8c%ba%e5%8a%9f%e8%83%bd%e5%a2%9e%e5%bc%ba/#comments">1条评论</a> -->


<br/>
Add to
<a href="http://del.icio.us/post?url=http://www.mysqlab.net/blog/2009/12/mysql-55-%e8%a1%a8%e5%88%86%e5%8c%ba%e5%8a%9f%e8%83%bd%e5%a2%9e%e5%bc%ba/&title=MySQL 5.5 表分区功能增强">del.icio.us</a>


<br/>
标签: <br/>

</p>]]></content:encoded>
			<wfw:commentRss>http://www.mysqlab.net/blog/2009/12/mysql-55-%e8%a1%a8%e5%88%86%e5%8c%ba%e5%8a%9f%e8%83%bd%e5%a2%9e%e5%bc%ba/feed/</wfw:commentRss>
		</item>
		<item>
		<title>MySQL 5.5 Released(非GA)</title>
		<link>http://www.mysqlab.net/blog/2009/12/mysql-55-released%e9%9d%9ega/</link>
		<comments>http://www.mysqlab.net/blog/2009/12/mysql-55-released%e9%9d%9ega/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 02:07:14 +0000</pubDate>
		<dc:creator>谭俊青</dc:creator>
		
		<category><![CDATA[MySQL HA]]></category>

		<category><![CDATA[MySQL Replication]]></category>

		<guid isPermaLink="false">http://www.mysqlab.net/blog/?p=370</guid>
		<description><![CDATA[　　MySQL 5.5第一个版本释出，基于MySQL5.4，性能相对于当前MySQL5.0、5.1有很大的提升，更让人可喜的是MySQL5.5内置了Google的半同步（semi-sync-replication）补丁,以此可以搭建一个相对来说比较完美的MySQL高可用方案,之前我已经在“MySQL新版(5.x)及特性”中提到过，很是让人期待！
半同步的配置很简单：

master &#160;&#62; INSTALL PLUGIN rpl_semi_sync_master SONAME &#8216;libsemisync_master.so&#8217;;
slave-x &#62; INSTALL PLUGIN rpl_semi_sync_slave SONAME &#8216;libsemisync_slave.so&#8217;;
master &#160;&#62; SET GLOBAL rpl_semi_sync_master_enabled=1;
slave-x &#62; SET GLOBAL rpl_semi_sync_slave_enabled=1;
对于半同步需要说明的是：
1：不需要所有的slave都确认接收到复制事件
2：slave确认并不是表示执行完成
3：如果slave没有跟上同步设置将被中断继续原来的异步模式直到跟上再重新开启
注意：当前MySQL5.4， MySQL5.5都还不是GA版本，生产环境请慎重选择，升级前也请备份好数据。



© 谭俊青 发布在 MySQL实验室, 2009.


可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 版权声明



链接: http://www.mysqlab.net/blog/2009/12/mysql-55-released非ga/







Add to
del.icio.us



标签: 

]]></description>
			<content:encoded><![CDATA[<p>　　MySQL 5.5第一个版本释出，基于<a href="http://www.mysqlab.net/blog/2009/04/mysql-54%E7%9A%84%E6%96%B0%E7%89%B9%E6%80%A7%E8%A7%A3%E6%9E%90/">MySQL5.4</a>，性能相对于当前MySQL5.0、5.1有很大的提升，更让人可喜的是MySQL5.5内置了<a href="http://dev.mysql.com/doc/refman/5.5/en/replication-semisync.html" target="_blank">Google的半同步（semi-sync-replication）</a>补丁,以此可以搭建一个相对来说比较完美的<a href="http://www.mysqlab.net/blog/2009/04/mysql-ha-%E7%9B%B8%E5%AF%B9%E5%AE%8C%E6%95%B4%E7%9A%84%E6%96%B9%E6%A1%88%E5%BF%AB%E8%A6%81%E9%9D%A2%E4%B8%96%E4%BA%86/">MySQL高可用方案</a>,之前我已经在“<a href="http://www.mysqlab.net/blog/2009/12/mysql%E6%96%B0%E7%89%885x%E5%8F%8A%E7%89%B9%E6%80%A7/">MySQL新版(5.x)及特性</a>”中提到过，很是让人期待！</p>
<div id="attachment_375" class="wp-caption alignnone" style="width: 672px"><a href="http://www.mysqlab.net/blog/2009/12/mysql-55-released%e9%9d%9ega/semisync1/" rel="attachment wp-att-375"><img src="http://www.mysqlab.net/blog/wp-content/uploads/2009/12/semisync1.png" alt="MySQL半同步流程设计图" title="MySQL半同步流程设计图" width="662" height="634" class="size-full wp-image-375" /></a><p class="wp-caption-text">MySQL半同步流程设计图</p></div>
<p>半同步的配置很简单：</p>
<div class="dean_ch" style="white-space: wrap;">
<p>master &nbsp;&gt; INSTALL PLUGIN rpl_semi_sync_master <span class="kw1">SONAME</span> <span class="st0">&#8216;libsemisync_master.so&#8217;</span>;<br />
slave-x &gt; INSTALL PLUGIN rpl_semi_sync_slave <span class="kw1">SONAME</span> <span class="st0">&#8216;libsemisync_slave.so&#8217;</span>;</p>
<p>master &nbsp;&gt; <span class="kw1">SET</span> GLOBAL rpl_semi_sync_master_enabled=<span class="nu0">1</span>;<br />
slave-x &gt; <span class="kw1">SET</span> GLOBAL rpl_semi_sync_slave_enabled=<span class="nu0">1</span>;</div>
<p>对于半同步需要说明的是：<br />
1：不需要所有的slave都确认接收到复制事件<br />
2：slave确认并不是表示执行完成<br />
3：如果slave没有跟上同步设置将被中断继续原来的异步模式直到跟上再重新开启</p>
<p><span style="color:red">注意：当前MySQL5.4， MySQL5.5都还不是GA版本，生产环境请慎重选择，升级前也请备份好数据。</span></p>
<hr />
<p>

© 谭俊青<!-- (谭俊青) --> 发布在 <a href="http://www.mysqlab.net/blog">MySQL实验室</a>, 2009.

<br/>
可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/" target="_blank">版权声明</a>


<br/>
链接: <a href="http://www.mysqlab.net/blog/2009/12/mysql-55-released%e9%9d%9ega/">http://www.mysqlab.net/blog/2009/12/mysql-55-released非ga/</a>


<br/>
<!-- | <a href="http://www.mysqlab.net/blog/2009/12/mysql-55-released%e9%9d%9ega/#comments">无评论</a> -->


<br/>
Add to
<a href="http://del.icio.us/post?url=http://www.mysqlab.net/blog/2009/12/mysql-55-released%e9%9d%9ega/&title=MySQL 5.5 Released(非GA)">del.icio.us</a>


<br/>
标签: <br/>

</p>]]></content:encoded>
			<wfw:commentRss>http://www.mysqlab.net/blog/2009/12/mysql-55-released%e9%9d%9ega/feed/</wfw:commentRss>
		</item>
		<item>
		<title>MySQL新版(5.x)及特性</title>
		<link>http://www.mysqlab.net/blog/2009/12/mysql%e6%96%b0%e7%89%885x%e5%8f%8a%e7%89%b9%e6%80%a7/</link>
		<comments>http://www.mysqlab.net/blog/2009/12/mysql%e6%96%b0%e7%89%885x%e5%8f%8a%e7%89%b9%e6%80%a7/#comments</comments>
		<pubDate>Fri, 04 Dec 2009 15:31:50 +0000</pubDate>
		<dc:creator>谭俊青</dc:creator>
		
		<category><![CDATA[MySQL Cluster]]></category>

		<category><![CDATA[MySQL Innodb]]></category>

		<category><![CDATA[MySQL Replication]]></category>

		<category><![CDATA[news / tools]]></category>

		<guid isPermaLink="false">http://www.mysqlab.net/blog/?p=357</guid>
		<description><![CDATA[　　MySQL 5.1.42 预计在今年(2009）12月18日发布，其中会包含最新的Innodb Plugin。新的InnoDB Plugin在除了支持Data compression和Fast index create特性之外，兼容之前的表空间，并加入了大量Google的patch，极大的提高了Innodb的性能。
MySQL 5.4 GA 预计可能在明年夏季，roadmap如下图：

MySQL 5.5 会加入Google semi-replication patch,Google原链接。
MySQL Cluster Manager 加入自动管理功能，不过应该会收费。
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-
这几天去fetion看了他们的DB，服务器奢侈(可能穷惯了)，性能也很强劲30k+的QPS。不过构架有些问题，以后我想应该会改；另外还去了现场帮客户解决问题。至此来北京的计划全部打乱。下次一定提前安排，组织一次MySQL实验室聚会。



© 谭俊青 发布在 MySQL实验室, 2009.


可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 版权声明



链接: http://www.mysqlab.net/blog/2009/12/mysql新版5x及特性/







Add to
del.icio.us



标签: 

]]></description>
			<content:encoded><![CDATA[<p>　　MySQL 5.1.42 预计在今年(2009）12月18日发布，其中会包含最新的Innodb Plugin。新的<a href="http://www.mysqlab.net/blog/2009/08/innodb-plugin-104-for-mysql-5137/">InnoDB Plugin</a>在除了支持Data compression和Fast index create特性之外，兼容之前的表空间，并加入了大量Google的patch，极大的<a href="http://www.mysqlab.net/blog/2009/08/innodb-plugin-104-for-mysql-5137/">提高了Innodb的性能</a>。</p>
<p>MySQL 5.4 GA 预计可能在明年夏季，roadmap如下图：<br />
<a href="http://www.mysqlab.net/blog/wp-content/uploads/2009/12/milestone_release_2.png"><img src="http://www.mysqlab.net/blog/wp-content/uploads/2009/12/milestone_release_2.png" alt="milestone_release_2" title="milestone_release_2" width="690" height="462" class="alignnone size-full wp-image-367" /></a></p>
<p>MySQL 5.5 会加入<a href="http://forge.mysql.com/wiki/ReplicationFeatures/SemiSyncReplication">Google semi-replication patch</a>,<a href="http://code.google.com/p/google-mysql-tools/wiki/SemiSyncReplication">Google原链接</a>。</p>
<p>MySQL Cluster Manager 加入自动管理功能，不过应该会收费。</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
这几天去fetion看了他们的DB，服务器奢侈(可能穷惯了)，性能也很强劲30k+的QPS。不过构架有些问题，以后我想应该会改；另外还去了现场帮客户解决问题。至此来北京的计划全部打乱。下次一定提前安排，组织一次MySQL实验室聚会。</p>
<hr />
<p>

© 谭俊青<!-- (谭俊青) --> 发布在 <a href="http://www.mysqlab.net/blog">MySQL实验室</a>, 2009.

<br/>
可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/" target="_blank">版权声明</a>


<br/>
链接: <a href="http://www.mysqlab.net/blog/2009/12/mysql%e6%96%b0%e7%89%885x%e5%8f%8a%e7%89%b9%e6%80%a7/">http://www.mysqlab.net/blog/2009/12/mysql新版5x及特性/</a>


<br/>
<!-- | <a href="http://www.mysqlab.net/blog/2009/12/mysql%e6%96%b0%e7%89%885x%e5%8f%8a%e7%89%b9%e6%80%a7/#comments">无评论</a> -->


<br/>
Add to
<a href="http://del.icio.us/post?url=http://www.mysqlab.net/blog/2009/12/mysql%e6%96%b0%e7%89%885x%e5%8f%8a%e7%89%b9%e6%80%a7/&title=MySQL新版(5.x)及特性">del.icio.us</a>


<br/>
标签: <br/>

</p>]]></content:encoded>
			<wfw:commentRss>http://www.mysqlab.net/blog/2009/12/mysql%e6%96%b0%e7%89%885x%e5%8f%8a%e7%89%b9%e6%80%a7/feed/</wfw:commentRss>
		</item>
		<item>
		<title>MySQL Cluster Geographic Replication Deep-Dive</title>
		<link>http://www.mysqlab.net/blog/2009/12/mysql-cluster-geographic-replication-deep-dive/</link>
		<comments>http://www.mysqlab.net/blog/2009/12/mysql-cluster-geographic-replication-deep-dive/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 04:25:08 +0000</pubDate>
		<dc:creator>谭俊青</dc:creator>
		
		<category><![CDATA[MySQL Cluster]]></category>

		<category><![CDATA[MySQL HA]]></category>

		<category><![CDATA[MySQL Innodb]]></category>

		<category><![CDATA[MySQL Replication]]></category>

		<guid isPermaLink="false">http://www.mysqlab.net/blog/?p=349</guid>
		<description><![CDATA[geographic-replication-deep-dive(PDF)下载
其中异构复制的时候有些技巧，比如 不同的mysqld只复制一部分表，从而避免延时的出现。 



© 谭俊青 发布在 MySQL实验室, 2009.


可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 版权声明



链接: http://www.mysqlab.net/blog/2009/12/mysql-cluster-geographic-replication-deep-dive/







Add to
del.icio.us



标签: 

]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mysqlab.net/blog/wp-content/uploads/2009/11/geographic-replication-deep-dive-as-in.pdf">geographic-replication-deep-dive(PDF)下载</a></p>
<p>其中异构复制的时候有些技巧，比如 不同的mysqld只复制一部分表，从而避免延时的出现。 </p>
<hr />
<p>

© 谭俊青<!-- (谭俊青) --> 发布在 <a href="http://www.mysqlab.net/blog">MySQL实验室</a>, 2009.

<br/>
可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/" target="_blank">版权声明</a>


<br/>
链接: <a href="http://www.mysqlab.net/blog/2009/12/mysql-cluster-geographic-replication-deep-dive/">http://www.mysqlab.net/blog/2009/12/mysql-cluster-geographic-replication-deep-dive/</a>


<br/>
<!-- | <a href="http://www.mysqlab.net/blog/2009/12/mysql-cluster-geographic-replication-deep-dive/#comments">无评论</a> -->


<br/>
Add to
<a href="http://del.icio.us/post?url=http://www.mysqlab.net/blog/2009/12/mysql-cluster-geographic-replication-deep-dive/&title=MySQL Cluster Geographic Replication Deep-Dive">del.icio.us</a>


<br/>
标签: <br/>

</p>]]></content:encoded>
			<wfw:commentRss>http://www.mysqlab.net/blog/2009/12/mysql-cluster-geographic-replication-deep-dive/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Gearman</title>
		<link>http://www.mysqlab.net/blog/2009/11/gearman/</link>
		<comments>http://www.mysqlab.net/blog/2009/11/gearman/#comments</comments>
		<pubDate>Thu, 26 Nov 2009 01:53:04 +0000</pubDate>
		<dc:creator>谭俊青</dc:creator>
		
		<category><![CDATA[C]]></category>

		<category><![CDATA[MySQL]]></category>

		<category><![CDATA[news / tools]]></category>

		<guid isPermaLink="false">http://www.mysqlab.net/blog/?p=330</guid>
		<description><![CDATA[
上面是Gearman的一个角色功能图，它在整个系统体系里面担任中间代理人的作用，负责接收和分配任务并返回结果。这样它能很好的胶合各个子系统从而实现项目目标。
之所以介绍这个，我是想将它用到MySQL的监控管理备份平台上，DB服务器上运行worker daemon连接到管理节点上，这样需要对DB进行动作的时候，只要在管理节点上通过gearman下达任务即可，而且不同的地方可以用最合适的语言去实现，实现开发效率和运行效率的平衡和统一。开发人员能给我们带来这么好的东东，实乃大幸。Gearman可用的地方非常多，它在一定程度上开阔了人的思路，提供了一个相对通用的解决方案。
----------     ----------     ----------     ----------
&#124; Client &#124;     &#124; Client &#124;     &#124; Client &#124;     &#124; Client &#124;
----------     ----------     ----------     ----------
 [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="attachment wp-att-331" href="http://www.mysqlab.net/blog/2009/11/gearman/gearman_stack/"><img class="alignnone size-full wp-image-331" title="gearman_stack" src="http://www.mysqlab.net/blog/wp-content/uploads/2009/11/gearman_stack.png" alt="gearman_stack" width="479" height="302" /></a></p>
<p>上面是Gearman的一个角色功能图，它在整个系统体系里面担任中间代理人的作用，负责接收和分配任务并返回结果。这样它能很好的胶合各个子系统从而实现项目目标。</p>
<p>之所以介绍这个，我是想将它用到MySQL的监控管理备份平台上，DB服务器上运行worker daemon连接到管理节点上，这样需要对DB进行动作的时候，只要在管理节点上通过gearman下达任务即可，而且不同的地方可以用最合适的语言去实现，实现开发效率和运行效率的平衡和统一。开发人员能给我们带来这么好的东东，实乃大幸。Gearman可用的地方非常多，它在一定程度上开阔了人的思路，提供了一个相对通用的解决方案。</p>
<pre>----------     ----------     ----------     ----------
| Client |     | Client |     | Client |     | Client |
----------     ----------     ----------     ----------
     \             /              \             /
      \           /                \           /
      --------------               --------------
      | Job Server |               | Job Server |
      --------------               --------------
            |                            |
    ----------------------------------------------
    |              |              |              |
----------     ----------     ----------     ----------
| Worker |     | Worker |     | Worker |     | Worker |
----------     ----------     ----------     ----------</pre>
<p>Gearman的官方网站在<a href="http://gearman.org/" target="_blank">这里</a></p>
<hr />
<p>

© 谭俊青<!-- (谭俊青) --> 发布在 <a href="http://www.mysqlab.net/blog">MySQL实验室</a>, 2009.

<br/>
可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/" target="_blank">版权声明</a>


<br/>
链接: <a href="http://www.mysqlab.net/blog/2009/11/gearman/">http://www.mysqlab.net/blog/2009/11/gearman/</a>


<br/>
<!-- | <a href="http://www.mysqlab.net/blog/2009/11/gearman/#comments">无评论</a> -->


<br/>
Add to
<a href="http://del.icio.us/post?url=http://www.mysqlab.net/blog/2009/11/gearman/&title=Gearman">del.icio.us</a>


<br/>
标签: <br/>

</p>]]></content:encoded>
			<wfw:commentRss>http://www.mysqlab.net/blog/2009/11/gearman/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Building High-Performance MySQL Query Systems and Analytic Applications</title>
		<link>http://www.mysqlab.net/blog/2009/11/building-high-performance-mysql-query-systems-and-analytic-applications/</link>
		<comments>http://www.mysqlab.net/blog/2009/11/building-high-performance-mysql-query-systems-and-analytic-applications/#comments</comments>
		<pubDate>Sun, 22 Nov 2009 09:46:14 +0000</pubDate>
		<dc:creator>谭俊青</dc:creator>
		
		<category><![CDATA[MySQL]]></category>

		<category><![CDATA[news / tools]]></category>

		<guid isPermaLink="false">http://www.mysqlab.net/blog/?p=322</guid>
		<description><![CDATA[2009-11-19 02:00 (+8:00) 的web presentation,里面介绍了InfiniDB(基于列的事务存储引擎)
Building High-Performance MySQL Query Systems and Analytic Applications PPT下载(PDF)



© 谭俊青 发布在 MySQL实验室, 2009.


可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 版权声明



链接: http://www.mysqlab.net/blog/2009/11/building-high-performance-mysql-query-systems-and-analytic-applications/







Add to
del.icio.us



标签: 

]]></description>
			<content:encoded><![CDATA[<p>2009-11-19 02:00 (+8:00) 的web presentation,里面介绍了InfiniDB(基于列的事务存储引擎)<br />
<a href='http://www.mysqlab.net/blog/2009/11/building-high-performance-mysql-query-systems-and-analytic-applications/building-high-performance-mysql-query-systems-and-analytic-applications/' rel='attachment wp-att-321'>Building High-Performance MySQL Query Systems and Analytic Applications PPT下载(PDF)</a></p>
<hr />
<p>

© 谭俊青<!-- (谭俊青) --> 发布在 <a href="http://www.mysqlab.net/blog">MySQL实验室</a>, 2009.

<br/>
可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/" target="_blank">版权声明</a>


<br/>
链接: <a href="http://www.mysqlab.net/blog/2009/11/building-high-performance-mysql-query-systems-and-analytic-applications/">http://www.mysqlab.net/blog/2009/11/building-high-performance-mysql-query-systems-and-analytic-applications/</a>


<br/>
<!-- | <a href="http://www.mysqlab.net/blog/2009/11/building-high-performance-mysql-query-systems-and-analytic-applications/#comments">无评论</a> -->


<br/>
Add to
<a href="http://del.icio.us/post?url=http://www.mysqlab.net/blog/2009/11/building-high-performance-mysql-query-systems-and-analytic-applications/&title=Building High-Performance MySQL Query Systems and Analytic Applications">del.icio.us</a>


<br/>
标签: <br/>

</p>]]></content:encoded>
			<wfw:commentRss>http://www.mysqlab.net/blog/2009/11/building-high-performance-mysql-query-systems-and-analytic-applications/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Innodb表空间page size的选择</title>
		<link>http://www.mysqlab.net/blog/2009/09/innodb%e8%a1%a8%e7%a9%ba%e9%97%b4page-size%e7%9a%84%e9%80%89%e6%8b%a9/</link>
		<comments>http://www.mysqlab.net/blog/2009/09/innodb%e8%a1%a8%e7%a9%ba%e9%97%b4page-size%e7%9a%84%e9%80%89%e6%8b%a9/#comments</comments>
		<pubDate>Fri, 25 Sep 2009 02:51:54 +0000</pubDate>
		<dc:creator>谭俊青</dc:creator>
		
		<category><![CDATA[C]]></category>

		<category><![CDATA[MySQL Innodb]]></category>

		<guid isPermaLink="false">http://www.mysqlab.net/blog/?p=307</guid>
		<description><![CDATA[前段时间看innodb plugin源码的时候，看到有如下一段
include/univ.i
/* The 2-logarithm of UNIV_PAGE_SIZE: */
#define UNIV_PAGE_SIZE_SHIFT&#160; &#160; 14
/* The universal page size of the database */
#define UNIV_PAGE_SIZE&#160; &#160; &#160; &#160; &#160; (1 &#60;&#60; UNIV_PAGE_SIZE_SHIFT)
/* Maximum number of parallel threads in a parallelized operation */
#define UNIV_MAX_PARALLELISM&#160; &#160; 32
尝试将 UNIV_PAGE_SIZE_SHIFT 改成13 (相当于page size为8K)，编译通过并可以正常使用。
后来找到Google的MySQL团队发表的一篇文章，文中的介绍 Innodb page size 可以选择 8K、 16K、 32K、 64K。不过因为Innodb每个page都有不小的冗余空间，从空间和内存利用的角度来讲，page size越大越好。但是从checkpoint的角度来讲恰恰相反，page size越小，性能越好（上次演讲的时候我介绍过原理）。所以最后选择多大的page size可以根据实际的业务测试而定。



© 谭俊青 [...]]]></description>
			<content:encoded><![CDATA[<p>前段时间看innodb plugin源码的时候，看到有如下一段<br />
include/univ.i</p>
<div class="dean_ch" style="white-space: wrap;"><span class="coMULTI">/* The 2-logarithm of UNIV_PAGE_SIZE: */</span><br />
<span class="co2">#define UNIV_PAGE_SIZE_SHIFT&nbsp; &nbsp; 14</span><br />
<span class="coMULTI">/* The universal page size of the database */</span><br />
<span class="co2">#define UNIV_PAGE_SIZE&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (1 &lt;&lt; UNIV_PAGE_SIZE_SHIFT)</span></p>
<p><span class="coMULTI">/* Maximum number of parallel threads in a parallelized operation */</span><br />
<span class="co2">#define UNIV_MAX_PARALLELISM&nbsp; &nbsp; 32</span></div>
<p>尝试将 UNIV_PAGE_SIZE_SHIFT 改成13 (相当于page size为8K)，编译通过并可以正常使用。<br />
后来找到Google的MySQL团队发表的一篇<a href="http://mysqlha.blogspot.com/2009/06/alternate-page-sizes-in-innodb.html" target="_blank">文章</a>，文中的介绍 Innodb page size 可以选择 8K、 16K、 32K、 64K。不过因为Innodb每个page都有不小的冗余空间，从空间和内存利用的角度来讲，page size越大越好。但是从checkpoint的角度来讲恰恰相反，page size越小，性能越好（上次演讲的时候我介绍过原理）。所以最后选择多大的page size可以根据实际的业务测试而定。</p>
<hr />
<p>

© 谭俊青<!-- (谭俊青) --> 发布在 <a href="http://www.mysqlab.net/blog">MySQL实验室</a>, 2009.

<br/>
可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/" target="_blank">版权声明</a>


<br/>
链接: <a href="http://www.mysqlab.net/blog/2009/09/innodb%e8%a1%a8%e7%a9%ba%e9%97%b4page-size%e7%9a%84%e9%80%89%e6%8b%a9/">http://www.mysqlab.net/blog/2009/09/innodb表空间page-size的选择/</a>


<br/>
<!-- | <a href="http://www.mysqlab.net/blog/2009/09/innodb%e8%a1%a8%e7%a9%ba%e9%97%b4page-size%e7%9a%84%e9%80%89%e6%8b%a9/#comments">1条评论</a> -->


<br/>
Add to
<a href="http://del.icio.us/post?url=http://www.mysqlab.net/blog/2009/09/innodb%e8%a1%a8%e7%a9%ba%e9%97%b4page-size%e7%9a%84%e9%80%89%e6%8b%a9/&title=Innodb表空间page size的选择">del.icio.us</a>


<br/>
标签: <br/>

</p>]]></content:encoded>
			<wfw:commentRss>http://www.mysqlab.net/blog/2009/09/innodb%e8%a1%a8%e7%a9%ba%e9%97%b4page-size%e7%9a%84%e9%80%89%e6%8b%a9/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Sun MySQL Day</title>
		<link>http://www.mysqlab.net/blog/2009/09/sun-mysql-day/</link>
		<comments>http://www.mysqlab.net/blog/2009/09/sun-mysql-day/#comments</comments>
		<pubDate>Thu, 10 Sep 2009 07:02:16 +0000</pubDate>
		<dc:creator>谭俊青</dc:creator>
		
		<category><![CDATA[MySQL]]></category>

		<category><![CDATA[活动]]></category>

		<guid isPermaLink="false">http://www.mysqlab.net/blog/?p=295</guid>
		<description><![CDATA[昨天（2009-9-9）参加了sun的培训日活动，一到会场我就后悔了，因为我没想到会议有那么正式，而我穿着有点不修边幅&#8230; 活动是成功的，因为我以为周三可能去的人不会太多，想不到会场会满座，虽然有比较浓重的广告味道，也不乏技术交流的气氛。我讲的主题是 《Innodb Optimization How and Why》，从原理上剖析innodb的性能及优化，怎么优化，为什么要这么优化。随后Q/A环节大家都很活跃，由于时间问题没能回答所有朋友的问题，如果有什么疑问可以发我email或者qq，msn交流，我很乐意跟大家讨论。 PPT下载。



© 谭俊青 发布在 MySQL实验室, 2009.


可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 版权声明



链接: http://www.mysqlab.net/blog/2009/09/sun-mysql-day/







Add to
del.icio.us



标签: 活动

]]></description>
			<content:encoded><![CDATA[<p>昨天（2009-9-9）参加了<a href="http://www.actionsky.com/news/mysql_day.html" target="_blank">sun的培训日活动</a>，一到会场我就后悔了，因为我没想到会议有那么正式，而我穿着有点不修边幅&#8230; 活动是成功的，因为我以为周三可能去的人不会太多，想不到会场会满座，虽然有比较浓重的广告味道，也不乏技术交流的气氛。我讲的主题是 《Innodb Optimization How and Why》，从原理上剖析innodb的性能及优化，怎么优化，为什么要这么优化。随后Q/A环节大家都很活跃，由于时间问题没能回答所有朋友的问题，如果有什么疑问可以发我email或者qq，msn交流，我很乐意跟大家讨论。 PPT<a href="http://www.mysqlab.net/blog/?attachment_id=301" target="_blank">下载</a>。</p>
<div id="attachment_304" class="wp-caption alignleft" style="width: 560px"><img class="size-full wp-image-304" title="2009-09-09 Sun MySQL Day Q&#038;A 现场" src="http://www.mysqlab.net/blog/wp-content/uploads/2009/09/mysqlday_4.jpg" alt="2009-09-09 Sun MySQL Day" width="550" height="244" /><p class="wp-caption-text">2009-09-09 Sun MySQL Day Q&amp;A 现场</p></div>
<hr />
<p>

© 谭俊青<!-- (谭俊青) --> 发布在 <a href="http://www.mysqlab.net/blog">MySQL实验室</a>, 2009.

<br/>
可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/" target="_blank">版权声明</a>


<br/>
链接: <a href="http://www.mysqlab.net/blog/2009/09/sun-mysql-day/">http://www.mysqlab.net/blog/2009/09/sun-mysql-day/</a>


<br/>
<!-- | <a href="http://www.mysqlab.net/blog/2009/09/sun-mysql-day/#comments">10 comments</a> -->


<br/>
Add to
<a href="http://del.icio.us/post?url=http://www.mysqlab.net/blog/2009/09/sun-mysql-day/&title=Sun MySQL Day">del.icio.us</a>


<br/>
标签: <a href="http://www.mysqlab.net/blog/tag/%e6%b4%bb%e5%8a%a8/" rel="tag">活动</a><br/>

</p>]]></content:encoded>
			<wfw:commentRss>http://www.mysqlab.net/blog/2009/09/sun-mysql-day/feed/</wfw:commentRss>
		</item>
		<item>
		<title>InnoDB Plugin 1.0.4 for MySQL 5.1.37</title>
		<link>http://www.mysqlab.net/blog/2009/08/innodb-plugin-104-for-mysql-5137/</link>
		<comments>http://www.mysqlab.net/blog/2009/08/innodb-plugin-104-for-mysql-5137/#comments</comments>
		<pubDate>Thu, 13 Aug 2009 10:15:31 +0000</pubDate>
		<dc:creator>谭俊青</dc:creator>
		
		<category><![CDATA[MySQL]]></category>

		<category><![CDATA[MySQL Innodb]]></category>

		<guid isPermaLink="false">http://www.mysqlab.net/blog/?p=289</guid>
		<description><![CDATA[InnoDB Plugin 1.0.4 这次加入了不少第三方的代码，个人比较在意的是 Google 和 Percona 提供的部分。Innodb从而实现了性能上很大的提升，不想以前在并发稍大（比如&#62;8)，吞吐量升值会下将，现在却又很大的提升。
个人关注的改进部分有：
1： Multiple Background Threads
最初由Google提供的补丁，参数 innodb_file_io_threads 可以设置io threads的数量，之前是假的&#8230;
2：Master Thread I/O Capacity Tuning
之前innodb在代码里面写死了 innodb_io_capacity 为100，但是现在db服务器很多都是用多块硬盘做raid10，IOPS 一般都远不止100，因此这次改进之后  innodb_io_capacity 变成可以动态调整的参数，用于DBA选择一个合适的值。
3：Group Commit
这个据说以前4.x之前就支持的，现在又回来了，支持多个事务同时提交（主要是redo log，之前是因为binlog的2-phase commit protocal的原因中止的），从而提高吞吐量。
4：Adaptive Flushing
这个非常有用，大家知道在脏数据到达设置的阀值比例之后，会开始主动做checkpoint，当checkpoint无可避免的时候，这时候会堵塞用户线程，从而出现性能的突然下降。现在这个问题得到巧妙的解决，会根据算法动态的调整checkpoint的速率，避免出现性能的突然降低。
REFERENCE:
http://www.innodb.com/wp/2009/08/11/innodb-plugin-104-released/
http://www.innodb.com/wp/products/innodb_plugin/license/third-party-contributions-in-innodb-plugin-1-0-4/



© 谭俊青 发布在 MySQL实验室, 2009.


可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 版权声明



链接: http://www.mysqlab.net/blog/2009/08/innodb-plugin-104-for-mysql-5137/







Add to
del.icio.us



标签: 

]]></description>
			<content:encoded><![CDATA[<p>InnoDB Plugin 1.0.4 这次加入了不少第三方的代码，个人比较在意的是 Google 和 Percona 提供的部分。Innodb从而实现了性能上很大的提升，不想以前在并发稍大（比如&gt;8)，吞吐量升值会下将，现在却又很大的提升。</p>
<p>个人关注的改进部分有：</p>
<p><span style="color: #ff3300;">1： Multiple Background Threads</span></p>
<p>最初由Google提供的补丁，参数 innodb_file_io_threads 可以设置io threads的数量，之前是假的&#8230;</p>
<p><span style="color: #ff3300;">2：Master Thread I/O Capacity Tuning</span></p>
<p>之前innodb在代码里面写死了 innodb_io_capacity 为100，但是现在db服务器很多都是用多块硬盘做raid10，IOPS 一般都远不止100，因此这次改进之后  innodb_io_capacity 变成可以动态调整的参数，用于DBA选择一个合适的值。</p>
<p><span style="color: #ff3300;">3：Group Commit</span></p>
<p>这个据说以前4.x之前就支持的，现在又回来了，支持多个事务同时提交（主要是redo log，之前是因为binlog的2-phase commit protocal的原因中止的），从而提高吞吐量。</p>
<p><span style="color: #ff3300;">4：Adaptive Flushing</span></p>
<p>这个非常有用，大家知道在脏数据到达设置的阀值比例之后，会开始主动做checkpoint，当checkpoint无可避免的时候，这时候会堵塞用户线程，从而出现性能的突然下降。现在这个问题得到巧妙的解决，会根据算法动态的调整checkpoint的速率，避免出现性能的突然降低。</p>
<p>REFERENCE:</p>
<p><a href="http://www.innodb.com/wp/2009/08/11/innodb-plugin-104-released/">http://www.innodb.com/wp/2009/08/11/innodb-plugin-104-released/</a></p>
<p><a href="http://www.innodb.com/wp/products/innodb_plugin/license/third-party-contributions-in-innodb-plugin-1-0-4/">http://www.innodb.com/wp/products/innodb_plugin/license/third-party-contributions-in-innodb-plugin-1-0-4/</a></p>
<hr />
<p>

© 谭俊青<!-- (谭俊青) --> 发布在 <a href="http://www.mysqlab.net/blog">MySQL实验室</a>, 2009.

<br/>
可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/" target="_blank">版权声明</a>


<br/>
链接: <a href="http://www.mysqlab.net/blog/2009/08/innodb-plugin-104-for-mysql-5137/">http://www.mysqlab.net/blog/2009/08/innodb-plugin-104-for-mysql-5137/</a>


<br/>
<!-- | <a href="http://www.mysqlab.net/blog/2009/08/innodb-plugin-104-for-mysql-5137/#comments">7 comments</a> -->


<br/>
Add to
<a href="http://del.icio.us/post?url=http://www.mysqlab.net/blog/2009/08/innodb-plugin-104-for-mysql-5137/&title=InnoDB Plugin 1.0.4 for MySQL 5.1.37">del.icio.us</a>


<br/>
标签: <br/>

</p>]]></content:encoded>
			<wfw:commentRss>http://www.mysqlab.net/blog/2009/08/innodb-plugin-104-for-mysql-5137/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Innodb快速恢复补丁</title>
		<link>http://www.mysqlab.net/blog/2009/08/innodb%e5%bf%ab%e9%80%9f%e6%81%a2%e5%a4%8d%e8%a1%a5%e4%b8%81/</link>
		<comments>http://www.mysqlab.net/blog/2009/08/innodb%e5%bf%ab%e9%80%9f%e6%81%a2%e5%a4%8d%e8%a1%a5%e4%b8%81/#comments</comments>
		<pubDate>Wed, 05 Aug 2009 03:18:42 +0000</pubDate>
		<dc:creator>谭俊青</dc:creator>
		
		<category><![CDATA[MySQL Innodb]]></category>

		<guid isPermaLink="false">http://www.mysqlab.net/blog/?p=285</guid>
		<description><![CDATA[Yasufumi 提供了一个用户在innodb crash后快速恢复的补丁
如果最后该补丁能够纳入官方体系，那么Innodb将在性能上又有很大的提升。
上次MySQL中文实验室的聚会中介绍了buffer大小，redo log大小，checkpoint对性能的影响。那么如果大的redo log能在crash后快速回复的话，我们可以将redo log设置到最大，这样可以尽可能降低checkpoint的次数，来提升数据库的性能。
再者还可以将redo log 4G的限制从源码上解决，从而适应现在动则上10G的buffer。



© 谭俊青 发布在 MySQL实验室, 2009.


可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 版权声明



链接: http://www.mysqlab.net/blog/2009/08/innodb快速恢复补丁/







Add to
del.icio.us



标签: 

]]></description>
			<content:encoded><![CDATA[<p>Yasufumi 提供了一个用户在innodb crash后快速恢复的<a href="http://bazaar.launchpad.net/~percona-dev/percona-xtradb/recovery-speed-hack/revision/86/innodb_recovery_patches.patch">补丁</a></p>
<p>如果最后该补丁能够纳入官方体系，那么Innodb将在性能上又有很大的提升。</p>
<p>上次MySQL中文实验室的聚会中介绍了buffer大小，redo log大小，checkpoint对性能的影响。那么如果大的redo log能在crash后快速回复的话，我们可以将redo log设置到最大，这样可以尽可能降低checkpoint的次数，来提升数据库的性能。</p>
<p>再者还可以将redo log 4G的限制从源码上解决，从而适应现在动则上10G的buffer。</p>
<hr />
<p>

© 谭俊青<!-- (谭俊青) --> 发布在 <a href="http://www.mysqlab.net/blog">MySQL实验室</a>, 2009.

<br/>
可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/" target="_blank">版权声明</a>


<br/>
链接: <a href="http://www.mysqlab.net/blog/2009/08/innodb%e5%bf%ab%e9%80%9f%e6%81%a2%e5%a4%8d%e8%a1%a5%e4%b8%81/">http://www.mysqlab.net/blog/2009/08/innodb快速恢复补丁/</a>


<br/>
<!-- | <a href="http://www.mysqlab.net/blog/2009/08/innodb%e5%bf%ab%e9%80%9f%e6%81%a2%e5%a4%8d%e8%a1%a5%e4%b8%81/#comments">9 comments</a> -->


<br/>
Add to
<a href="http://del.icio.us/post?url=http://www.mysqlab.net/blog/2009/08/innodb%e5%bf%ab%e9%80%9f%e6%81%a2%e5%a4%8d%e8%a1%a5%e4%b8%81/&title=Innodb快速恢复补丁">del.icio.us</a>


<br/>
标签: <br/>

</p>]]></content:encoded>
			<wfw:commentRss>http://www.mysqlab.net/blog/2009/08/innodb%e5%bf%ab%e9%80%9f%e6%81%a2%e5%a4%8d%e8%a1%a5%e4%b8%81/feed/</wfw:commentRss>
		</item>
		<item>
		<title>MySQL中文实验室第一次聚会成功举办</title>
		<link>http://www.mysqlab.net/blog/2009/07/mysql%e4%b8%ad%e6%96%87%e5%ae%9e%e9%aa%8c%e5%ae%a4%e7%ac%ac%e4%b8%80%e6%ac%a1%e8%81%9a%e4%bc%9a%e6%88%90%e5%8a%9f%e4%b8%be%e5%8a%9e/</link>
		<comments>http://www.mysqlab.net/blog/2009/07/mysql%e4%b8%ad%e6%96%87%e5%ae%9e%e9%aa%8c%e5%ae%a4%e7%ac%ac%e4%b8%80%e6%ac%a1%e8%81%9a%e4%bc%9a%e6%88%90%e5%8a%9f%e4%b8%be%e5%8a%9e/#comments</comments>
		<pubDate>Mon, 27 Jul 2009 02:42:35 +0000</pubDate>
		<dc:creator>谭俊青</dc:creator>
		
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://www.mysqlab.net/blog/?p=278</guid>
		<description><![CDATA[2009-07-25 也就是上周六，MySQL中文实验第一次聚会成功举办
这次从原理和结构上剖析innodb的组成和工作机制，从而让大家清晰的认识到要怎么优化，为什么要如此优化。
到场的朋友主要来自上海和杭州。同时感谢爱可生公司提供投影仪和小礼品。
PS: 这次聚会我个人犯了些错误，没有提前找大家确认，有几位报名的朋友没到，不过额外增加了几个新面孔，还有几位美女。



© 谭俊青 发布在 MySQL实验室, 2009.


可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 版权声明



链接: http://www.mysqlab.net/blog/2009/07/mysql中文实验室第一次聚会成功举办/







Add to
del.icio.us



标签: 

]]></description>
			<content:encoded><![CDATA[<p>2009-07-25 也就是上周六，MySQL中文实验第一次聚会成功举办</p>
<p>这次从原理和结构上剖析innodb的组成和工作机制，从而让大家清晰的认识到要怎么优化，为什么要如此优化。</p>
<p>到场的朋友主要来自上海和杭州。同时感谢爱可生公司提供投影仪和小礼品。</p>
<p>PS: 这次聚会我个人犯了些错误，没有提前找大家确认，有几位报名的朋友没到，不过额外增加了几个新面孔，还有几位美女。</p>
<hr />
<p>

© 谭俊青<!-- (谭俊青) --> 发布在 <a href="http://www.mysqlab.net/blog">MySQL实验室</a>, 2009.

<br/>
可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/" target="_blank">版权声明</a>


<br/>
链接: <a href="http://www.mysqlab.net/blog/2009/07/mysql%e4%b8%ad%e6%96%87%e5%ae%9e%e9%aa%8c%e5%ae%a4%e7%ac%ac%e4%b8%80%e6%ac%a1%e8%81%9a%e4%bc%9a%e6%88%90%e5%8a%9f%e4%b8%be%e5%8a%9e/">http://www.mysqlab.net/blog/2009/07/mysql中文实验室第一次聚会成功举办/</a>


<br/>
<!-- | <a href="http://www.mysqlab.net/blog/2009/07/mysql%e4%b8%ad%e6%96%87%e5%ae%9e%e9%aa%8c%e5%ae%a4%e7%ac%ac%e4%b8%80%e6%ac%a1%e8%81%9a%e4%bc%9a%e6%88%90%e5%8a%9f%e4%b8%be%e5%8a%9e/#comments">6 comments</a> -->


<br/>
Add to
<a href="http://del.icio.us/post?url=http://www.mysqlab.net/blog/2009/07/mysql%e4%b8%ad%e6%96%87%e5%ae%9e%e9%aa%8c%e5%ae%a4%e7%ac%ac%e4%b8%80%e6%ac%a1%e8%81%9a%e4%bc%9a%e6%88%90%e5%8a%9f%e4%b8%be%e5%8a%9e/&title=MySQL中文实验室第一次聚会成功举办">del.icio.us</a>


<br/>
标签: <br/>

</p>]]></content:encoded>
			<wfw:commentRss>http://www.mysqlab.net/blog/2009/07/mysql%e4%b8%ad%e6%96%87%e5%ae%9e%e9%aa%8c%e5%ae%a4%e7%ac%ac%e4%b8%80%e6%ac%a1%e8%81%9a%e4%bc%9a%e6%88%90%e5%8a%9f%e4%b8%be%e5%8a%9e/feed/</wfw:commentRss>
		</item>
		<item>
		<title>MySQL分区表没有全局索引，只有分区索引</title>
		<link>http://www.mysqlab.net/blog/2009/07/mysql%e5%88%86%e5%8c%ba%e8%a1%a8%e6%b2%a1%e6%9c%89%e5%85%a8%e5%b1%80%e7%b4%a2%e5%bc%95%ef%bc%8c%e5%8f%aa%e6%9c%89%e5%88%86%e5%8c%ba%e7%b4%a2%e5%bc%95/</link>
		<comments>http://www.mysqlab.net/blog/2009/07/mysql%e5%88%86%e5%8c%ba%e8%a1%a8%e6%b2%a1%e6%9c%89%e5%85%a8%e5%b1%80%e7%b4%a2%e5%bc%95%ef%bc%8c%e5%8f%aa%e6%9c%89%e5%88%86%e5%8c%ba%e7%b4%a2%e5%bc%95/#comments</comments>
		<pubDate>Thu, 02 Jul 2009 09:50:20 +0000</pubDate>
		<dc:creator>谭俊青</dc:creator>
		
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://www.mysqlab.net/blog/?p=272</guid>
		<description><![CDATA[mysql 分区表没有全局索引 by ivan
因此表分区要求涉及的列都包含在pk和uk里面
这样就可以保证插入和更新的值在某个分区里是唯一的时候，那么全局就一定是唯一的
但是带来的问题是，如果一张表有2列唯一索引的时候，这表就没法分区了。
关键字：表分区，分区表，primary key主键，unique key 唯一索引
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;
本人并没有去看这部分源码，以上结论纯属推理得出。



© 谭俊青 发布在 MySQL实验室, 2009.


可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 版权声明



链接: http://www.mysqlab.net/blog/2009/07/mysql分区表没有全局索引，只有分区索引/







Add to
del.icio.us



标签: 

]]></description>
			<content:encoded><![CDATA[<p>mysql 分区表没有全局索引 by ivan<br />
因此表分区要求涉及的列都包含在pk和uk里面<br />
这样就可以保证插入和更新的值在某个分区里是唯一的时候，那么全局就一定是唯一的</p>
<p>但是带来的问题是，如果一张表有2列唯一索引的时候，这表就没法分区了。</p>
<p>关键字：表分区，分区表，primary key主键，unique key 唯一索引</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p><span style="color:red">本人并没有去看这部分源码，以上结论纯属推理得出。</span></p>
<hr />
<p>

© 谭俊青<!-- (谭俊青) --> 发布在 <a href="http://www.mysqlab.net/blog">MySQL实验室</a>, 2009.

<br/>
可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/" target="_blank">版权声明</a>


<br/>
链接: <a href="http://www.mysqlab.net/blog/2009/07/mysql%e5%88%86%e5%8c%ba%e8%a1%a8%e6%b2%a1%e6%9c%89%e5%85%a8%e5%b1%80%e7%b4%a2%e5%bc%95%ef%bc%8c%e5%8f%aa%e6%9c%89%e5%88%86%e5%8c%ba%e7%b4%a2%e5%bc%95/">http://www.mysqlab.net/blog/2009/07/mysql分区表没有全局索引，只有分区索引/</a>


<br/>
<!-- | <a href="http://www.mysqlab.net/blog/2009/07/mysql%e5%88%86%e5%8c%ba%e8%a1%a8%e6%b2%a1%e6%9c%89%e5%85%a8%e5%b1%80%e7%b4%a2%e5%bc%95%ef%bc%8c%e5%8f%aa%e6%9c%89%e5%88%86%e5%8c%ba%e7%b4%a2%e5%bc%95/#comments">无评论</a> -->


<br/>
Add to
<a href="http://del.icio.us/post?url=http://www.mysqlab.net/blog/2009/07/mysql%e5%88%86%e5%8c%ba%e8%a1%a8%e6%b2%a1%e6%9c%89%e5%85%a8%e5%b1%80%e7%b4%a2%e5%bc%95%ef%bc%8c%e5%8f%aa%e6%9c%89%e5%88%86%e5%8c%ba%e7%b4%a2%e5%bc%95/&title=MySQL分区表没有全局索引，只有分区索引">del.icio.us</a>


<br/>
标签: <br/>

</p>]]></content:encoded>
			<wfw:commentRss>http://www.mysqlab.net/blog/2009/07/mysql%e5%88%86%e5%8c%ba%e8%a1%a8%e6%b2%a1%e6%9c%89%e5%85%a8%e5%b1%80%e7%b4%a2%e5%bc%95%ef%bc%8c%e5%8f%aa%e6%9c%89%e5%88%86%e5%8c%ba%e7%b4%a2%e5%bc%95/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Innodb分表太多或者表分区太多，会导致内存耗尽而宕机</title>
		<link>http://www.mysqlab.net/blog/2009/06/innodb%e5%88%86%e8%a1%a8%e5%a4%aa%e5%a4%9a%e6%88%96%e8%80%85%e8%a1%a8%e5%88%86%e5%8c%ba%e5%a4%aa%e5%a4%9a%e4%bc%9a%e5%af%bc%e8%87%b4%e5%86%85%e5%ad%98%e8%80%97%e5%b0%bd%e8%80%8c%e5%ae%95%e6%9c%ba/</link>
		<comments>http://www.mysqlab.net/blog/2009/06/innodb%e5%88%86%e8%a1%a8%e5%a4%aa%e5%a4%9a%e6%88%96%e8%80%85%e8%a1%a8%e5%88%86%e5%8c%ba%e5%a4%aa%e5%a4%9a%e4%bc%9a%e5%af%bc%e8%87%b4%e5%86%85%e5%ad%98%e8%80%97%e5%b0%bd%e8%80%8c%e5%ae%95%e6%9c%ba/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 02:54:21 +0000</pubDate>
		<dc:creator>谭俊青</dc:creator>
		
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://www.mysqlab.net/blog/?p=258</guid>
		<description><![CDATA[因为线上某个应用表分区太多，直接导致遍历表或者dump数据的时候导致内存耗尽死机。原因是Innodb的数据字典不会释放内存，会将所有表和分区的信息记录在内存当中，当表数量或者分区数到达一定数量之后(经验值:约10万张表或者10万个表分区，占用将近1G大小的内存)，会导致内存耗尽。
my.cnf 配置参数: innodb_additional_mem_pool_size
查看数据字典使用多少内存:
SHOW engine innodb STATUS\G
Dictionary memory allocated xxxxxxx
针对这种情况，Vadim提供了一个限制数据字典占用内存大小(Limiting InnoDB Data Dictionary)的补丁，用来限制数据字典占用内存的大小，采用LRU淘汰算法，只保留最新使用的表信息。



© 谭俊青 发布在 MySQL实验室, 2009.


可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 版权声明



链接: http://www.mysqlab.net/blog/2009/06/innodb分表太多或者表分区太多会导致内存耗尽而宕机/







Add to
del.icio.us



标签: 

]]></description>
			<content:encoded><![CDATA[<p>因为线上某个应用表分区太多，直接导致遍历表或者dump数据的时候导致内存耗尽死机。原因是Innodb的数据字典不会释放内存，会将所有表和分区的信息记录在内存当中，当表数量或者分区数到达一定数量之后(经验值:<span style="color:red;">约10万张表或者10万个表分区，占用将近1G大小的内存</span>)，会导致内存耗尽。</p>
<p>my.cnf 配置参数: innodb_additional_mem_pool_size</p>
<p>查看数据字典使用多少内存:</p>
<div class="dean_ch" style="white-space: wrap;"><span class="kw1">SHOW</span> engine innodb <span class="kw1">STATUS</span>\G</div>
<p>Dictionary memory allocated xxxxxxx</p>
<p>针对这种情况，<a href="http://www.mysqlperformanceblog.com/2009/02/11/limiting-innodb-data-dictionary/">Vadim</a>提供了一个限制数据字典占用内存大小(Limiting InnoDB Data Dictionary)的<a href="http://mysqlperformanceblog.com/files/patches/innodb_dict_size_limit_standalone.patch">补丁</a>，用来限制数据字典占用内存的大小，采用LRU淘汰算法，只保留最新使用的表信息。</p>
<hr />
<p>

© 谭俊青<!-- (谭俊青) --> 发布在 <a href="http://www.mysqlab.net/blog">MySQL实验室</a>, 2009.

<br/>
可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/" target="_blank">版权声明</a>


<br/>
链接: <a href="http://www.mysqlab.net/blog/2009/06/innodb%e5%88%86%e8%a1%a8%e5%a4%aa%e5%a4%9a%e6%88%96%e8%80%85%e8%a1%a8%e5%88%86%e5%8c%ba%e5%a4%aa%e5%a4%9a%e4%bc%9a%e5%af%bc%e8%87%b4%e5%86%85%e5%ad%98%e8%80%97%e5%b0%bd%e8%80%8c%e5%ae%95%e6%9c%ba/">http://www.mysqlab.net/blog/2009/06/innodb分表太多或者表分区太多会导致内存耗尽而宕机/</a>


<br/>
<!-- | <a href="http://www.mysqlab.net/blog/2009/06/innodb%e5%88%86%e8%a1%a8%e5%a4%aa%e5%a4%9a%e6%88%96%e8%80%85%e8%a1%a8%e5%88%86%e5%8c%ba%e5%a4%aa%e5%a4%9a%e4%bc%9a%e5%af%bc%e8%87%b4%e5%86%85%e5%ad%98%e8%80%97%e5%b0%bd%e8%80%8c%e5%ae%95%e6%9c%ba/#comments">4 comments</a> -->


<br/>
Add to
<a href="http://del.icio.us/post?url=http://www.mysqlab.net/blog/2009/06/innodb%e5%88%86%e8%a1%a8%e5%a4%aa%e5%a4%9a%e6%88%96%e8%80%85%e8%a1%a8%e5%88%86%e5%8c%ba%e5%a4%aa%e5%a4%9a%e4%bc%9a%e5%af%bc%e8%87%b4%e5%86%85%e5%ad%98%e8%80%97%e5%b0%bd%e8%80%8c%e5%ae%95%e6%9c%ba/&title=Innodb分表太多或者表分区太多，会导致内存耗尽而宕机">del.icio.us</a>


<br/>
标签: <br/>

</p>]]></content:encoded>
			<wfw:commentRss>http://www.mysqlab.net/blog/2009/06/innodb%e5%88%86%e8%a1%a8%e5%a4%aa%e5%a4%9a%e6%88%96%e8%80%85%e8%a1%a8%e5%88%86%e5%8c%ba%e5%a4%aa%e5%a4%9a%e4%bc%9a%e5%af%bc%e8%87%b4%e5%86%85%e5%ad%98%e8%80%97%e5%b0%bd%e8%80%8c%e5%ae%95%e6%9c%ba/feed/</wfw:commentRss>
		</item>
		<item>
		<title>google patch v4 for mysql</title>
		<link>http://www.mysqlab.net/blog/2009/05/google-patch-v4-for-mysql/</link>
		<comments>http://www.mysqlab.net/blog/2009/05/google-patch-v4-for-mysql/#comments</comments>
		<pubDate>Sun, 31 May 2009 05:40:19 +0000</pubDate>
		<dc:creator>谭俊青</dc:creator>
		
		<category><![CDATA[MySQL]]></category>

		<category><![CDATA[MySQL HA]]></category>

		<guid isPermaLink="false">http://www.mysqlab.net/blog/?p=244</guid>
		<description><![CDATA[下载地址: http://google-mysql-tools.googlecode.com/svn/trunk/mysql-patches/all.v4-mysql-5.0.37.patch.gz

Features


displays more data in SHOW INNODB STATUS and SHOW STATUS including per-file IO statistics
uses less CPU while processing background IO requests
enforces innodb_max_dirty_pages_pct
prevents the insert buffer from getting full (and becoming useless)
changes the main background IO thread to be simpler and use more asynchronous IO
adds many my.cnf variables
Reimplements adaptive checkpoints as first described by Percona
Changes the [...]]]></description>
			<content:encoded><![CDATA[<p>下载地址: <a href="http://google-mysql-tools.googlecode.com/svn/trunk/mysql-patches/all.v4-mysql-5.0.37.patch.gz">http://google-mysql-tools.googlecode.com/svn/trunk/mysql-patches/all.v4-mysql-5.0.37.patch.gz</a><br />
<br/></p>
<h1>Features</h1>
<p><br/></p>
<ul>
<li><a href="http://code.google.com/p/google-mysql-tools/wiki/InnodbIoPerfStatus">displays more data</a> in SHOW INNODB STATUS and SHOW STATUS including per-file IO statistics</li>
<li><a href="http://code.google.com/p/google-mysql-tools/wiki/InnodbIoPerfCpu">uses less CPU</a> while processing background IO requests</li>
<li><a href="http://code.google.com/p/google-mysql-tools/wiki/InnodbIoPerfMaxDirty">enforces innodb_max_dirty_pages_pct</a></li>
<li><a href="http://code.google.com/p/google-mysql-tools/wiki/InnodbIoIbuf">prevents the insert buffer</a> from getting full (and becoming useless)</li>
<li><a href="http://code.google.com/p/google-mysql-tools/wiki/InnodbIoPerfMain">changes the main background IO thread</a> to be simpler and use more asynchronous IO</li>
<li><a href="http://code.google.com/p/google-mysql-tools/wiki/InnodbIoPerfConfig">adds many my.cnf variables</a></li>
<li>Reimplements <a href="http://code.google.com/p/google-mysql-tools/wiki/InnodbIoAdaptiveCheckpoint">adaptive checkpoints</a> as first described by Percona</li>
<li>Changes the computation of the percentage of dirty buffer pool pages. Before this change the percentage exluded pages borrowed from the buffer pool for other uses. While that may be more accurate, it also requires the caller to lock/unlock a hot mutex. It also made the percentage vary a bit too much as the insert buffer grew and shrank. The v4 patch doesn&#8217;t exclude the borrowed pages. As most of the borrowed pages should be used in the insert buffer and the insert buffer should be smaller (thanks to <em>ibuf_max_pct_of_buffer</em>), this is <em>probably</em> a good thing.</li>
</ul>
<p><br/></p>
<h1>Performance</h1>
<p><br/></p>
<ul>
<li><a href="http://code.google.com/p/google-mysql-tools/wiki/InnodbIoOltpMemory">in-memory OLTP</a></li>
<li><a href="http://code.google.com/p/google-mysql-tools/wiki/InnodbIoOltpDisk">disk-bound OLTP</a></li>
<li><a href="http://code.google.com/p/google-mysql-tools/wiki/InnodbIoInsert">insert benchmark</a></li>
</ul>
<hr />
<p>

© 谭俊青<!-- (谭俊青) --> 发布在 <a href="http://www.mysqlab.net/blog">MySQL实验室</a>, 2009.

<br/>
可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/" target="_blank">版权声明</a>


<br/>
链接: <a href="http://www.mysqlab.net/blog/2009/05/google-patch-v4-for-mysql/">http://www.mysqlab.net/blog/2009/05/google-patch-v4-for-mysql/</a>


<br/>
<!-- | <a href="http://www.mysqlab.net/blog/2009/05/google-patch-v4-for-mysql/#comments">无评论</a> -->


<br/>
Add to
<a href="http://del.icio.us/post?url=http://www.mysqlab.net/blog/2009/05/google-patch-v4-for-mysql/&title=google patch v4 for mysql">del.icio.us</a>


<br/>
标签: <br/>

</p>]]></content:encoded>
			<wfw:commentRss>http://www.mysqlab.net/blog/2009/05/google-patch-v4-for-mysql/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Inniostat - InnoDB IO Statistics</title>
		<link>http://www.mysqlab.net/blog/2009/05/inniostat-innodb-io-statistics/</link>
		<comments>http://www.mysqlab.net/blog/2009/05/inniostat-innodb-io-statistics/#comments</comments>
		<pubDate>Sun, 31 May 2009 03:38:16 +0000</pubDate>
		<dc:creator>谭俊青</dc:creator>
		
		<category><![CDATA[news / tools]]></category>

		<guid isPermaLink="false">http://www.mysqlab.net/blog/?p=239</guid>
		<description><![CDATA[原文：http://blogs.sun.com/realneel/entry/inniostat_innodb_io_statistics
文中工具用到solaris下的dtrace数据，因此linux下不能使用.
例子：
#./inniostat -h
Usage: inniostat [-h] [-d] [-p pid] [interval]
                 -h : Print this message
                 -p : MySQL PID
       [...]]]></description>
			<content:encoded><![CDATA[<p>原文：<a href="http://blogs.sun.com/realneel/entry/inniostat_innodb_io_statistics">http://blogs.sun.com/realneel/entry/inniostat_innodb_io_statistics</a></p>
<p>文中工具用到solaris下的dtrace数据，因此linux下不能使用.</p>
<p>例子：</p>
<pre>#./inniostat -h
Usage: inniostat [-h] [-d] [-p pid] [interval]
                 -h : Print this message
                 -p : MySQL PID
                 -d : Dump dtrace script being used

# ./inniostat
 __physical__  ___Innodb___ ____read____     ______write______
   r/s    w/s    r/s    w/s   data    pre    log dblbuf dflush     Time
    24    121     24     50     24      0     50      0      0 16:00:57
    26    130     26     51     26      0     51      0      0 16:00:58
    18    134     18     54     18      0     54      0      0 16:00:59
    25    129     25     51     25      0     51      0      0 16:01:00
    29    116     46     47     17     29     47      0      0 16:01:01
    10    140     10    132     10      0     52      0     80 16:01:02
    29    129     35     53     14     21     53      0      0 16:01:03</pre>
<table id="toolop" border="0">
<tbody>
<tr>
<th>Col</th>
<th>Description</th>
</tr>
<tr>
<td class="col1">r/s</td>
<td class="col2">Physical (Actual) reads per sec</td>
</tr>
<tr>
<td class="col1">w/s</td>
<td class="col2">Physical (Actual) writes per sec</td>
</tr>
<tr>
<td class="col1">r/s</td>
<td class="col2">Reads issued by Innodb per sec</td>
</tr>
<tr>
<td class="col1">w/s</td>
<td class="col2">Writes issued by Innodb per sec</td>
</tr>
<tr>
<td class="col1">data</td>
<td class="col2">Regular Reads issued by Innodb to the datafiles per sec</td>
</tr>
<tr>
<td class="col1">pre</td>
<td class="col2">Prefetch Reads issued by Innodb to the datafiles per sec</td>
</tr>
<tr>
<td class="col1">log</td>
<td class="col2">Log writes issued by Innodb per sec</td>
</tr>
<tr>
<td class="col1">dblbuf</td>
<td class="col2">Double buffer writes per sec</td>
</tr>
<tr>
<td class="col1">dflush</td>
<td class="col2">Writes due to flushing of Innodb buffers to disk.</td>
</tr>
</tbody>
</table>
<hr />
<p>

© 谭俊青<!-- (谭俊青) --> 发布在 <a href="http://www.mysqlab.net/blog">MySQL实验室</a>, 2009.

<br/>
可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/" target="_blank">版权声明</a>


<br/>
链接: <a href="http://www.mysqlab.net/blog/2009/05/inniostat-innodb-io-statistics/">http://www.mysqlab.net/blog/2009/05/inniostat-innodb-io-statistics/</a>


<br/>
<!-- | <a href="http://www.mysqlab.net/blog/2009/05/inniostat-innodb-io-statistics/#comments">无评论</a> -->


<br/>
Add to
<a href="http://del.icio.us/post?url=http://www.mysqlab.net/blog/2009/05/inniostat-innodb-io-statistics/&title=Inniostat - InnoDB IO Statistics">del.icio.us</a>


<br/>
标签: <br/>

</p>]]></content:encoded>
			<wfw:commentRss>http://www.mysqlab.net/blog/2009/05/inniostat-innodb-io-statistics/feed/</wfw:commentRss>
		</item>
		<item>
		<title>6.0.11 will be the last release of MySQL 6.0</title>
		<link>http://www.mysqlab.net/blog/2009/05/6011-will-be-the-last-release-of-mysql-60/</link>
		<comments>http://www.mysqlab.net/blog/2009/05/6011-will-be-the-last-release-of-mysql-60/#comments</comments>
		<pubDate>Mon, 25 May 2009 08:17:50 +0000</pubDate>
		<dc:creator>谭俊青</dc:creator>
		
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://www.mysqlab.net/blog/?p=235</guid>
		<description><![CDATA[来源: http://lists.mysql.com/packagers/418
MySQL 6.0.11-alpha, a new version of the MySQL database system has been
released.  The main page for MySQL 6.0 release is at

  http://www.mysql.com/mysql60/

6.0.11 will be the last release of 6.0.  After this we will be
transitioning into a New Release Model for the MySQL Server

  http://forge.mysql.com/wiki/Development_Cycle

The goal of this transition is to enable [...]]]></description>
			<content:encoded><![CDATA[<p>来源: <a href="http://lists.mysql.com/packagers/418">http://lists.mysql.com/packagers/418</a></p>
<pre>MySQL 6.0.11-alpha, a new version of the MySQL database system has been
released.  The main page for MySQL 6.0 release is at

  <a rel="nofollow" href="http://www.mysql.com/mysql60/">http://www.mysql.com/mysql60/</a>

6.0.11 will be the last release of 6.0.  After this we will be
transitioning into a New Release Model for the MySQL Server

  <a rel="nofollow" href="http://forge.mysql.com/wiki/Development_Cycle">http://forge.mysql.com/wiki/Development_Cycle</a>

The goal of this transition is to enable more frequent and timely
releases of the MySQL Server.</pre>
<pre>希望新的Release Model能给mysql带来更大的活力。</pre>
<hr />
<p>

© 谭俊青<!-- (谭俊青) --> 发布在 <a href="http://www.mysqlab.net/blog">MySQL实验室</a>, 2009.

<br/>
可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/" target="_blank">版权声明</a>


<br/>
链接: <a href="http://www.mysqlab.net/blog/2009/05/6011-will-be-the-last-release-of-mysql-60/">http://www.mysqlab.net/blog/2009/05/6011-will-be-the-last-release-of-mysql-60/</a>


<br/>
<!-- | <a href="http://www.mysqlab.net/blog/2009/05/6011-will-be-the-last-release-of-mysql-60/#comments">无评论</a> -->


<br/>
Add to
<a href="http://del.icio.us/post?url=http://www.mysqlab.net/blog/2009/05/6011-will-be-the-last-release-of-mysql-60/&title=6.0.11 will be the last release of MySQL 6.0">del.icio.us</a>


<br/>
标签: <br/>

</p>]]></content:encoded>
			<wfw:commentRss>http://www.mysqlab.net/blog/2009/05/6011-will-be-the-last-release-of-mysql-60/feed/</wfw:commentRss>
		</item>
		<item>
		<title>BBU电池电量的监控</title>
		<link>http://www.mysqlab.net/blog/2009/05/bbu%e7%94%b5%e6%b1%a0%e7%94%b5%e9%87%8f%e7%9a%84%e7%9b%91%e6%8e%a7/</link>
		<comments>http://www.mysqlab.net/blog/2009/05/bbu%e7%94%b5%e6%b1%a0%e7%94%b5%e9%87%8f%e7%9a%84%e7%9b%91%e6%8e%a7/#comments</comments>
		<pubDate>Mon, 18 May 2009 23:12:38 +0000</pubDate>
		<dc:creator>谭俊青</dc:creator>
		
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://www.mysqlab.net/blog/?p=220</guid>
		<description><![CDATA[Author: ivan@mysqlab.net 
早上6点被电话叫醒，有应用报警，根据经验应该是raid卡电池没电了，一查果然有2台机器没电了，还有2台已经充电完成。

[root@userminfo2:2.20 ~]# MegaCli -AdpBbuCmd -GetBbuStatus -aALL
BBU status for Adapter: 0
BatteryType: TBBU
Voltage: 3858 mV
Current: 932 mA
Temperature: 24 C
Firmware Status: 00000008
Battery state: 
GasGuageStatus:
  Fully Discharged        : No
  Fully Charged           : No
  Discharging             : No
  Initialized             : Yes
  Remaining Time Alarm   [...]]]></description>
			<content:encoded><![CDATA[<p>Author: ivan@mysqlab.net </p>
<p>早上6点被电话叫醒，有应用报警，根据经验应该是raid卡电池没电了，一查果然有2台机器没电了，还有2台已经充电完成。</p>
<div class="dean_ch" style="white-space: wrap;">
<p>[root@userminfo2:2.20 ~]# MegaCli -AdpBbuCmd -GetBbuStatus -aALL</p>
<p>BBU status for Adapter: 0<br />
BatteryType: TBBU<br />
Voltage: 3858 mV<br />
Current: 932 mA<br />
Temperature: 24 C<br />
Firmware Status: 00000008<br />
Battery state: <br />
GasGuageStatus:<br />
  Fully Discharged        : No<br />
  Fully Charged           : No<br />
  Discharging             : No<br />
  Initialized             : Yes<br />
  Remaining Time Alarm    : No<br />
  Remaining Capacity Alarm: No<br />
  Discharge Terminated    : No<br />
  Over Temperature        : No<br />
  Charging Terminated     : No<br />
  Over Charged            : No</p>
<p>Relative State of Charge: 17 %<br />
Charger Status: In Progress<br />
Remaining Capacity: 253 mAh<br />
Full Charge Capacity: 1502 mAh<br />
isSOHGood: Yes</div>
<p><br/></p>
<div class="dean_ch" style="white-space: wrap;">
[root@user-stat1:2.31 ~]# MegaCli -AdpBbuCmd -GetBbuStatus -aALL<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />
BBU status for Adapter: 0</p>
<p>BatteryType: TBBU<br />
Voltage: 4065 mV<br />
Current: 0 mA<br />
Temperature: 22 C<br />
Firmware Status: 00000000</p>
<p>Battery state: </p>
<p>GasGuageStatus:<br />
&nbsp; Fully Discharged &nbsp; &nbsp; &nbsp; &nbsp;: No<br />
&nbsp; Fully Charged &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; : Yes<br />
&nbsp; Discharging &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; : Yes<br />
&nbsp; Initialized &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; : Yes<br />
&nbsp; Remaining Time Alarm &nbsp; &nbsp;: No<br />
&nbsp; Remaining Capacity Alarm: No<br />
&nbsp; Discharge Terminated &nbsp; &nbsp;: No<br />
&nbsp; Over Temperature &nbsp; &nbsp; &nbsp; &nbsp;: No<br />
&nbsp; Charging Terminated &nbsp; &nbsp; : Yes<br />
&nbsp; Over Charged &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;: No</p>
<p>Relative State of Charge: 100 %<br />
Charger Status: Complete<br />
Remaining Capacity: 1639 mAh<br />
Full Charge Capacity: 1642 mAh<br />
isSOHGood: Yes</div>
<p><br/></p>
<p>其实这问题都遇上N次了，为啥都遇上问题才得以解决？就是因为对BBU电量比例并没有监控。</p>
<p>对于出现问题的机器，一般临时处理办法都是更改trx参数(这是个非常危险的操作，如果这段时间按掉电死机之类的就会造成数据丢失)，而这些都是可以预警和自动完成的。</p>
<p>新的监控系统将加入Raid卡BBU电池电量的监控，实现预警。至于是否自动更改redo日志的写策略可以配置，根据不同业务需求而定。</p>
<p>ivan 于 2009-05-19 早上6点</p>
<hr />
<p>

© 谭俊青<!-- (谭俊青) --> 发布在 <a href="http://www.mysqlab.net/blog">MySQL实验室</a>, 2009.

<br/>
可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/" target="_blank">版权声明</a>


<br/>
链接: <a href="http://www.mysqlab.net/blog/2009/05/bbu%e7%94%b5%e6%b1%a0%e7%94%b5%e9%87%8f%e7%9a%84%e7%9b%91%e6%8e%a7/">http://www.mysqlab.net/blog/2009/05/bbu电池电量的监控/</a>


<br/>
<!-- | <a href="http://www.mysqlab.net/blog/2009/05/bbu%e7%94%b5%e6%b1%a0%e7%94%b5%e9%87%8f%e7%9a%84%e7%9b%91%e6%8e%a7/#comments">2 comments</a> -->


<br/>
Add to
<a href="http://del.icio.us/post?url=http://www.mysqlab.net/blog/2009/05/bbu%e7%94%b5%e6%b1%a0%e7%94%b5%e9%87%8f%e7%9a%84%e7%9b%91%e6%8e%a7/&title=BBU电池电量的监控">del.icio.us</a>


<br/>
标签: <br/>

</p>]]></content:encoded>
			<wfw:commentRss>http://www.mysqlab.net/blog/2009/05/bbu%e7%94%b5%e6%b1%a0%e7%94%b5%e9%87%8f%e7%9a%84%e7%9b%91%e6%8e%a7/feed/</wfw:commentRss>
		</item>
		<item>
		<title>MegaCli 常用命令备查</title>
		<link>http://www.mysqlab.net/blog/2009/05/megacli-%e5%b8%b8%e7%94%a8%e5%91%bd%e4%bb%a4%e5%a4%87%e6%9f%a5/</link>
		<comments>http://www.mysqlab.net/blog/2009/05/megacli-%e5%b8%b8%e7%94%a8%e5%91%bd%e4%bb%a4%e5%a4%87%e6%9f%a5/#comments</comments>
		<pubDate>Thu, 14 May 2009 10:33:10 +0000</pubDate>
		<dc:creator>谭俊青</dc:creator>
		
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://www.mysqlab.net/blog/?p=211</guid>
		<description><![CDATA[=======================================================
 Display BBU Status Information
=======================================================
 MegaCli -AdpBbuCmd -GetBbuStatus -aN&#124;-a0,1,2&#124;-aALL
 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-
 MegaCli -AdpBbuCmd -GetBbuStatus -aALL


=======================================================
 Display BBU Capacity Information
=======================================================
 MegaCli -AdpBbuCmd -GetBbuCapacityInfo -aN&#124;-a0,1,2&#124;-aALL
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-
 MegaCli -AdpBbuCmd -GetBbuCapacityInfo -aALL
 
=======================================================
 Display BBU Design Parameters
=======================================================
 MegaCli -AdpBbuCmd -GetBbuDesignInfo -aN&#124;-a0,1,2&#124;-aALL
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-
 MegaCli -AdpBbuCmd -GetBbuDesignInfo -aALL
 
=======================================================
 Display Current BBU Properties
=======================================================
 MegaCli -AdpBbuCmd -GetBbuProperties -aN&#124;-a0,1,2&#124;-aALL
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-
 MegaCli -AdpBbuCmd -GetBbuProperties -aALL
 
=======================================================
 Start BBU Learning Cycle
=======================================================
Description Starts [...]]]></description>
			<content:encoded><![CDATA[<p>=======================================================<br />
<span style="color: #ff0000;"> Display BBU Status Information</span><br />
=======================================================<br />
<span style="color: #0000ff;"> MegaCli -AdpBbuCmd -GetBbuStatus -aN|-a0,1,2|-aALL</span><span style="color: #ff6600;"><br />
</span> &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
<span style="color: #008000;"> MegaCli -AdpBbuCmd -GetBbuStatus -aALL</span></p>
<p><span style="color: #008000;"><br />
</span></p>
<p>=======================================================<br />
<span style="color: #ff0000;"> Display BBU Capacity Information</span><br />
=======================================================<br />
<span style="color: #0000ff;"> MegaCli -AdpBbuCmd -GetBbuCapacityInfo -aN|-a0,1,2|-aALL</span><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
<span style="color: #008000;"> MegaCli -AdpBbuCmd -GetBbuCapacityInfo -aALL</span></p>
<p> <br />
=======================================================<br />
<span style="color: #ff0000;"> Display BBU Design Parameters</span><br />
=======================================================<br />
<span style="color: #0000ff;"> MegaCli -AdpBbuCmd -GetBbuDesignInfo -aN|-a0,1,2|-aALL</span><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
<span style="color: #008000;"> MegaCli -AdpBbuCmd -GetBbuDesignInfo -aALL</span></p>
<p> <br />
=======================================================<br />
<span style="color: #ff0000;"> Display Current BBU Properties</span><br />
=======================================================<br />
<span style="color: #0000ff;"> MegaCli -AdpBbuCmd -GetBbuProperties -aN|-a0,1,2|-aALL</span><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
<span style="color: #008000;"> MegaCli -AdpBbuCmd -GetBbuProperties -aALL</span></p>
<p> <br />
=======================================================<br />
<span style="color: #ff0000;"> Start BBU Learning Cycle</span><br />
=======================================================<br />
Description Starts the learning cycle on the BBU.<br />
No parameter is needed for this option.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
<span style="color: #0000ff;"> MegaCli -AdpBbuCmd -BbuLearn -aN|-a0,1,2|-aALL</span></p>
<p> <br />
=======================================================<br />
<span style="color: #ff0000;"> Change Virtual Disk Cache and Access Parameters</span><br />
=======================================================<br />
Description Allows you to change the following virtual disk parameters:<br />
-WT (Write through), WB (Write back): Selects write policy.<br />
-NORA (No read ahead), RA (Read ahead), ADRA (Adaptive read ahead): Selects read policy.<br />
-Cached, -Direct: Selects cache policy.<br />
-RW, -RO, Blocked: Selects access policy.<br />
-EnDskCache: Enables disk cache.<br />
-DisDskCache: Disables disk cache.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
<span style="color: #0000ff;"> MegaCli -LDSetProp { WT | WB|NORA |RA | ADRA|-Cached|Direct} |<br />
{-RW|RO|Blocked} |<br />
{-Name[string]} |<br />
{-EnDskCache|DisDskCache} –Lx |<br />
-L0,1,2|-Lall -aN|-a0,1,2|-aALL</span><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
<span style="color: #008000;"> MegaCli -LDSetProp WT -L0 -a0</span></p>
<p> <br />
=======================================================<br />
<span style="color: #ff0000;"> Display Virtual Disk Cache and Access Parameters</span><br />
=======================================================<br />
<span style="color: #0000ff;"> MegaCli -LDGetProp -Cache | -Access | -Name | -DskCache -Lx|-L0,1,2|<br />
-Lall -aN|-a0,1,2|-aALL</span><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
Displays the cache and access policies of the virtual disk(s):<br />
-WT (Write through), WB (Write back): Selects write policy.<br />
-NORA (No read ahead), RA (Read ahead), ADRA (Adaptive read ahead): Selects read policy.<br />
-Cache, -Cached, Direct: Displays cache policy.<br />
-Access, -RW, -RO, Blocked: Displays access policy.<br />
-DskCache: Displays physical disk cache policy.</p>
<hr />
<p>

© 谭俊青<!-- (谭俊青) --> 发布在 <a href="http://www.mysqlab.net/blog">MySQL实验室</a>, 2009.

<br/>
可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/" target="_blank">版权声明</a>


<br/>
链接: <a href="http://www.mysqlab.net/blog/2009/05/megacli-%e5%b8%b8%e7%94%a8%e5%91%bd%e4%bb%a4%e5%a4%87%e6%9f%a5/">http://www.mysqlab.net/blog/2009/05/megacli-常用命令备查/</a>


<br/>
<!-- | <a href="http://www.mysqlab.net/blog/2009/05/megacli-%e5%b8%b8%e7%94%a8%e5%91%bd%e4%bb%a4%e5%a4%87%e6%9f%a5/#comments">无评论</a> -->


<br/>
Add to
<a href="http://del.icio.us/post?url=http://www.mysqlab.net/blog/2009/05/megacli-%e5%b8%b8%e7%94%a8%e5%91%bd%e4%bb%a4%e5%a4%87%e6%9f%a5/&title=MegaCli 常用命令备查">del.icio.us</a>


<br/>
标签: <br/>

</p>]]></content:encoded>
			<wfw:commentRss>http://www.mysqlab.net/blog/2009/05/megacli-%e5%b8%b8%e7%94%a8%e5%91%bd%e4%bb%a4%e5%a4%87%e6%9f%a5/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
