厦门outing

8.14~8.16,技术保障部厦门outing。算起来这是到到淘宝以后的第三次大部门outing,一次临安,一次安吉,这次总算是跨出了浙江省的范围,来到美丽的海边城市厦门。来回都是动车,六个小时的车程,100多人的队伍,打牌聊天,到也不觉旅途的漫长。

淘宝DBA团队有了更多的新成员,难得的在鼓浪屿留下一张合影,可惜的是还有几位没能聚齐。
淘宝DBA厦门outing

虽然鼓浪屿上的建筑各具特色,厦门大学的校园风景怡人,南普陀的放生池乌龟成群,不过厦门的大海有点让人失望。
厦门海边小男孩

当然,海水一般,海鲜还是不一般的,15号晚上去了传说中的小眼镜,生意好得出奇,在外面露天排号差不多一个小时才轮到,好在味道还是对得起传说中的大名的。路上还有个小插曲,因为人多,需要打两辆车,另外几个同事打的一辆出租车,一说去小眼镜,师傅说小眼镜没空位,就被赶下车了,囧。厦门这边的服务水平有待提高,一不小心就可能碰个钉子。

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

MySQL还能走多远?

MySQL最近这一年多可谓命途多舛。先是被日薄西山的Sun收购,又随Sun一起嫁入Oracle。因此不少人开始担忧起MySQL的前途来。其实这是大可不必的,一个产品的生命力,在于客户和市场。只要客户和市场认可了,不怕没有人挤破头来发展。

Oracle虽然在市场上称王,但论数据库的普及程度,估计接触过MySQL的人还是要更多一些,LAMP大名,早已名声在外。只是大部分接触MySQL的人,大多只是将MySQL做为一个简单的数据盒子,并没有能更深入的研究。这也跟应用场景有关。MySQL在之前大多只是在一些小应用中小打小闹,在真正的企业级市场,基本没他什么事。

但互联网企业这几年的逐渐红火,这种情况开始改变。一个成功的网站,系统所面临的压力,在一些传统行业是很难想像的。而大多数网站在初创时,基于技术和资金等多方面的考虑,往往都乐于选择开源的MySQL做为数据库解决方案。随着网站业务的发展,压力成指数倍的增加,MySQL数据库的架构设计便便的非常重要,公司也会愿意投入大量的人力资源去深入的研究MySQL。这就形成了一个良性的循环。

MySQL随着web2.0一起红火,MySQL DBA的职位也开始变得吃香。然而MySQL DBA人才的相对匮乏,也将可能成为制约MySQL发展的一道坎。好在国内这几年不断有一些优秀的MySQL DBA开始展露头角。比如阿里巴巴的小伙子简朝阳,毕业不过短短三年,从Oracle转向MySQL的时间更短,却能潜心研究,最近正式出版的新书《MySQL性能调优与架构设计》,可以说是填补国内关于MySQL架构类数据的空白。相信对于MySQL的普及推广,一定能起到积极的作用。

是的,不用怀疑。MySQL一定能走很远。MySQL DBA一定大有可为。正是相信这一点,我在前几天注册了一个域名:http://mysqldba.net,并用discuz!搭建了一个论坛,希望MySQL DBA们能够多多交流,共同进步。希望以后招聘MySQL DBA,不至于一年也难招到一位合适的了,呵呵。

MSN上的闲聊

A: 现在搞起mysql了?
B: 嗯
A: 现在比较多的项目在使用mysql了,所以现在mysql也变成一种趋势了
B: 在互联网行业,MySQL分布式是大势所趋
A: 呵呵,是的,现在我们这边也有很多mysql的项目在线上
B: 不过目前国内MySQL的交流是不太多
B: 而且要招一个合适的人相当的难
A: 呵呵,是的,很多mysql都是从Oracle转过来或者是带着做的,不过有Oracle的技术,转或者带着做问题还不是很大
A: 对于互联网的应用来说,DB这块主要的还是HA这块是重中之中,Mysql这块在分布式来说做的还行
B: 基本的技术原理什么的是没啥难的,不过要用好,尤其是分布式架构,要做好还是需要功力的
A: 呵呵,是的,对于技术这东西很多还是考经验和实践,上了几个项目后会有很大的积累
B: 嗯,是这样的
B: 去年我们开始推MySQL的时候,开发人员都有很大的担心和抵触
B: 现在是想不让他们用都不行,哈哈
A: 哈哈,其实mysql用起来还行,有些数据仓库还使用的呢
A: 但是对于大容量,高并发的事务处理,mysql还是有待提高的
A: 现在很多做互联网的,除了核心库外,别的基本上都在往这上面转,其实很多时候还是人的心理面在作梗
B: 分布式,其实把很多东西都交给应用架构了
B: 对于数据库本身,要求反倒很低了,就是用来存放持久数据而已
A: 没错,那样DB真的是DB了,就是简单的存储了
A: 哈哈,没错,哎,很多东西大家的想法很一直
B: 嗯,技术就那么点,关键是把想法落实,做出东西来
A: 是的,所以说你们那边还是比较幸福的
很多东西好落实
B: 我们也是在不断摸索
B: 不过摸索的过程,是比较长经验值的
A: 是的,摸索只是一种开始,实施的过程才是真正验证摸索的阶段,如果只有摸索,没有实践,那也只是空话,所以说你们那边是幸福的,很多时候有开始,有结束,但是很多时候,很多单位不是这样,摸索永远当作一种摸索,没有结束,呵呵

http://www.mysqldba.net/viewthread.php?tid=18&extra=page%3D1

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