orczhou

  • InnoDB Plugin新特性:压缩表

    ·

    Plugin的一个重要的特性就是增加了压缩存储。对于数据中有很多Long column(包括TEXT BLOB或者大VARCHAR)的场景能够大幅节约空间,并提升效率。

    1. 谁需要压缩?

    在InnoDB中,是以16K的页(Page)为基本的存储单位的。我们知道,InnoDB是的数据是在Clustered index中存储的,在Secondary index中仅存储对应数据的PK。Clustered index和Secondary index都是B-Tree结构的,所以对InnoDB数据页和索引页的压缩很大程度上就是对B-Tree节点页的压缩

    在InnoDB中,除了B-Tree节点页,还有一类数据页(Page),称为“overflow page”。当需要存储Long column时,如果当前页能够完全存储全部字段时,则存储在当前页中;如果当前页不足以存储全部,则InnoDB选择最长的字段,将其存储到一个单独的页中,我们称这样的页为“overflow page”,而原数据页仅仅需存储一个20Bytes的指针。参考下图:

    InnoDB_overflow_page

    所以InnoDB除了有上面的B-Tree页外,InnoDB还存储overflow页。事实上,需要压缩的数据页也就是这两类,InnoDB为了获得更好的效率,针对这两类数据页的压缩是使用不同的策略的。

    (more…)

  • InnoDB Plugin文件格式(概述)

    ·

    本文将介绍InnoDB Plugin数据表格式的基本概念。

    1. 配置参数innodb_file_format

    这是一个很容易混淆的概念。目前,在InnoDB Plugin(1.0.6)配置文件中innodb_file_format支持两种:Antelope/ˈæntɪləʊp/、Barracuda/ˌbærəˈkjuːdə/。他们分别是两种文件格式的代号,在未来版本中,InnoDB将继续延续这种代号机制,它们会是Antelope, Barracuda, Cheetah, Dragon, Elk, Fox等等。

    Antelope_Barracuda

    (more…)

  • Google.cn没了

    ·

    在发表公开声明后的2个月,Google.cn终于没了,现在访问Google.cn会直接指向http://www.google.com.hk

    http://www.google.com.hk还会看到一行谷歌的欢迎语:“欢迎您来到谷歌搜索在中国的新家”:

    Google.com.hk

    现在http://www.google.com.hk还非常不稳定,今早测试,基本上80%请求会被拦截(?):

    Reset.hk

    好了,Google.cn终于达到了Facebook Twitter的高度了。不一样的是谷歌是主动退出。

    特撰此文,以致哀悼。

    Update:刚听朋友说,“有关部门”将“力拓,谷歌,推特,疫苗”定为新的敏感词。

    Update:翻墙增加新规则:*://www.google.com.hk/*

  • InnoDB Plugin安装

    ·

    InnoDB Plugin较之Built-in版本新增了很多特性:包括快速DDL、压缩存储等,而且引入了全新的文件格式Barracuda。众多测试也表明,Plugin在很多方面优于Built-in版本。当前Plugin版本是1.0.6,一个RC版本。MySQL的官方版本中从5.1.42开始也内置了InnoDB Plugin1.0.6。

    这里简单的介绍InnoDB Plugin的编译安装

    下载源码

    这里使用MySQL5.1.45和InnoDB Plugin1.0.6版本安装。需要单独下载MySQL和InnoDB Plugin的源码:MySQL Community ServerInnoDB Plugin

    解压并替代源码

    我们需要使用下载的Plugin源码代替MySQL源码中的storage/innobase目录。

    tar zxvf mysql-5.1.45.tar.gz
    $tar zxvf innodb_plugin-1.0.6.tar.gz
    $rm -rf mysql-5.1.45/storage/innobase
    $mv innodb_plugin-1.0.6 mysql-5.1.45/storage/innobase
    (more…)
  • What’s the Right Thing to Do

    ·

    一次偶然看到这个视频课程的第一集,被里面的话题、辩论深深的吸引。后来得知视频共有十二集,当时虽在网上找到了全部视频,但只有第一集是有中文字幕的,所以一直没看完。过不久,shooter上终于出了英文字幕,再过一周Youku上有达人发布了前五集的中文字幕的版本。这才完整的看完前五集。期待后续中文字幕版本能够慢慢出来。另外,全12集的英文版在Youtube上很容找到

    视频是哈佛大学的一门哲学课程:《Justice (Harvard University)》。据说这是“每一届的哈佛本科新生选的最多的公共课”。

    课程从几个案例出发,案例都需要你做一些很“残酷”的决定并思考、辩论为什么认为这样做是正确的。课程并没有最终告诉你,什么是正义,也无法决定怎样做是正义的,它给出的是我们应该怎样思考这些问题,每一种思考逻辑背后可能有哪些合理处或漏洞。课程介绍了历史上很多著名的哲学家的观点和一些历史上的真实案例,最后逐步引申出了很多现代社会基本行为(自由、税收、基本权利、法律等)背后的逻辑和最基本的出发点。

    一起打开思维的一扇门:

    精彩程度:fivestar

    深刻程度:fivestar

    以下是第一集:(前五集中字版 全十二集

    (more…)

  • Vim使用简介

    ·

            "工欲善其事,必先利其器"
                                       《论语》

    写在前头:vim是Linux下最常用的编辑工具,一般认为vim是Vi IMproved(增强的vi)的缩写,很多时候我们也把vim称为vi。vi是一个上手比较难,但是一旦掌握,就能大大提高效率的工具。本文介绍一些Vim使用的基本概念,读者可以根据本文给出参考文献继续深入了解Vim。

    Updates

    在vim中执行命令@202405

    有时候,我们修改完文件后,需要立刻进行调试查看效果,这时候,通常我们需要执行一些shell命令以查看效果。这时候,我们可以使用如下方式暂停vim编辑,以进入命令行的执行:

    • 使用!{command}.执行命令,这里的{command}即代表需要执行的命令
    • 使用CTRL+Z将当前的vim进程放到后台,并回到shell,执行完命令后,使用fg返回vim继续编辑

    关于这两个名的使用,可以参考vim手册中的小结:Go away and come back@VIM USER MANUAL,较为详细的介绍了这两种方式。

    1. 认识Vi

    直接使用vi(或者vim)命令,有时会看到如下的内容

    Vim is open source and freely distributable ~ Help poor children in Uganda! ~ type :help iccf<Enter> for information
    (more…)