btrfs文件系统

最近一位同事在美国参加LSF(Linux Storage and Filesystem Summit)回来,分享了他的总结,非常的精彩。这是一个没有演讲、没有照片、没有录像的讨论为主的会议,因此参会者基本上都是比较资深的Linux内核和文件系统的开发者,参加这个讨论会的有不少中国人(华人),相比起我们这些只是理解使用某个数据库产品的DBA来说,这是值得我们敬仰的一群人。也许在不远的将来,淘宝的DBA团队也不仅仅是一个维护某种数据库产品的团队,也能在开源数据库领域内贡献自己的力量,这也正是我们接下来招聘的思路所在。淘宝DBA团队,也已经建立了开源数据库研究小组,当前主要是MySQL/InnoDB,如果你是一位优秀的c/c++开发者,如果你对MySQL/InnoDB等开源数据库在大规模大并发量的网站应用有兴趣,如果你想有一天,能够为开源数据库提供Patch,欢迎加入我们,不管之前你有没有DBA经验,也不管你还是个应届毕业生(我的邮箱jiangfeng # taobao.com,你懂的)。

扯远了,这里我想说的是,从这个报告我注意到了btrfs文件系统。前一段时间,也一直在考虑,在Linux上部署MySQL数据库,究竟什么样的文件系统会比较适合?或者说什么文件系统适合不同的数据库环境?之前的思路,更多的集中在xfs, ext4等已经比较熟悉的文件系统上,上周去北京出差的时候,本来还想找前面的这位同事探讨一下ext4是否适合在数据库产品环境中部署,而当时他正好在美国参加LSF,因此也错过了机会。不过从他的这个总结来看,ext4已经达到了产品级别的稳定性,应该可以尝试,接下来可能会安排一些测试,这是后话。

对于btrfs,简单的从字面来理解,就是以B-Tree作为组织元数据的数据结构,相比于ext2/ext3使用线性表来保存目录等结构,好处在于查找,插入和删除操作都很高效。btrfs另外一个比较重要的特性是基于extent来分配管理文件空间,而不是传统的block。看到这里,作为DBA,其实可以很明显的看到,这和Oracle数据库组织管理数据的思路何其一致(如果寻根问祖,发现这个btrfs根本就是由Oracle最初在2007年开放出来的项目,本是同根生啊)。关于btrfs更详细的信息,可以参考这里,还有这里。另外,btrfs对于目前热点的SSD磁盘也提供了特别的支持,因此被认为是Linux未来文件系统的趋势所在,虽然目前还是开发版本,但值得关注。

实际上可以做一个简单的类比,就能对btrfs有一个更加感性的认识,可以将btrfs看作是Linux版本的ZFS,其设计思路和特性,很多都是借鉴自ZFS,其主要特性如下:

  • Copy on Write
  • Extent based file storage (2^64 max file size)
  • Space efficient packing of small files
  • Space efficient indexed directories
  • Dynamic inode allocation
  • Writable snapshots
  • Subvolumes (separate internal filesystem roots)
  • Object level mirroring and striping
  • Checksums on data and metadata (multiple algorithms available)
  • Compression
  • Integrated multiple device support, with several raid algorithms
  • Online filesystem check
  • Very fast offline filesystem check
  • Efficient incremental backup and FS mirroring
  • Online filesystem defragmentation

淘宝图片存储与CDN系统[转]

转载一个PPT,演讲者是淘宝核心系统研发部负责人,LVS开发者,淘宝开源平台的推动者, 章文嵩(@wensong)博士。另据不可靠消息,PPT中提到的海量图片存储系统TFS,将于9月份在淘蝌蚪上开源。

开源的淘宝

非常低调的,淘宝开源平台今天上线了。并且一款重量级的产品在平台上正式开源:Tair

Tair是淘宝内部广泛使用的核心分布式缓存系统,在数据库前面承担了大量的访问压力,基本上你能想到的电子商务网站访问压力较大的应用场景中,都有Tair的缓存发挥力量的地方。非常期待Tair开源以后能有更多优秀的开发者加入,让Tair能够更加健壮的发展,这样作为DBA,我们的日子就可以过得更轻松一点了,毕竟大压力的互联网应用中,缓存为王

Tair总体架构图(refer):

Tair只是一个开始,接下来,淘宝更多的核心底层与具体业务逻辑无关的产品将陆续开源,从今天开始,淘宝将是一个开源的淘宝,希望有一天,DBA也能为这个开源平台贡献一份力量。

谨以此帖,猛顶淘蝌蚪

无觅相关文章插件,快速提升流量