我的工具在eBay

    在eBay工作的3年半时间里, 除了做DBA外, 还写了一些工具, 其中有几个得到了很好的应用, 现在回忆一下用得最好的有四个.

    ocidiff. 两个数据库用户之间表(及其他对象)结构双向对比, 及单向自动同步的脚本. 主要解决一些边缘的测试数据库和中心测试环境表结构不一致的问题, 原因是eBay太大了, 测试环境有几十套, 维护同步并不容易, 还是用脚本来得爽. 上去后解决了不少测试环境表缺列或缺少对象的问题. 耗了两个月时间才基本上完善的.

    rsync2. rsync自行修改过的版本, 一开始是为了解决大文件传输的问题, Solaris上的软件都很老, 那时rcp,scp,自带的rsync都不支持大于2GB的文件, 及不同机器间rsync版要不一致, 加上服务器的数量太多, 就改成了rsync2了, 放在公共的目录上. 后来发现自带的rsync总用了TCP KEEP ALIVE功能, 网络断了后rsync会保持连接, 永不断开. 在黄勇的帮助下, 改掉了这一点, 并加快了rsync传输的速度, 由此还得了一个奖.

    compare any column. 这个和ocidiff有些相似, 都是比较表结构的. 但这个程序只比较表及索引结构, 并且可以实现多点比较(最多实现了40多个机器同名表的结构对比), ocidiff只实现了两个点之间的比较, 用于检查对表结构的修改是否都应用到了所有水平拆分的节点上. 为我们当时提高数据库维护质量带来一定的帮助.

    add column. 这个程序逻辑很简单, 就是做DDL遇到Resource Busy时能休息一秒钟后自动重试, 并且自动检查有没有Trigger, 如有自动编译一下, 每一个DDL后都pause一下, 等打回车才继续. 结合Shell脚本, 在水平拆分的库上, 做表结构变更时, 带来了很大的方便性.

    其他有些工具, 用得很少, 如ociuldr和AnySQL这两个, 后来据了解说是我没宣传好, 导致很多人还在用spool导出大数据量的文本文件. 来到杭州新公司后, 也用了一些以前写的工具, 下一次介绍一下吧.

    事隔半年, 不知道现在在用的还有多少, 上面的四个应当都在用, 毕竟才半年啊.

留言 (2)

very efficient tools.

no new tool now..

整了一个rsync2+裸设备拷贝功能的东东,取名为rawsync。

发表留言:

« Previous | Main | Next »

英语900句 | English 900

  • He is a doctor. He has his own practice.
  • 他是个医生, 他自己开业.
  • Do you have any plan for your career?
  • 你对未来有什么计划吗?
  • I want to be a pilot of possible.
  • 如果可能的话, 我想做个飞行员.
  • I hope that I can get a decent job with a good salary.
  • 我希望有一份既体面, 收入又高的工作.
  • I have an interview next week.
  • 我下周要参加考试.